Skip Navigation

PSA: If you use AMD graphics and experience frequent system freezes (especially on gnome), you're not alone

This has apparently been a problem for a few months now, and can effect Intel and Nvidia graphics too, but AMD is the most susceptible, and Gnome on Wayland seems to trigger the issue the most. A developer of Kwin explains in a comment on the bug report what's causing it.

My “Favorite”: Pageflip Timeouts

Judging by how often I come across this issue in bug triage, if you’re reading this, chances aren’t too terrible that you’ve heard of this one already, possibly even seen it yourself in the form of

 undefined
    
kwin_wayland_drm: Pageflip timed out! This is a bug in the amdgpu kernel driver
kwin_wayland_drm: Please report this at https://gitlab.freedesktop.org/drm/amd/-/is>sues
kwin_wayland_drm: With the output of 'sudo dmesg' and 'journalctl --user-unit plasma->kwin_wayland > --boot 0'

  

in your own system logs at some point. To be clear, this is just an example and it does not only affect amdgpu. I’ve seen the same with NVidia and Intel too, but as amdgpu’s GPU resets have been a lot less reliable in >the past, it’s been a bigger issue for them.

Basically, pageflip timeouts are when the compositor does an atomic commit through KMS, and then waits for that to complete… forever. When this happens, the kernel literally doesn’t allow the compositor to present to the screen anymore, so the screen is completely frozen forever, which is >very bad, to state the obvious.

Fixing all the individual causes of the problem hasn’t really worked out so well, and this is a bad enough situation that there should be a way out when it does happen. We discussed how to do this, and I’m happy >to report that we figured out a way forward:

  • we need a new callback in KMS that tells compositors when a pageflip failed and will never arrive
  • drivers need to support resetting the display-driver bits of the GPU to recover it
  • if the driver entirely fails to recover in the absolute worst case, it should send a device wedged event, which tells the compositor it should try to reload the entire driver / device
18 comments
  • I thought maybe this is the issue I have been having but this seems different. I think mine is a memory usage issue with Firefox, potentially with using YouTube through Firefox specifically

  • @ProdigalFrog Interesting, also yes. Now if only I could read the bug report to see the details to see if I can resolve it without creating an account on their gitlab instance :/

    • Sorry! Messed the link up. Should work now.

      • @ProdigalFrog

        When this happens, the kernel literally doesn’t allow the compositor to present to the screen anymore, so the screen is completely frozen forever

        Yup, that sounds awfully familiar! Also the log reports from that seem quite familiar too, (Gnome/Wayland + 6.12.2 kernel over here). The 7900XTX seems less prone to the issue however so it doesn't happen to me too terribly often.

        I've noticed it happens more often when I'm spawning / closing full screen 3d applications such as games, ie when working on mods.

        Unfortunately they don't seem to have a solid plan on how to resolve performing a reliable reset on the driver and the work-arounds don't seem to reliably work. Guess I'll just have to be patient and save frequently.

  • I have this issue and it was plagueing me for 2 days straight and freezing/restarting my machine. Has gone away for a few days now on its own 🤷‍♂️

    • If anyone happens to see this, the issue came back and has been rather annoying. What fixed it for me was adding some kernel parameters that I read have to do with the bug. I am on bazzite btw

       bash
          
      rpm-ostree kargs --append-if-missing=amdgpu.aspm=0 amdgpu.runpm=0 amdgpu.bapm=0
      
      
        
18 comments