Confirming this affects the RX 6950 XT (Navi 21 / Sienna Cichlid) as well, and 
adding a data point:
on my system the regression did not just cause display corruption — it caused a 
full boot hang with
no display AND no network (SSH unreachable), which took a while to diagnose 
since it initially looks
like a much broader boot failure rather than "just" a GPU/firmware issue.

System: TUXEDO OS 24.04.4 LTS (Ubuntu 24.04 noble base), AMD Ryzen 5 9600X, 
discrete AMD Radeon
RX 6950 XT (Navi 21, PCI ID 1002:73a5). Kernel 6.17.0-124040-tuxedo, also 
reproduced on
6.17.0-122035-tuxedo (regression follows the firmware package, not the kernel, 
confirming what's
already been established here).

linux-firmware was auto-upgraded from 0ubuntu2.27 to 0ubuntu2.29 overnight. 
Next normal boot: both
monitors stayed black, and the machine was completely unreachable on the 
network (no DHCP lease,
no SSH). Booting with nomodeset (recovery mode) worked fine and had working 
networking, which is
what let me get in and diagnose this remotely.

dmesg sequence on the broken boot (kernel 6.17.0-124040-tuxedo, linux-
firmware 0ubuntu2.29):

  amdgpu 0000:03:00.0: amdgpu: [drm] Display Core v3.2.340 initialized on DCN 
3.0
  amdgpu 0000:03:00.0: amdgpu: [drm] DP-HDMI FRL PCON supported
  amdgpu 0000:03:00.0: amdgpu: [drm] Wait for DMUB auto-load failed: 3
  amdgpu 0000:03:00.0: amdgpu: [drm] DMUB hardware initialized: 
version=0x01000000
  ...
  amdgpu 0000:03:00.0: amdgpu: SMU: I'm not done with your previous command: 
SMN_C2PMSG_66:0x00000029 SMN_C2PMSG_82:0x00000000
  amdgpu 0000:03:00.0: amdgpu: Failed to disable gfxoff!
  (repeats every ~4s for several minutes)
  amdgpu 0000:03:00.0: amdgpu: ring sdma3 timeout, signaled seq=9, emitted 
seq=11
  amdgpu 0000:03:00.0: amdgpu: Starting sdma3 ring reset
  amdgpu 0000:03:00.0: [drm:amdgpu_ring_test_helper [amdgpu]] *ERROR* ring 
kiq_0.2.1.0 test failed (-110)
  amdgpu 0000:03:00.0: [drm:amdgpu_ring_test_helper [amdgpu]] *ERROR* ring 
sdma3 test failed (-110)
  amdgpu 0000:03:00.0: amdgpu: Ring sdma3 reset failed
  amdgpu 0000:03:00.0: amdgpu: GPU reset begin!
  amdgpu 0000:03:00.0: amdgpu: MODE1 reset
  amdgpu 0000:03:00.0: amdgpu: GPU smu mode1 reset
  amdgpu 0000:03:00.0: amdgpu: GPU mode1 reset failed
  amdgpu 0000:03:00.0: amdgpu: ASIC reset failed with error, -62 for drm dev, 
0000:03:00.0
  amdgpu 0000:03:00.0: amdgpu: GPU reset end with ret = -62
  amdgpu 0000:03:00.0: amdgpu: GPU Recovery Failed: -62
  (loops)
  systemd[1]: systemd-logind.service: Watchdog timeout (limit 3min)!
  kernel: INFO: task kworker/u48:4:252 blocked for more than 122 seconds.
  kernel: Workqueue: amdgpu-reset-dev drm_sched_job_timedout [gpu_sched]
  kernel: Call Trace:
  kernel:  dma_fence_default_wait+0x1f0/0x250
  kernel:  dma_fence_wait_timeout+0x13a/0x170
  kernel:  drm_sched_stop+0x13e/0x1e0 [gpu_sched]
  kernel:  amdgpu_device_halt_activities.isra.0+0x1b3/0x270 [amdgpu]
  kernel:  amdgpu_device_gpu_recover+0x115/0x400 [amdgpu]
  kernel:  amdgpu_job_timedout+0x1c1/0x340 [amdgpu]
  kernel:  drm_sched_job_timedout+0x6d/0x150 [gpu_sched]

Because several kworkers stay permanently blocked in D-state waiting on GPU 
fences, and
sddm.service pulls in systemd-udev-settle.service, SDDM never actually starts 
(hence the black
screens), and NetworkManager never finishes bringing up the wired NIC either 
(hence no network/SSH).
So on this card the bug isn't just cosmetic corruption, it's effectively an 
unbootable/unreachable
system unless you know to boot with nomodeset.

Confirmed the firmware-level root cause independently: 
/lib/firmware/amdgpu/sienna_cichlid_dmcub.bin.zst
is the only sienna_cichlid_* firmware file that differs between 0ubuntu2.26 and 
0ubuntu2.29 (all of
ce/me/mec/mec2/pfp/rlc/sdma/smc/sos/ta/vcn are byte-identical). In 0ubuntu2.26 
it's a symlink to
beige_goby_dmcub.bin.zst (sha256 
e095010915468c30598c1118b0d955762e49f08f9e835fe5d1f9ecb0788fb016);
in 0ubuntu2.29 it's a standalone 37726-byte file (sha256
25bea6217254e43387dfdf444d8f90c26929ade2dd793c5db7fb9b37ab83e3fe). This matches 
what's already been
established in this thread (ucode 0x1000000 from bec4fd18 vs the reverted 
0x2020020).

Workaround confirmed working: 
  sudo apt-get install --allow-downgrades 
linux-firmware=20240318.git3b128b60-0ubuntu2.26
  sudo apt-mark hold linux-firmware
  sudo reboot
Clean boot afterwards, zero amdgpu errors in the journal, both monitors back, 
network up immediately.

Happy to test the -proposed fix once it's available and report back.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2163303

Title:
  [regression] linux-firmware 20240318.git3b128b60-0ubuntu2.29 causes
  half-screen corruption/black screens on AMD Navi 21; 0ubuntu2.26 works

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-firmware/+bug/2163303/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to