My Girlfriend recently got a Framework Laptop 16 with a Ryzen 7840HS processor, without the dGPU, installed Arch Linux with KDE Plasma, and something we noticed very early is that when Games are running, there is some weird rectangular noisy artifacting going on. The artifacts only show up for one frame or so and only every once in a while.
After reading through lots of forum threads and fiddling with kernel options, we found that amdgpu.dcdebugmask=0x400 fixes the issue. IIUC this disables PR (Panel Replay) and falls back to PSR (Panel Self Refresh).
Things that fix the issue:
amdgpu.dcdebugmask=0x400
Things that did not help:
change framerate in Plasma to 60fps from 165fps
Linux LTS Kernel (6.6.65-1)
amdgpu.sg_display=0
amdgpu.dcdebugmask=0x10
amdgpu.dcdebugmask=0x410 (resulted in white full screen flicker replacing the artifacting)
We already found a workaround, but I’m opening this thread to track progress and link the relevant AMD drm GitLab issue when I find it, and to help other users with similar issues.
Laptop Model: Framework Laptop 16 Ryzen 7040 Series
Processor: 7840HS
Distro: Arch Linux, last updated 2024.12.12
Kernel: 6.12.4.arch1-1
BIOS: 3.05
So glad I’m not the only one experiencing this. Just curious, are you using x11 or wayland? I’ve seen this running Fedora 41 and Kubuntu 24.10, both primarily on wayland. Can’t recall if it happened on x11. Will try the kernel option once I get the chance, thanks for sharing the fix!
We switched back to amdgpu.dcdebugmask=0x410 to disable PSR as well (Panel Self Refresh), and now both issues went away. The white full screen flicker also doesn’t reappear, so that was likely fixed in newer kernels.
I’m not 100% sure what the state with current kernels is (6.13.3+) and whether the Panel Replay workaround is still needed, so maybe it works without disabling anything, but maybe you still need to disable both PSR and PR.
FWIW I just experienced the “PSR bug” on my FW16 using X11 and kernel 6.12.22 (Debian sid). I had until now amdgpu.dcdebugmask=0x400, I’m trying to set it to amdgpu.dcdebugmask=0x410 hoping it solves the issue for now.