Wayland causes huge performance issues

Please excuse me if this is the wrong category, wasn’t sure if this should go here or under support.
Which Linux distro are you using?
Fedora
Which release version?
(if rolling release without a release version, skip this question)
41
(If rolling release, last date updated?)

Which kernel are you using?
Linux 6.12.6-200.fc41.x86_64
Which BIOS version are you using?
3.05 11/13/2024

Which Framework Laptop 16 model are you using? (AMD Ryzen™ 7040 Series)
AMD Ryzen 7040 Series - AMD Ryzen 7 7840HS with AMD Radeon RX 7700S

I wrote a message to official Framework support but I figured it wouldn’t hurt posting on the forums either. Lately, after an update to Fedora 41 I’ve noticed that a while after using my laptop, anywhere between an hour to a few hours after it has been turned on, the fans ramp up, the cpu gets hot, and the framerate of the display can drop to sub-1fps. I’ve narrowed the issue down to being something wrong with Wayland. I have two framework 16s and they both have this same issue. One does not have the dGPU. When using X11, the issue goes away. I do not want to use X11, as it is less secure and it no longer maintained.
I found a thread here a while ago suggesting adding amdgpu.dcdebugmask=0x10 to the kernel parameters, but this has not helped. The slowdown still happens. When checking system monitor during this behavior it does not show anything out of the ordinary. CPU usage is usually below 50%, and RAM is usually below 4GB out of 16. The only thing that fixes this issue is a system restart, which is mildly annoying. Is anyone else running into this, and does anyone else have a fix that works for them?

1 Like

Have you been able to check dmesg and journalctl -n20? (Right as it happens or with journalctl -b-1 -n100 after the reboot?)
Maybe there are some hints towards a program that is missbehaving?

1 Like

Interesting, I’ve had Fedora (and 41) on my FW 16 AMD Ryzen™ 9 7940HS w/ Radeon™ 780M Graphics and I’ve had no issues with Wayland whatsoever. I know it’s not the first and best option, but have you tried the nuke-and-pave route, provided you have backups? I know that doesn’t solve the problem, just avoids it (possibly).

Rather than amdgpu.dcdebugmask=0x10, have you tried amdgpu.dcdebugmask=0x400? The former disables Panel Self Refresh, while the latter disables Panel Replay. In my case, fullscreen apps had extreme performance issues or outright softlocks on the most recent kernel and disabling Panel Replay fixed it.

See this Reddit comment for more information.

I grabbed some of the journalctl logs that looked related, but I have no idea how to actually read these. I’m a “newer” linux user so to speak (Started in 2021) so if any of this stands out to you please let me know


