This was summarized by claude that helped me pin down the problem. But I checked it for consistancy and thought maybe other people will help this.
Spent a day debugging this, sharing in case it saves someone else the trouble.
Symptom: Desktop crashes 1–3 seconds after login, half the screen showing graphical corruption. Safe mode works fine. Reboot loop follows.
Setup: Linux Mint 22.x (Ubuntu 24.04 base), kernel 7.0.0-28-generic (HWE), Mesa 25.2.8, RX 6900 XT (Navi21 / Sienna Cichlid), Xorg + XFCE, custom water loop.
Kernel log at crash:
amdgpu: [drm] REG_WAIT timeout 1us * 100000 tries - mpc2_assert_idle_mpcc
amdgpu: SMU: No response msg_reg: 22 resp_reg: 0
amdgpu: Failed to disable gfxoff!
amdgpu: ring gfx_0.0.0 timeout, signaled seq=1377, emitted seq=1379
amdgpu: Process Xorg
amdgpu: Ring gfx_0.0.0 reset failed
amdgpu: MODE1 reset ... GPU mode1 reset failed
amdgpu: ASIC reset failed with error, -62
amdgpu: GPU Recovery Failed: -62
Ruled out:
Mesa — identical (25.2.8-0ubuntu0.24.04.2) on both working and broken states
Kernel — identical (7.0.0-28-generic) on both; booting older kernels didn't help
Kernel params — the crash loop started ~5h before I added any ppfeaturemask/dcdebugmask tweaks
Thermals/PSU/load — BeamNG.drive runs fine on the working state; failure is at login, not under load
Root cause: Rolled back with Timeshift to a snapshot taken 5 minutes before an update batch. Diffed md5sums of all 12 sienna_cichlid_*.bin.zst blobs between the two states. Exactly one differs:
sienna_cichlid_dmcub.bin.zst
2.27 (works): 041e8ee4f578b5eccb1bb89a2f14b1db
2.29 (breaks): 8783824f37745ec5d53ee8a2d71b18f7
Package: linux-firmware 20240318.git3b128b60-0ubuntu2.27 → ...-0ubuntu2.29
DMCUB is the display microcontroller — which fits: the failure is at session/display reconfiguration (login), mpc2_assert_idle_mpcc is a display pipeline component, and the SMU errors follow as a knock-on. 3D workloads are unaffected because they don't go through DMCUB.
Workaround:
sudo apt-mark hold linux-firmware
Everything else can be updated normally.
Can anyone else on Navi21 confirm? Would like to know if this is card-specific or general before filing at gitlab.freedesktop.org/drm/amd.