Workaround - Graphical Corruption with 780M iGPU

Hi!

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

4 Likes

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 had the issue on Wayland, didn’t even try X11 since that is on its way out anyway.

A while ago a different issue manifested as well where the framerate slows to a crawl when gpu-accelerated video is playing (680M (Rebrandt) laptop randomly becomes very slow to update the screen (#3647) · Issues · drm / amd · GitLab).

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.

On my Framework Laptop 13 AMD 7840U I also had a PSR issue recently (Desktop freeze - amdgpu 0000:09:00.0: [drm] *ERROR* [CRTC:79:crtc-0] flip_done timed out (#3925) · Issues · drm / amd · GitLab with kernels 6.13.0-6.13.2, fixed afterwards) with full-screen display hangs. The Framework Laptop 13 display doesn’t support PR so only PSR exists. I’m currently running that one with PSR enabled again.

1 Like

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.