Jan 04 20:10:21 fedora kernel: [drm] PCIE GART of 512M enabled (table at 0x00000081FEB00000).
Jan 04 20:10:21 fedora kernel: amdgpu 0000:03:00.0: amdgpu: PSP is resuming...
Jan 04 20:10:21 fedora kernel: amdgpu 0000:03:00.0: amdgpu: reserve 0x1300000 from 0x81fc000000 for PSP TMR
Jan 04 20:10:21 fedora kernel: amdgpu 0000:03:00.0: amdgpu: RAS: optional ras ta ucode is not available
Jan 04 20:10:21 fedora kernel: amdgpu 0000:03:00.0: amdgpu: RAP: optional rap ta ucode is not available
Jan 04 20:10:21 fedora kernel: amdgpu 0000:03:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
Jan 04 20:10:21 fedora kernel: amdgpu 0000:03:00.0: amdgpu: SMU is resuming...
Jan 04 20:10:21 fedora kernel: amdgpu 0000:03:00.0: amdgpu: smu driver if version = 0x00000035, smu fw if version = 0x00000040, smu fw program = 0, smu fw version = 0x00525c00 (82.92.0)
Jan 04 20:10:21 fedora kernel: amdgpu 0000:03:00.0: amdgpu: SMU driver if version not matched
Jan 04 20:10:21 fedora kernel: amdgpu 0000:03:00.0: amdgpu: SMU is resumed successfully!
Jan 04 20:10:21 fedora kernel: [drm] DMUB hardware initialized: version=0x07002A00
Jan 04 20:10:22 fedora wpa_supplicant[1709]: wlp4s0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-43 noise=9999 txrate=144400
Jan 04 20:10:22 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
Jan 04 20:10:22 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
Jan 04 20:10:22 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
Jan 04 20:10:22 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
Jan 04 20:10:22 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
Jan 04 20:10:22 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
Jan 04 20:10:22 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
Jan 04 20:10:22 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
Jan 04 20:10:22 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
Jan 04 20:10:22 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
Jan 04 20:10:22 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring sdma1 uses VM inv eng 13 on hub 0
Jan 04 20:10:22 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring vcn_unified_0 uses VM inv eng 0 on hub 8
Jan 04 20:10:22 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring jpeg_dec uses VM inv eng 1 on hub 8
Jan 04 20:10:22 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring mes_kiq_3.1.0 uses VM inv eng 14 on hub 0
Jan 04 20:10:22 fedora kernel: amdgpu 0000:03:00.0: [drm] Cannot find any crtc or sizes
Jan 04 20:10:22 fedora kernel: [drm] ring gfx_32803.1.1 was added
Jan 04 20:10:22 fedora kernel: [drm] ring compute_32803.2.2 was added
Jan 04 20:10:22 fedora kernel: [drm] ring sdma_32803.3.3 was added
Jan 04 20:10:22 fedora kernel: [drm] ring gfx_32803.1.1 ib test pass
Jan 04 20:10:22 fedora kernel: [drm] ring compute_32803.2.2 ib test pass
Jan 04 20:10:22 fedora kernel: [drm] ring sdma_32803.3.3 ib test pass
Jan 04 20:10:23 fedora systemd[1]: Started dbus-:1.3-org.kde.powerdevil.backlighthelper@382.service.
Jan 04 20:10:23 fedora audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=dbus-:1.3-org.kde.powerdevil.backlighthelper@382 comm="systemd" exe="/usr/li>
Jan 04 20:10:25 fedora wpa_supplicant[1709]: wlp4s0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-45 noise=9999 txrate=144400
Jan 04 20:10:28 fedora wpa_supplicant[1709]: wlp4s0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-46 noise=9999 txrate=86700
Jan 04 20:10:31 fedora wpa_supplicant[1709]: wlp4s0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-46 noise=9999 txrate=144400
Jan 04 20:10:32 fedora systemd[1]: dbus-:1.3-org.kde.powerdevil.backlighthelper@382.service: Deactivated successfully.

Jan 04 20:18:22 fedora flatpak[160600]: [Parent 2, Main Thread] WARNING: Couldn't map window 0x7f33cb177600 as subsurface because its parent is not mapped.: 'glib warning', file /root/.local/share/bsys6/work/l>
Jan 04 20:18:22 fedora flatpak[160600]: [Parent 2, Main Thread] WARNING: Couldn't map window 0x7f33cb177ae0 as subsurface because its parent is not mapped.: 'glib warning', file /root/.local/share/bsys6/work/l>
Jan 04 20:18:22 fedora flatpak[160600]: [Parent 2, Main Thread] WARNING: Couldn't map window 0x7f33cb177e20 as subsurface because its parent is not mapped.: 'glib warning', file /root/.local/share/bsys6/work/l>
Jan 04 20:18:22 fedora flatpak[160600]: [Parent 2, Main Thread] WARNING: Couldn't map window 0x7f33cb178160 as subsurface because its parent is not mapped.: 'glib warning', file /root/.local/share/bsys6/work/l>
Jan 04 20:18:22 fedora flatpak[160600]: [Parent 2, Main Thread] WARNING: Couldn't map window 0x7f33c60fd7a0 as subsurface because its parent is not mapped.: 'glib warning', file /root/.local/share/bsys6/work/l>
Jan 04 20:18:22 fedora flatpak[160600]: [Parent 2, Main Thread] WARNING: Couldn't map window 0x7f33cf7fb3e0 as subsurface because its parent is not mapped.: 'glib warning', file /root/.local/share/bsys6/work/l>
Jan 04 20:18:22 fedora flatpak[160600]: [Parent 2, Main Thread] WARNING: Couldn't map window 0x7f33bd0d8b20 as subsurface because its parent is not mapped.: 'glib warning', file /root/.local/share/bsys6/work/l>
Jan 04 20:18:22 fedora flatpak[160600]: [Parent 2, Main Thread] WARNING: Couldn't map window 0x7f33cf7fdae0 as subsurface because its parent is not mapped.: 'glib warning', file /root/.local/share/bsys6/work/l>
Jan 04 20:18:22 fedora flatpak[160600]: [Parent 2, Main Thread] WARNING: Couldn't map window 0x7f33a05c8cc0 as subsurface because its parent is not mapped.: 'glib warning', file /root/.local/share/bsys6/work/l>
Jan 04 20:18:22 fedora flatpak[160600]: [Parent 2, Main Thread] WARNING: Couldn't map window 0x7f33a13c6900 as subsurface because its parent is not mapped.: 'glib warning', file /root/.local/share/bsys6/work/l>

