** Description changed:

+ SRU Justification
+ =================
+ [Impact]
+ 
+ AMD Navi 21 graphics cards (RX 6800 / 6800 XT / 6900 XT) show an exact
+ half-screen region of vertical corruption, or black screens on boot,
+ after updating linux-firmware to 20240318.git3b128b60-0ubuntu2.28 or .29
+ on Ubuntu 24.04.
+ 
+ The corruption follows the active display and reproduces with a single
+ HDMI monitor. It shows on all tested kernels (6.8, 6.14, 6.17, 7.0).
+ Downgrading linux-firmware to 0ubuntu2.26/.27 fixes the display. The
+ regression follows the firmware package, not the kernel.
+ 
+ Error log from dmesg:
+ 
+ 
+ [drm] Wait for DMUB auto-load failed: 3
+ [drm] DMUB hardware initialized: version=0x01000000
+ 
+ amdgpu: SMU: I'm not done with your previous command:
+         SMN_C2PMSG_66:0x00000028 SMN_C2PMSG_82:0x00000000
+ amdgpu: Failed to enable gfxoff!
+ amdgpu: Failed to retrieve enabled ppfeatures!
+ 
+ 
+ [Fix]
+ 
+ The sienna_cichlid DMCUB firmware was updated in upstream commit
+ bec4fd18 ("amdgpu: DMCUB updates forvarious AMDGPU ASICs"), which
+ changed the ucode version from 0x2020020 to 0x1000000. That broke
+ display output on Navi 21. Upstream reverted the binary 8 days later in
+ commit 96af55bd ("amdgpu: Revert sienna cichlid dmcub firmware update").
+ Noble backported bec4fd18 but not the revert, so the bad 0x1000000 blob
+ shipped in 0ubuntu2.28/.29.
+ 
+ This SRU cherry-picks the upstream revert 96af55bd3, merged in linux-
+ firmware release 20240909. It restores amdgpu/sienna_cichlid_dmcub.bin
+ to the previous 114036-byte blob (ucode 0x2020020), byte-identical to
+ what shipped in the working 0ubuntu2.26/.27.
+ 
+ [Test Plan]
+ 
+ 1. Install the updated linux-firmware from -proposed, rebuild initramfs,
+ reboot:
+ 
+    $ sudo apt install linux-firmware
+    $ sudo update-initramfs -u
+    $ sudo reboot
+ 
+ 2. Verify the firmware blob is restored:
+ 
+    $ md5sum /lib/firmware/amdgpu/sienna_cichlid_dmcub.bin
+ 
+    Expected: 114036-byte blob, ucode 0x2020020, md5
+ fb312158b04675d9689803a34c06b0f6 (same as 0ubuntu2.26).
+ 
+ 3. Boot to the desktop and check the display renders correctly with one
+ monitor and with a 3-monitor setup.
+ 
+ 4. Check dmesg for clean DMUB init:
+ 
+    $ dmesg | grep -i dmub
+ 
+    Without patch: version=0x01000000, "DMUB auto-load failed: 3", half-screen 
corruption or black screen.
+    With patch: version=0x02020020, no DMUB errors, normal display.
+ 
+ [Where problems could occur]
+ 
+ Could break amdgpu display init on Navi 21 (sienna_cichlid).
+ 
+ If the reverted firmware is a mismatch for a driver version that
+ expected the 0x1000000 blob, DMUB init could fail on some Navi 21
+ boards. That would show up as a black screen at boot or a "Wait for DMUB
+ auto-load failed" message on those GPUs.
+ 
+ The change is limited to one DMCUB binary. It does not touch other
+ ASICs, other firmware files, or the kernel. This exact blob shipped in
+ 0ubuntu2.26/.27 with no reported issues.
+ 
+ =================
  Ubuntu 24.04.4 LTS, AMD Navi 21 / RX 6800-class GPU.
  
  System worked normally before the linux-firmware update on 2026-08-11
  23:44, when 20240318.git3b128b60-0ubuntu2.27 was upgraded to
  20240318.git3b128b60-0ubuntu2.29.
  
  With .29, the display has an exact half-screen region of vertical
  corruption; the mouse cursor remains correctly rendered above the
  corruption. It reproduces with a single HDMI monitor, so it is not
  dependent on DisplayPort or a three-monitor configuration. The
  corruption also follows the active monitor rather than one physical
  monitor/output.
  
  Both 6.8.0-137-generic and 7.0.0-28-generic reproduce the problem with
  .29. amdgpu.dcdebugmask=0x1 removes the half-screen corruption with
  fewer displays, but enabling the third monitor then causes all displays
  to go black; 0x41 prevents the graphical login from appearing with three
  monitors. Recovery/nomodeset displays correctly.
  
  Downgrading only linux-firmware to 20240318.git3b128b60-0ubuntu2.26,
  rebuilding initramfs and returning to normal AMDGPU settings makes the
  original three-monitor setup work again. No kernel/Mesa downgrade was
  necessary.
