High GPU usage in proton run games

How can I diagnose or fix this issue:

Was having issues with my nvidia, so I upgraded to a Radeon with more memory (see inxi). I thought I would have a much better time with performance, but graphics in some games don’t seem to load well, and I get framerate issues (Monster Hunter World is unplayable even with mods to remove particles). I used radeon-profile while running some games and consistently found the usage to be quite high:

  • Baldur’s Gate 3 runs at 80-90%
  • Dark Souls 3 and Horizon Zero Dawn at 60-70%
  • Warframe maxes out to 100% and the fans make it sound like it’s almost overclocking

CPU usage also reads 4.0 GHz 50% or more pretty frequently, but I’m not sure if that means much. The number seems higher since the new GPU was installed.

sudo garuda-inxi
System:
  Kernel: 6.6.6-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc available: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=07673fcd-7381-4a95-904f-ae4a01aa632b rw rootflags=subvol=@
    rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3 ibt=off
  Desktop: Qtile v: 0.23.0 wm: LG3D dm: SDDM Distro: Garuda Linux
    base: Arch Linux
Machine:
  Type: Desktop Mobo: Micro-Star model: B450 TOMAHAWK MAX (MS-7C02) v: 1.0
    serial: <filter> UEFI: American Megatrends LLC. v: 3.F1 date: 07/05/2022
