Very poor performance in windows games

Hello everyone,

maybe you have some tips why the performance in the games is so bad.
I use Steam and Proton 9.x for my games: Enshrouded, Planet Crafter, Grounded, Deep Rock Galactic(currently not starting at all), Darktide

The hardware of my Linux device: AMD Ryzen 7 7840 HS, 32GB RAM, AMD Radeon RX 7700S

If I compare it with my previous Windows device, the hardware is actually more powerful, but the result is still 80% worse in FPS alone

CPU Benchmark
GPU Benchmark

I’ve already gone into this a bit here, but I think a separate post for it makes more sense. I’ve looked around the forum a bit, but so far I haven’t found a solution that would have helped me.

System:

System:
  Kernel: 6.9.7-200.fc40.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.41-37.fc40
  Desktop: GNOME v: 46.3.1 Distro: Fedora Linux 40.20240709.0 (Silverblue)
Machine:
  Type: Laptop System: Framework product: Laptop 16 (AMD Ryzen 7040 Series)
    v: AG serial: <superuser required>
  Mobo: Framework model: FRANMZCP07 v: A7 serial: <superuser required>
    UEFI: INSYDE v: 03.03 date: 03/27/2024
Battery:
  ID-1: BAT1 charge: 51.4 Wh (60.0%) condition: 85.6/85.1 Wh (100.6%)
    volts: 16.0 min: 15.5 model: NVT FRANDBA status: charging
  Device-1: hid-18:7e:b9:67:f4:86-battery model: Tealk-Magic Trackpad 2
    charge: N/A status: discharging
CPU:
  Info: 8-core model: AMD Ryzen 7 7840HS w/ Radeon 780M Graphics bits: 64
    type: MT MCP arch: Zen 4 rev: 1 cache: L1: 512 KiB L2: 8 MiB L3: 16 MiB
  Speed (MHz): avg: 1731 high: 4713 min/max: 400/5137 cores: 1: 3373 2: 400
    3: 400 4: 400 5: 400 6: 400 7: 3705 8: 4449 9: 400 10: 3691 11: 400 12: 400
    13: 3768 14: 400 15: 400 16: 4713 bogomips: 121375
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: AMD Navi 33 [Radeon RX 7700S/7600/7600S/7600M XT/PRO W7600]
    vendor: Framework driver: amdgpu v: kernel arch: RDNA-3 bus-ID: 03:00.0
  Device-2: AMD Phoenix1 vendor: Framework driver: amdgpu v: kernel
    arch: RDNA-3 bus-ID: c5:00.0 temp: 44.0 C
  Display: wayland server: X.Org v: 24.1 with: Xwayland v: 24.1.0
    compositor: gnome-shell driver: dri: radeonsi gpu: amdgpu resolution:
    1: 3440x1440~100Hz 2: 2048x1280~165Hz
  API: OpenGL v: 4.6 vendor: amd mesa v: 24.1.2 glx-v: 1.4
    direct-render: yes renderer: AMD Radeon 780M (radeonsi gfx1103_r1 LLVM
    18.1.6 DRM 3.57 6.9.7-200.fc40.x86_64)
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
Audio:
  Device-1: AMD Navi 31 HDMI/DP Audio vendor: Framework driver: snd_hda_intel
    v: kernel bus-ID: 03:00.1
  Device-2: AMD Rembrandt Radeon High Definition Audio vendor: Framework
    driver: snd_hda_intel v: kernel bus-ID: c5:00.1
  Device-3: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Framework
    driver: snd_pci_ps v: kernel bus-ID: c5:00.5
  Device-4: AMD Family 17h/19h HD Audio vendor: Framework
    driver: snd_hda_intel v: kernel bus-ID: c5:00.6
  Device-5: Beyerdynamic FOX driver: hid-generic,snd-usb-audio,usbhid
    type: USB bus-ID: 5-1.1:3
  API: ALSA v: k6.9.7-200.fc40.x86_64 status: kernel-api
  Server-1: PipeWire v: 1.0.7 status: active
Network:
  Device-1: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
    driver: mt7921e v: kernel bus-ID: 05:00.0
  IF: wlp5s0 state: up mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
  IP v6: <filter> type: dynamic noprefixroute scope: global
  IP v6: <filter> type: dynamic noprefixroute scope: global
  IP v6: <filter> type: noprefixroute scope: link
  WAN IP: <filter>
Bluetooth:
  Device-1: MediaTek Wireless_Device driver: btusb v: 0.8 type: USB
    bus-ID: 1-5:7
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.2
    lmp-v: 11
Drives:
  Local Storage: total: 2.73 TiB used: 535.38 GiB (19.2%)
  ID-1: /dev/nvme0n1 vendor: Western Digital model: WD BLACK SN770M 1TB
    size: 931.51 GiB temp: 35.9 C
  ID-2: /dev/nvme1n1 vendor: Western Digital model: WD BLACK SN770 1TB
    size: 931.51 GiB temp: 37.9 C
  ID-3: /dev/sda vendor: Seagate model: UltraTouch SSD size: 931.51 GiB
    type: USB