- 
  
  Regression:
  
  GOOD:
  Ubuntu 24.04.4
  kernel 6.8.0-137-generic
  linux-firmware 20240318.git3b128b60-0ubuntu2.26
  3 monitors
  normal amdgpu configuration
  => works correctly
  
  BAD:
  Ubuntu 24.04.4
  kernel 6.8.0-137-generic
  linux-firmware 20240318.git3b128b60-0ubuntu2.29
  => half-screen display corruption
  
  BAD:
  Ubuntu 24.04.4
  kernel 7.0.0-28-generic
  linux-firmware 20240318.git3b128b60-0ubuntu2.29
  => same corruption
  
  Therefore the regression follows the linux-firmware version
  rather than the tested kernel version.
  
  ProblemType: Bug
  DistroRelease: Ubuntu 24.04
  Package: linux-firmware 20240318.git3b128b60-0ubuntu2.26
  ProcVersionSignature: Ubuntu 6.8.0-137.137-generic 6.8.12
  Uname: Linux 6.8.0-137-generic x86_64
  ApportVersion: 2.28.3-0ubuntu0.1
  Architecture: amd64
  CasperMD5CheckResult: pass
  CurrentDesktop: Regolith:GNOME-Flashback:GNOME
  Date: Wed Aug 12 10:37:59 2026
  Dependencies: firmware-sof-signed 2023.12.1-1ubuntu1.11
  InstallationDate: Installed on 2022-06-19 (1515 days ago)
  InstallationMedia: Ubuntu 22.04 LTS "Jammy Jellyfish" - Release amd64 
(20220419)
  MachineType: Micro-Star International Co., Ltd. MS-7C95
  ProcFB: 0 amdgpudrmfb
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-6.8.0-137-generic 
root=UUID=515405b8-ecf6-4cf5-9820-3c1621b18748 ro quiet splash vt.handoff=7
  PulseList: Error: command ['pacmd', 'list'] failed with exit code 1: No 
PulseAudio daemon running, or not running as session daemon.
  RelatedPackageVersions:
-  linux-restricted-modules-6.8.0-137-generic N/A
-  linux-backports-modules-6.8.0-137-generic  N/A
-  linux-firmware                             20240318.git3b128b60-0ubuntu2.26
+  linux-restricted-modules-6.8.0-137-generic N/A
+  linux-backports-modules-6.8.0-137-generic  N/A
+  linux-firmware                             20240318.git3b128b60-0ubuntu2.26
  SourcePackage: linux-firmware
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 02/26/2021
  dmi.bios.release: 5.17
  dmi.bios.vendor: American Megatrends International, LLC.
  dmi.bios.version: 2.71
  dmi.board.asset.tag: To be filled by O.E.M.
  dmi.board.name: B550M PRO-VDH WIFI (MS-7C95)
  dmi.board.vendor: Micro-Star International Co., Ltd.
  dmi.board.version: 1.0
  dmi.chassis.asset.tag: To be filled by O.E.M.
  dmi.chassis.type: 3
  dmi.chassis.vendor: Micro-Star International Co., Ltd.
  dmi.chassis.version: 1.0
  dmi.modalias: 
dmi:bvnAmericanMegatrendsInternational,LLC.:bvr2.71:bd02/26/2021:br5.17:svnMicro-StarInternationalCo.,Ltd.:pnMS-7C95:pvr1.0:rvnMicro-StarInternationalCo.,Ltd.:rnB550MPRO-VDHWIFI(MS-7C95):rvr1.0:cvnMicro-StarInternationalCo.,Ltd.:ct3:cvr1.0:skuTobefilledbyO.E.M.:
  dmi.product.family: To be filled by O.E.M.
  dmi.product.name: MS-7C95
  dmi.product.sku: To be filled by O.E.M.
  dmi.product.version: 1.0
  dmi.sys.vendor: Micro-Star International Co., Ltd.

-- 
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