Low 3D performance with Radeon RX 7900 XT/7900 XTX

I have the same issue with the same GPU. I installed 6.4 and it kind of works, but the 3D performance is about half of what it should be and the system sometimes takes a second to respond. Very annoying. The problem also might lie with the update to Mesa 23.1 and not the 6.4 kernel itself, but I have no way to check that.

Update: I installed the 6.5 RC, which seems to solve the problem. Also MangoHUD finally manages to view the correct GPU clock. Well, fingers crossed, I guess.

Update 2: The problem still persists. After a reboot everything seems fine, which leads me to believe something triggers the performance degradation, but I have no idea what that might be.

Mod. info: please don’t hijack other threads

Which graphics driver is installed ?

please use the search function of the forum. there exist threads that describe exactly the same problem and the solution.

also provide the mandatory output of

inxi --admin --verbosity=7 --filter --no-host --width

I actually didn’t open this thread, my post was a response to another thread, in which the problem of having no video output whatsoever was discussed. If there already is a solution to this problem though, I don’t see the need to go on here.

Edit:
Since I can’t find anything relevant to my problem (some pointers would have been nice) I decided to add the requested information and continue to keep this thread posted on any developments. After a skim I assume that the output from inxi contains any necessary information about the GPU driver. If I assume wrong, please let me know what specific information I should add.

inxi:

System:
  Kernel: 6.5.0-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc available: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.5-x86_64
    root=UUID=9686bd69-ceed-4d71-9976-0a40375aac72 rw
    amdgpu.ppfeaturemask=0xffffffff quiet
    cryptdevice=UUID=3bdcf5cf-1ebc-402d-8234-7ccbf431d016:luks-3bdcf5cf-1ebc-402d-8234-7ccbf431d016
    root=/dev/mapper/luks-3bdcf5cf-1ebc-402d-8234-7ccbf431d016 splash
    apparmor=1 security=apparmor udev.log_priority=3
  Desktop: GNOME v: 44.3 tk: GTK v: 3.24.38 wm: gnome-shell dm: GDM v: 44.1
    Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Desktop System: Gigabyte product: Z390 GAMING X v: N/A
    serial: <superuser required>
  Mobo: Gigabyte model: Z390 GAMING X-CF v: x.x serial: <superuser required>
    UEFI: American Megatrends v: F10h date: 09/16/2020
Battery:
  Message: No system battery data found. Is one present?
Memory:
  System RAM: total: 32 GiB available: 31.28 GiB used: 4.1 GiB (13.1%)
  RAM Report: permissions: Unable to run dmidecode. Root privileges required.