Jan 04 21:11:51 fedora kernel: queueing ieee80211 work while going to suspend
Jan 04 21:11:51 fedora kernel: [drm] PCIE GART of 512M enabled (table at 0x00000081FEB00000).
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: PSP is resuming...
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: reserve 0x1300000 from 0x81fc000000 for PSP TMR
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: RAS: optional ras ta ucode is not available
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: RAP: optional rap ta ucode is not available
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: SMU is resuming...
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: smu driver if version = 0x00000035, smu fw if version = 0x00000040, smu fw program = 0, smu fw version = 0x00525c00 (82.92.0)
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: SMU driver if version not matched
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: SMU is resumed successfully!
Jan 04 21:11:51 fedora kernel: [drm] DMUB hardware initialized: version=0x07002A00
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring sdma1 uses VM inv eng 13 on hub 0
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring vcn_unified_0 uses VM inv eng 0 on hub 8
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring jpeg_dec uses VM inv eng 1 on hub 8
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: ring mes_kiq_3.1.0 uses VM inv eng 14 on hub 0
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: [drm] Cannot find any crtc or sizes
Jan 04 21:11:51 fedora kernel: [drm] ring gfx_32796.1.1 was added
Jan 04 21:11:51 fedora kernel: [drm] ring compute_32796.2.2 was added
Jan 04 21:11:51 fedora kernel: [drm] ring sdma_32796.3.3 was added
Jan 04 21:11:51 fedora kernel: [drm] ring gfx_32796.1.1 ib test pass
Jan 04 21:11:51 fedora kernel: [drm] ring compute_32796.2.2 ib test pass
Jan 04 21:11:51 fedora kernel: [drm] ring sdma_32796.3.3 ib test pass
Jan 04 21:11:51 fedora kernel: PM: suspend devices took 2.379 seconds
Jan 04 21:11:51 fedora kernel: ACPI: EC: interrupt blocked
Jan 04 21:11:51 fedora kernel: ACPI: EC: interrupt unblocked
Jan 04 21:11:51 fedora kernel: [drm] PCIE GART of 512M enabled (table at 0x00000081FEB00000).
Jan 04 21:11:51 fedora kernel: amdgpu 0000:03:00.0: amdgpu: PSP is resuming...


Jan 05 02:00:31 fedora flatpak[898663]: [81:0105/020031.225774:ERROR:ffmpeg_common.cc(970)] Unsupported pixel format: -1

0
Jan 05 10:21:29 fedora plasmashell[159500]: The cached device pixel ratio value was stale on window update.  Please file a QTBUG which explains how to reproduce.
**strong text**

On the Framework 16 I have without a dGPU we tried a full system reset (Reinstalled Fedora 41 via USB created with Fedora Media Writer). The issue still persists.

@INS4NIt I feel like your solution is describing my problem exactly down to a T, because I’ve noticed the screen tearing during fullscreen and the low FPS. However I don’t know how comfortable I feel with applying your solution if it’s going to kill my battery life. I use my Framework on battery very often (Usually for periods of 2+ hours) so I am not entirely sure this solution will work for me, at least not unless I can change my workflow.

I haven’t measured the battery life impact, as I spend the majority of my time plugged in when the laptop is on. That said, idle power consumption for me while on battery with no movement on screen is sitting at around 9W (see screenshot below). You can compare that with your own power consumption metrics and make a decision from there.

My consumption looks to be almost 9x what yours is at 59W at idol with only Firefox open. I’ll have to check the other framework I have later. (It’s technically not mine, it’s my partners but, toma(y)to toma(h)to(e).
Screenshot_20250108_213228

Your laptop is charging in that screenshot, while mine isn’t. If I plug in the charger my idle power consumption jumps from ~10W to ~40W. This makes sense, as the laptop is drawing power to charge the battery.

Try unplugging your charger and then checking power consumption.