CPU:
  Info: model: AMD Ryzen 9 5900X socket: AM4 bits: 64 type: MT MCP
    arch: Zen 3+ gen: 4 level: v3 note: check built: 2022 process: TSMC n6 (7nm)
    family: 0x19 (25) model-id: 0x21 (33) stepping: 2 microcode: 0xA20120A
  Topology: cpus: 1x cores: 12 tpc: 2 threads: 24 smt: enabled cache:
    L1: 768 KiB desc: d-12x32 KiB; i-12x32 KiB L2: 6 MiB desc: 12x512 KiB
    L3: 64 MiB desc: 2x32 MiB
  Speed (MHz): avg: 2262 high: 3700 min/max: 2200/4950 boost: enabled
    base/boost: 3700/4950 scaling: driver: acpi-cpufreq governor: schedutil
    volts: 1.1 V ext-clock: 100 MHz cores: 1: 2200 2: 2200 3: 2200 4: 2200
    5: 2200 6: 2200 7: 2200 8: 2200 9: 2200 10: 2200 11: 2200 12: 2200
    13: 2200 14: 3700 15: 2200 16: 2200 17: 2200 18: 2200 19: 2200 20: 2200
    21: 2200 22: 2200 23: 2200 24: 2200 bogomips: 177601
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
Graphics:
  Device-1: AMD Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]
    vendor: ASRock driver: amdgpu v: kernel arch: RDNA-2 code: Navi-2x
    process: TSMC n7 (7nm) built: 2020-22 pcie: gen: 4 speed: 16 GT/s
    lanes: 16 ports: active: DP-1,DP-2 empty: DP-3,HDMI-A-1 bus-ID: 27:00.0
    chip-ID: 1002:73df class-ID: 0300
  Display: server: X.Org v: 21.1.10 with: Xwayland v: 23.2.3
    compositor: Picom v: git-c4107 driver: X: loaded: amdgpu
    unloaded: modesetting,radeon alternate: fbdev,vesa dri: radeonsi
    gpu: amdgpu display-ID: :0 screens: 1
  Screen-1: 0 s-res: 4480x1440 s-dpi: 96 s-size: 1185x381mm (46.65x15.00")
    s-diag: 1245mm (49.01")
  Monitor-1: DP-1 mapped: DisplayPort-0 pos: primary,left
    model: Dell U2312HM serial: <filter> built: 2012 res: 1920x1080 hz: 60
    dpi: 96 gamma: 1.2 size: 510x287mm (20.08x11.3") diag: 585mm (23")
    ratio: 16:9 modes: max: 1920x1080 min: 720x400
  Monitor-2: DP-2 mapped: DisplayPort-1 pos: right model: AOC Q27G1WG4
    serial: <filter> built: 2020 res: 2560x1440 hz: 60 dpi: 109 gamma: 1.2
    size: 597x336mm (23.5x13.23") diag: 685mm (27") ratio: 16:9 modes:
    max: 2560x1440 min: 720x400
  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
    device: 1 drv: swrast surfaceless: drv: radeonsi x11: drv: radeonsi
    inactive: gbm,wayland
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 23.2.1-arch1.2
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 6700 XT (navi22 LLVM
    16.0.6 DRM 3.54 6.6.6-zen1-1-zen) device-ID: 1002:73df memory: 11.72 GiB
    unified: no
  API: Vulkan v: 1.3.269 layers: 4 device: 0 type: discrete-gpu name: AMD
    Radeon RX 6700 XT (RADV NAVI22) driver: mesa radv v: 23.2.1-arch1.2
    device-ID: 1002:73df surfaces: xcb,xlib device: 1 type: cpu name: llvmpipe
    (LLVM 16.0.6 256 bits) driver: mesa llvmpipe v: 23.2.1-arch1.2 (LLVM
    16.0.6) device-ID: 10005:0000 surfaces: xcb,xlib
Audio:
  Device-1: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel pcie:
    gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 27:00.1 chip-ID: 1002:ab28
    class-ID: 0403
  Device-2: AMD Starship/Matisse HD Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 29:00.4 chip-ID: 1022:1487 class-ID: 0403
  Device-3: Logitech G733 Gaming Headset
    driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 1.1 speed: 12 Mb/s
    lanes: 1 mode: 1.1 bus-ID: 1-9:3 chip-ID: 046d:0ab5 class-ID: 0300
  API: ALSA v: k6.6.6-zen1-1-zen status: kernel-api
    tools: alsactl,alsamixer,amixer
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 1.0.0 status: n/a (root, process) with:
    1: pipewire-pulse status: active 2: wireplumber status: active
    3: pipewire-alsa type: plugin 4: pw-jack type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Micro-Star MSI driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: f000 bus-ID: 22:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp34s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Drives:
  Local Storage: total: 2.73 TiB used: 1.13 TiB (41.2%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital
    model: WDS100T3X0C-00SJG0 size: 931.51 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 111110WD temp: 39.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Seagate model: ST2000DM008-2FR102
    size: 1.82 TiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    tech: HDD rpm: 7200 serial: <filter> fw-rev: 0001 scheme: GPT
Partition:
  ID-1: / raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
    used: 65.2 GiB (7.0%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
    maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 576 KiB (0.2%) fs: vfat block-size: 512 B dev: /dev/nvme0n1p1
    maj-min: 259:1
  ID-3: /home raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
    used: 65.2 GiB (7.0%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
    maj-min: 259:2
  ID-4: /var/log raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
    used: 65.2 GiB (7.0%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
    maj-min: 259:2
  ID-5: /var/tmp raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
    used: 65.2 GiB (7.0%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
    maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 31.26 GiB used: 98.8 MiB (0.3%)
    priority: 100 comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 24
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 44.9 C mobo: N/A gpu: amdgpu temp: 50.0 C
    mem: 50.0 C
  Fan Speeds (rpm): N/A gpu: amdgpu fan: 0
Info:
  Processes: 530 Uptime: 44m wakeups: 0 Memory: total: 32 GiB
  available: 31.26 GiB used: 4.95 GiB (15.8%) Init: systemd v: 255
  default: graphical tool: systemctl Compilers: gcc: 13.2.1 Packages:
  pm: pacman pkgs: 1350 libs: 442 tools: pamac,paru Shell: garuda-inxi (sudo)
  default: Bash v: 5.2.21 running-in: alacritty inxi: 3.3.31
Garuda (2.6.19-2):
  System install date:     2023-05-24
  Last full system update: 2023-12-15 ↻
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut
  Windows dual boot:       No/Undetected
  Failed units:

This symbol means you have a pending reboot. Try rebooting and seeing if the issue persists after that.

4 Likes

Are you setting your games to highest graphics?
For me warframe runs very smoothly, but im using fsr upscaling and lowered down graphics, also limited gpu wattage for warframe to 60W
Gpu usage is sometimes close to 100% but its not often
Are you using also gamemoderun in steam variables?

With the new update came volumetric fog that a lot of people are reporting is intensive to have. (you can disable this in the in-game options)

There has been official statements from the Warframe staff that after the big update, it doesn’t like DX12 mode with AMD graphics (not sure if this is a Windows only issue as I haven’t tested my AMD machine in DX12 mode yet since the update hit). It usually results in a crash (in at least Windows), but maybe this is the behavior observed while using proton with an AMD card (card trying a bit too hard)?
Either way, try the DX11 mode in the game’s launcher settings if you haven’t already.

I would also update your BIOS as well to the latest version (7C02v3I from 2023-10-28)
https://www.msi.com/Motherboard/B450-TOMAHAWK-MAX/support

2 Likes

I do not have any problems with wargrame dx12 and amd card

1 Like

Sounds like shader processing to me.

Are you using Steam? If so, go into settings, click Downloads, scroll down to “shader pre-caching”…check to see if Shader Pre-caching is enabled. If it isn’t enable it.

What this will do is pre-calculate the shaders before loading the game rather than doing it on the fly while the game is running. Will improve performance and drop your CPU usage in game.

It will cause games to take a while to load on first load after an update, but every subsequent load should be quick.

Responding to most points:

  • I set all my graphics to the lowest settings on all games and the problem persists.

  • Warframe behavior occurs with DX11 and DX12. The 100% max out happens immediately after loading in, before any actual gameplay. Login screen usage is also surprisingly high (~80%).

  • Shader pre-caching used to max out my CPU usage and possibly overclock, but I’ll try and see if anything’s changed

  • Problem persists after system updates and reboots.

  • Moving forward: Will try bios flash and then try LTS kernel. Will update this response with results.

try these steam settings for warframe
VKD3D_FEATURE_LEVEL=12_1 PULSE_LATENCY_MSEC=60 DXVK_ASYNC=1 WINE_FULLSCREEN_FSR=1 ENABLE_VKBASALT=1 gamemoderun %command%
GE-proton7-38

Ingame resolution set to 1504x846 whih is upscaled to 1920x1080
Max framerate 75hz

Vsync off

In steam settings/downloads have you enabled shadders buffering?
Enable both options there

After BIOS update, I was able to get into Warframe and turn off vsync + cap frames to 60 HZ. DirectX12 runs better than X11. It’s still high GPU usage, around 50-80% at lowest settings, but now it’s not chugging and it fluctuates. The performance is better, and that game was my “stress test” since it’s never performed well ime. The proton launch settings didn’t seem to drastically improve performance. I’m wondering if QTile could be influencing performance. It seems like it forces resolutions to fit the window?

Shader Pre process is doing ok and no longer maxes out CPU. It doesn’t really show anything when I start games (I think there used to be a loading bar?). The settings say memory is cached, and CPU shows lower usage during gameplay, so that helps!

Baldur’s Gate 3 still has gradual texture loading + lag/framerate drop. I don’t notice this with my partner’s Windows setup, which has lower RAM and CPU specs with the same GPU.

While the games are running better, I’m surprised at the performance since they’re all at lowest possible settings and still struggling at times. I upgraded from a dying nvidia 2060 (had artifacts in several games and MHW scoutflies were flashbanging me) and thought the difference would be drastic. Maybe my expectations are unrealistic?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.