[F43 Rawhide] System Freeze on RX 5600 XT (Navi 10): "amdgpu flip_done timed out" on Wayland @ 100Hz

Hello everyone. I am experiencing full system freezes on Fedora 43 Workstation. The issue occurs while using desktop applications (specifically noticed while browsing GNOME Software Center). The screen freezes completely, requiring a hard reboot.

Hardware & System:

  • OS: Fedora 43 (Workstation Edition)
  • GPU: AMD Radeon RX 5600 XT (Navi 10)
  • Driver: amdgpu / Mesa
  • Display Server: Wayland (GNOME)
  • Monitor: Running at 100Hz refresh rate.
  • Kernel: 6.18.6-200.fc43.x86_64

Logs observed:
Looking at the logs around the time of the freeze, I see repeated PackageKit errors followed by a critical amdgpu timeout.

jan 27 23:42:08 fedora kernel: amdgpu 0000:07:00.0: [drm] *ERROR* [CRTC:86:crtc-0] flip_done timed out

Steps to reproduce / Context:

  1. System was running on Wayland at 100Hz.
  2. I was browsing the GNOME Software store (PackageKit was active in the background).
  3. The system froze with the error above.

Question:
Is this a known issue with the latest kernel/Mesa in Fedora 43 for Navi 10 cards? Would switching to X11 or lowering the refresh rate to 60Hz be the recommended workaround for now?

Thanks in advance.

Hey-
I am not an experienced linux user, and am relatively new to Fedora myself; however, I have been experiencing this same issue very frequently since switching to Fedora 43 (see my related post for details).

I believe this is an unresolved kernel-level amdgpu driver bug which is particularly prevalent in multi-monitor and/or high refresh rate / VRR enabled monitor setups, although this is speculation based upon my surface-level research of the issue.

I found this Gitlab thread describing this same issue- the thread has been open since 2023 but is still very active, with reports as late as kernel 6.19. There are many posts speculating as to the cause and suggesting various potential fixes/workarounds:

One of the suggested workarounds is to disable the atomic KMS API by provisioning an environment variable to force the mutter KMS mode to “simple”. I implemented this workaround three days ago, and have had no system freezes ever since. I do not know what tradeoffs there are by using simple vs. atomic; however, I have not noticed any performance or functionality impacts.

The environment variable can be provisioned persistently system-wide by executing the following two commands from terminal, and then rebooting:

sudo mkdir -p /etc/environment.d
echo "MUTTER_DEBUG_FORCE_KMS_MODE=simple" | sudo tee /etc/environment.d/mutter-kms.conf

NOTE: When I did this, for some reason the ability to lock my system (both through gnome GUI and Super + L shortcuts) was disabled. I fixed this by running the following command, which fixed the issue for me:

gsettings set org.gnome.desktop.lockdown disable-lock-screen false

So far this has fixed the issue for me; however, its only been three days of stability so I can only hope it persists. If you decide to try this, let me know how it goes!

-Benjamin

1 Like

Hi, Benjamin!

Thank you for your descriptive answer! The Linux community is so supportive - I am amazed!

I am also a newbie in the Linux world. I installed Fedora five days ago. :slight_smile: I will try your suggestion, but first I want to understand some things like KMS, Wayland, Atomic mode, etc. When I have some new information, I will let you know.

-Alex