CPU:
  Info: model: Intel Core i7-9700K bits: 64 type: MCP arch: Coffee Lake
    gen: core 9 level: v3 note: check built: 2018 process: Intel 14nm family: 6
    model-id: 0x9E (158) stepping: 0xC (12) microcode: 0xF4
  Topology: cpus: 1x cores: 8 smt: <unsupported> cache: L1: 512 KiB
    desc: d-8x32 KiB; i-8x32 KiB L2: 2 MiB desc: 8x256 KiB L3: 12 MiB
    desc: 1x12 MiB
  Speed (MHz): avg: 1600 high: 1601 min/max: 800/5000 scaling:
    driver: intel_pstate governor: powersave cores: 1: 1600 2: 1600 3: 1600
    4: 1601 5: 1600 6: 1600 7: 1601 8: 1600 bogomips: 32012
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat
    arch_capabilities arch_perfmon art avx avx2 bmi1 bmi2 bts clflush
    clflushopt cmov constant_tsc cpuid cpuid_fault cx16 cx8 de ds_cpl dtes64
    dtherm dts ept ept_ad erms est f16c flexpriority flush_l1d fma fpu
    fsgsbase fxsr ht hwp hwp_act_window hwp_epp hwp_notify ibpb ibrs ida
    intel_pt invpcid invpcid_single lahf_lm lm mca mce md_clear mmx monitor
    movbe mpx msr mtrr nonstop_tsc nopl nx pae pat pbe pcid pclmulqdq pdcm
    pdpe1gb pebs pge pln pni popcnt pse pse36 pts rdrand rdseed rdtscp
    rep_good sdbg sep smap smep smx ss ssbd sse sse2 sse4_1 sse4_2 ssse3 stibp
    syscall tm tm2 tpr_shadow tsc tsc_adjust tsc_deadline_timer vme vmx vnmi
    vpid x2apic xgetbv1 xsave xsavec xsaveopt xsaves xtopology xtpr
  Vulnerabilities:
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf status: Not affected
  Type: mds mitigation: Clear CPU buffers; SMT disabled
  Type: meltdown status: Not affected
  Type: mmio_stale_data mitigation: Clear CPU buffers; SMT disabled
  Type: retbleed mitigation: IBRS
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: IBRS, IBPB: conditional, STIBP: disabled, RSB
    filling, PBRSB-eIBRS: Not affected
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort mitigation: TSX disabled
Graphics:
  Device-1: AMD Navi 31 [Radeon RX 7900 XT/7900 XTX] vendor: ASRock
    driver: amdgpu v: kernel arch: RDNA-3 code: Navi-3x process: TSMC n5 (5nm)
    built: 2022+ pcie: gen: 4 speed: 16 GT/s lanes: 16 ports: active: DP-1
    empty: DP-2,DP-3,HDMI-A-1 bus-ID: 03:00.0 chip-ID: 1002:744c class-ID: 0300
  Display: wayland server: X.org v: 1.21.1.8 with: Xwayland v: 23.1.2
    compositor: gnome-shell driver: X: loaded: radeon unloaded: modesetting
    alternate: fbdev,vesa gpu: amdgpu display-ID: 0
  Monitor-1: DP-1 model: Gigabyte M32U serial: <filter> built: 2022
    res: 3840x2160 dpi: 140 gamma: 1.2 size: 697x392mm (27.44x15.43")
    diag: 800mm (31.5") ratio: 16:9 modes: max: 3840x2160 min: 720x400
  API: OpenGL v: 4.6 Mesa 23.1.5 renderer: AMD Radeon RX 7900 XTX (gfx1100
    LLVM 15.0.7 DRM 3.54 6.5.0-1-MANJARO) direct-render: Yes
Audio:
  Device-1: Intel Cannon Lake PCH cAVS vendor: Gigabyte driver: snd_hda_intel
    v: kernel alternate: snd_soc_skl,snd_sof_pci_intel_cnl bus-ID: 00:1f.3
    chip-ID: 8086:a348 class-ID: 0403
  Device-2: AMD driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s
    lanes: 16 bus-ID: 03:00.1 chip-ID: 1002:ab30 class-ID: 0403
  Device-3: Licensed by Sony Entertainment America Rocksmith Guitar Adapter
    driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 1.1 speed: 12 Mb/s
    lanes: 1 mode: 1.1 bus-ID: 1-3:2 chip-ID: 12ba:00ff class-ID: 0300
  API: ALSA v: k6.5.0-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 0.3.77 status: off tools: pw-cli
  Server-3: PulseAudio v: 16.1 status: active with: pulseaudio-alsa
    type: plugin tools: pacat,pactl
Network:
  Device-1: Intel Ethernet I219-V vendor: Gigabyte driver: e1000e v: kernel
    port: N/A bus-ID: 00:1f.6 chip-ID: 8086:15bc class-ID: 0200
  IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  IP v6: <filter> type: noprefixroute scope: link
  WAN IP: <filter>
Bluetooth:
  Message: No bluetooth data found.
Logical:
  Message: No logical block device data found.
  Device-1: luks-3bdcf5cf-1ebc-402d-8234-7ccbf431d016 maj-min: 254:0
    type: LUKS dm: dm-0 size: 3.64 TiB
  Components:
  p-1: nvme0n1p2 maj-min: 259:2 size: 3.64 TiB
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 3.64 TiB used: 1.54 TiB (42.4%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Seagate model: FireCuda 530
    ZP4000GM30013 size: 3.64 TiB block-size: physical: 512 B logical: 512 B
    speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter> fw-rev: SU6SM003
    temp: 32.9 C scheme: GPT
  Optical-1: /dev/sr0 vendor: TSSTcorp model: DVD-ROM SH-D163C rev: SB01
    dev-links: cdrom
  Features: speed: 32 multisession: yes audio: yes dvd: yes rw: none
    state: running
Partition:
  ID-1: / raw-size: 3.64 TiB size: 3.58 TiB (98.40%) used: 1.54 TiB (43.1%)
    fs: ext4 dev: /dev/dm-0 maj-min: 254:0
    mapped: luks-3bdcf5cf-1ebc-402d-8234-7ccbf431d016 label: N/A
    uuid: 9686bd69-ceed-4d71-9976-0a40375aac72
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 472 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1 label: N/A
    uuid: 0D80-8511
Swap:
  Alert: No swap data was found.
Unmounted:
  Message: No unmounted partitions found.
USB:
  Hub-1: 1-0:1 info: hi-speed hub with single TT ports: 16 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Device-1: 1-3:2 info: Licensed by Sony Entertainment America Rocksmith
    Guitar Adapter type: audio,HID driver: hid-generic,snd-usb-audio,usbhid
    interfaces: 3 rev: 1.1 speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1
    power: 100mA chip-ID: 12ba:00ff class-ID: 0300
  Device-2: 1-5:3 info: Shenzhen Rapoo 5GHz Wireless Transceiver
    type: keyboard,mouse driver: hid-generic,usbhid interfaces: 2 rev: 2.0
    speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1 power: 200mA
    chip-ID: 24ae:2003 class-ID: 0301
  Hub-2: 1-6:4 info: Realtek RTS5411 Hub ports: 6 rev: 2.1
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 0bda:5411
    class-ID: 0900
  Device-1: 1-6.2:6 info: CHERRY MX BOARD 3.0S FL RGB Keyboard
    type: keyboard,mouse driver: hid-generic,usbhid interfaces: 2 rev: 2.0
    speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1 power: 500mA
    chip-ID: 046a:0079 class-ID: 0301
  Device-2: 1-6.3:7 info: SteelSeries ApS Sensei Raw Gaming Mouse
    type: HID,mouse,keyboard driver: hid-generic,usbhid interfaces: 4 rev: 1.1
    speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1 power: 200mA
    chip-ID: 1038:1369 class-ID: 0300
  Device-3: 1-6.6:8 info: Realtek HID Device type: HID
    driver: hid-generic,usbhid interfaces: 1 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 power: 100mA
    chip-ID: 0bda:1100 class-ID: 0300
  Device-4: 1-12:5 info: Microsoft Xbox360 Controller type: <vendor specific>
    driver: xpad interfaces: 4 rev: 2.0 speed: 12 Mb/s (1.4 MiB/s) lanes: 1
    mode: 1.1 power: 500mA chip-ID: 045e:028e class-ID: ff00 serial: <filter>
  Hub-3: 2-0:1 info: super-speed hub ports: 10 rev: 3.1
    speed: 10 Gb/s (1.16 GiB/s) lanes: 1 mode: 3.2 gen-2x1 chip-ID: 1d6b:0003
    class-ID: 0900
  Hub-4: 2-6:2 info: Realtek Hub ports: 3 rev: 3.2
    speed: 5 Gb/s (596.0 MiB/s) lanes: 1 mode: 3.2 gen-1x1 chip-ID: 0bda:0411
    class-ID: 0900
Sensors:
  System Temperatures: cpu: 40.0 C pch: 50.0 C mobo: 34.0 C gpu: amdgpu
    temp: 46.0 C mem: 64.0 C
  Fan Speeds (rpm): N/A gpu: amdgpu fan: 812
Info:
  Processes: 282 Uptime: 12m wakeups: 0 Init: systemd v: 253 default: graphical
  tool: systemctl Compilers: gcc: 13.2.1 clang: 15.0.7 Packages: pm: pacman
  pkgs: 1476 libs: 483 tools: gnome-software,pamac pm: flatpak pkgs: 0
  Shell: Zsh v: 5.9 running-in: gnome-terminal inxi: 3.3.29

Since your GPU is AMD RX7900 - it may be worth noting that 3D may be affected by the fact that Manjaro doesn’t provide all codecs with the mesa drivers.

Some codecs has been omitted due to possible redistribution issues.

I am not that well versed in the gaming universe to be able do deduct whether the lack of these codecs in the mesa packages has any bearing in your case.

So you have two options

  1. copy the PKBGUILD information from GitHub - mesa-freeworld/mesa-nonfree and build yourself. That should be an issue with your system spec.
  2. use the instructions found at https://nonfree.eu to install the packages (nonfree.eu points the the above repo’s webpage - the folder docs)
### install ###

# locally trust the ci key
sudo pacman-key --recv-keys B728DB23B92CB01B && \
  sudo pacman-key --lsign-key B728DB23B92CB01B

## add the repo configuration:
sudo sh -c "curl -s https://nonfree.eu/$(pacman-mirrors -G)/ > /etc/pacman.d/mesa-nonfree.pre.repo.conf"

## include the repo configuration:
sudo sed -i '/^\[core\]/i \Include = /etc/pacman.d/mesa-nonfree.pre.repo.conf\n' /etc/pacman.conf
1 Like

Thanks for the suggestion. I will keep that in mind, although it would be very weird if that was the solution, since I use that GPU with Manjaro since March without any major issues. So far I have not been able to reproduce the performance degradation and thus have no clue what could cause it or if it is deterministically reproducible at all.

What remains are split second lags of visual content in windows when dropping them and the GUI going to sleep after around ten seconds of user inactivity, causing a delay when using mouse or keyboard again. But who knows if this is related.

You could start here and implement a swap partition or swapfile.

not sure if a swap is really needed. it’s 32GB RAM, that should be more than enough imho.

Now that is strange - of course you have looked at your power configuration - including when display should turn off?

I would suspect the degradation is connected to this mysterious display sleep

I am using linux next kernel - biweekly rebuild
:nerd_face: :fox_face:

 $ uname -r
6.5.0-rc7-next-20230821-1-next-git-11453-g47d9bb711707

I use the same GPU as you do and I have not seen such behavior. On rare occasions I have to use REISUB to restart but that is rare - relatively speaking - perhaps a couple of times a month.

That is what I figure. I implemented a swapfile at some point, then again removed it a while ago, since it was mostly empty.

Indeed it is. Screen Blank time is set to never and Automatic Suspend is off. As I wrote above, the issue might be related to screen switching. But 3D performance is back down as well. According to MangoHUD, VRAM clocks only to 96MHz, which should be around 1,250MHz.

Turning the second display on rectifies the situation, turning it off again doesn’t break it. Maybe because the game is still running, putting load on the GPU and preventing clocking down at some critical point? If this is so, it also might explain the rather nondeterministic behavior, since states often change quickly and depending on multiple parameters.

I was using 6.1 which updated to patch 44 leaving me and another user with a 7900XTX with no video output whatsoever. That’s why I installed 6.4 and, having the mentioned issues, tried the 6.5 RC.

Well, my take on all this is, that switching displays somehow messes with the graphics drivers VRAM clock states. This might well also lead to the other issues, which are gone now that the VRAM clocks to a proper frequency. Sadly I can’t really point to either kernel or driver since 6.1.43 with Mesa 23.0 worked fine, but 6.1.44 with Mesa 23.1 didn’t work at all and I can only say that the issues occur with 6.4 and 6.5 RC and Mesa 23.1.

I just caught this from yesterday …

I can only see you are on 6.5 - but are using 6.5 rc7?

RC5, the latest I could install via Manjaro Settings Manager. For now I’m confident can work around the issues, but I will try to remember to come back to this thread to keep it updated, when 6.1.45, 6.4.10 or any newer RC of 6.5 can be installed that way.

Curiously enough, to check this, I restarted (GRUB being the first place to check that came to mind, I since realized I could’ve just used the MSM) without turning my second screen off and everything is working fine. No lags and the VRAM clock behaves as intended. I still think it’s got something to do with the load on the GPU at some given point during some kind of screen initialization.

So there was an update (6.1.44 => 6.1.49, 6.4.10 => 6.4.12 and 6.5 RC5 => 6.5.0).

After a quick checkup, these are my findings:

6.1.49 seems to work fine. On top of again giving video output, everything feels snappy, the video memory clocks according to load and the gaming performance accordingly is good.
6.4.12 has the same problems as 6.4.10 and 6.5 RC5 (have to trigger VRAM clocking by adding a second screen under load, short lags after moving windows)
6.5.0 has terrible issues. Moving a window, clicking at certain GUI elements and sometimes tabbing locks up the GUI for about 5 seconds and gaming performance is at best on the level of 6.4.10/12 or 6.5 RC5.

So, I will go back to 6.1 and see if it continues to perform well.