Partition:
  ID-1: /boot size: 973.4 MiB used: 299.4 MiB (30.8%) fs: ext4
    dev: /dev/nvme1n1p2
  ID-2: /boot/efi size: 598.8 MiB used: 12.4 MiB (2.1%) fs: vfat
    dev: /dev/nvme1n1p1
  ID-3: /var size: 929.91 GiB used: 165.14 GiB (17.8%) fs: btrfs
    dev: /dev/dm-0 mapped: luks-91874fa2-dc37-4bd0-aee8-c4a03dee90d0
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) dev: /dev/zram0
Sensors:
  System Temperatures: cpu: N/A mobo: N/A
  Fan Speeds (rpm): N/A
  GPU: device: amdgpu temp: 44.0 C device: amdgpu temp: 37.0 C fan: 0
Info:
  Memory: total: 32 GiB note: est. available: 30.65 GiB used: 7.05 GiB (23.0%)
  Processes: 493 Uptime: 7m Init: systemd target: graphical (5)
  Packages: 104 Compilers: gcc: 14.1.1 Shell: Bash v: 5.2.26 inxi: 3.3.34

What version of Fedora are you running?
Edit: Where did you install steam from?

I’m playing on f40 with a RX 7800 and the performance under rpmfusion steam is very good. I get 4k @ 60FPS in the games I play, at the moment Outcast A new Beginning.

I can boot into Windows for the few cases where a games does not run under linux, but that has been rare.

I have not formally tested the performance, so I might have lower frame rates.

When GPUs are tested my phronix.com they keep claiming that performance under linux is better then under Windows.

2 Likes

Added steam, wine

Removed intel

I have installed version 40, I currently have steam as a flatpak again, but I also had the problems with the rpm installation; although with the rpm there were already problems with steam itself.

Maybe these problems are related to your performance issue?

The problems were solved, but since I couldn’t find any difference between rpm and flatpak, I went back to flatpak.

Do you set vsync to lock the fps to the display refresh?

in the games? it is usually deactivated automatically and I have never activated it before.

These generic benchmarks mean nothing.

I see you posted Benchmarks, but what are the scores you are getting in games?

  • Are you using mangohud to gauge your metrics?
  • What version of Mesa do you have?

i haven’t created any benchmarks myself, i just see the fps display that steam offers me and notice how games react very slowly, don’t accept inputs or execute them with a long delay.

Graphics:
  Device-1: AMD Navi 33 [Radeon RX 7700S/7600/7600S/7600M XT/PRO W7600]
    vendor: Framework driver: amdgpu v: kernel arch: RDNA-3 bus-ID: 03:00.0
  Device-2: AMD Phoenix1 vendor: Framework driver: amdgpu v: kernel
    arch: RDNA-3 bus-ID: c5:00.0 temp: 44.0 C
  Display: wayland server: X.Org v: 24.1 with: Xwayland v: 24.1.0
    compositor: gnome-shell driver: dri: radeonsi gpu: amdgpu resolution:
    1: 3440x1440~100Hz 2: 2048x1280~165Hz
  API: OpenGL v: 4.6 vendor: amd mesa v: 24.1.2 glx-v: 1.4
    direct-render: yes renderer: AMD Radeon 780M (radeonsi gfx1103_r1 LLVM
    18.1.6 DRM 3.57 6.9.7-200.fc40.x86_64)
  API: EGL Message: EGL data requires eglinfo. Check --recommends.

Let’s make sure your games are not running off of the APU, and are in fact running from the GPU.

A couple things here:

  • Update your machine. I think there is a newer version of Mesa, if you have already done this,

  • Force the use of the GPU by launching the games or software with

    • DRI_PRIME=1 %command% for steam games. In Gnome you can launch a creative application with the discrete gpu by right clicking and choosing it.
    • Launch radeontop to check the use of the hardware.
  • If issues persist or you notice the GPU is not working, but the APU is, disable the APU graphics from your BIOS as a test

1 Like

sure i use the Launch options DRI_PRIME=1 %command%

i install updates every day, how can i install newer versions than rpm-ostree offers me?

I notice that the gpu is being used, which I can see via mission control, for example.

radeontop if i play Planet Crafter

Without vsync I see tearing on the screen that I find very annoying.
Try turning on vsync and see if that helps.

I installed mangohud and ran Outcast under it. What it tells me is that at 4k I get closer to 45 FPS, not 60FPS. I set the game to 30FPS and it can do that without dropping frames.

I did not try dropping the resolution, I’ll try that tomorrow.

1 Like

I used it mostly to see hardware utilization I have a SF6 video where it has a more verbose output. It was a bit distracting so I switched back to simple output. it’s a good tool to guage what’s happening, what’s being used.

Kinda miss gaming a bit. . .

At 2560x1440 I get 60 FPS without any sign of a dropped frame.

how do i use this in combination with steam games? The game does not start when I include the command in the start options

I read the docs (GitHub - flightlessmango/MangoHud: A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more. Discord: https://discordapp.com/invite/Gj5YmBb) which told me to put mangohud %command% in launch options for the game.

1 Like

From the guide Normal Usage:

  • For Steam games, you can add this as a launch option:

    mangohud %command%

  • Or alternatively, add MANGOHUD=1 to your shell profile (Vulkan only).