I took my conversation with Claude and used the Artifacts to generate a bug report of what is going on. This should make it easier on everyone to follow what has been tried and found than trying to reread through the whole post.
Bug Report: AMD HDMI Audio Silent on Kernel 6.19+
Status: Open
Filed: May 2026
Bugzilla: kernel org bugzilla (ticket filed)
Freedesktop: drm/amd GitLab (cross-reference recommended)
Reporter: spiderman (CachyOS)
Affected Hardware
| Component | Detail |
|---|---|
| Motherboard | MSI X870E Tomahawk WIFI (BIOS version AB) |
| GPU | AMD RX 9070 XT — Navi 48, DCN401, PCI 0000:03:00:0 |
| GPU HDMI Audio | PCI 0000:03:00:1 |
| Audio Output | IT663x1 soundbar via HDMI port |
| OS | CachyOS (rolling), GNOME |
| Sound Server | PipeWire 1.6.4 / WirePlumber |
Secondary system also affected:
- AMD Ryzen 5 5500U laptop, Lucienne iGPU (DCN2.1), CachyOS GNOME
Confirmed unaffected:
- Intel Core i5-8250U / Intel UHD 620 — HDMI audio works on 6.19
Summary
Native HDMI audio from the AMD RX 9070 XT (and AMD Lucienne iGPU on a separate laptop) is completely silent on kernel 6.19 and later. Kernel 6.18 LTS works correctly on both systems. The issue is AMD-specific, confirmed across multiple distros, and occurs at the raw ALSA hardware level — it is not a PipeWire, WirePlumber, or configuration issue.
Kernel Version Testing Matrix
| Kernel | Distro | Audio Works? |
|---|---|---|
| 6.18 LTS | CachyOS (Jan ISO) | Yes |
| 6.18 LTS | CachyOS (current, installed) | Yes |
| 6.18 LTS | CachyOS laptop (Lucienne) | Yes |
| 6.19.x | CachyOS (Apr ISO, live) | No |
| 6.19.x | EndeavourOS (Apr ISO, live) | No |
| 6.19.10 | Fedora 44 (live ISO) | No |
| 7.0.x | CachyOS (current, installed) | No |
| 7.0.3 | CachyOS laptop (Lucienne) | No |
Symptoms
-
Native HDMI audio completely silent — no sound from soundbar
-
speaker-test -D hw:1,9 -c6 -t sine runs without errors but produces no audio
-
PipeWire routing appears correct; wpctl status shows correct default sink
-
PCM device transitions to RUNNING state during playback, then back to closed
-
Key finding: tstamp 0.000000000 throughout active playback — hardware timestamp never increments
-
hw_ptr and appl_ptr both advance, but large delay accumulates (e.g. 38777), indicating data written to buffer but never consumed by hardware
-
GNOME audio settings show correct sink; pavucontrol shows audio bars moving
Root Cause Analysis
Definitively Ruled Out
| Theory | Evidence Against |
|---|---|
| PipeWire/WirePlumber issue | Raw ALSA speaker-test with PipeWire fully stopped still silent |
| HDMI cable/spec mismatch | Two different cables tested; same result |
| Soundbar hardware | DP to HDMI adapter works on kernel 7.0 with same soundbar and cable |
| ELD/HDMI detection failure | eld_valid: 1, monitor_present: 1, full SAD data on both kernels |
| Codec initialization difference | codec#0 Node 0x08 state identical on 6.18 (working) and 7.0 (broken) |
| Power state issue | power_state: D0, runtime_status: active confirmed on 7.0 |
| DMUB firmware change | Laptop has identical DMUB on both working and broken kernels — rules out firmware as root cause |
| CachyOS-specific config | Also broken on EndeavourOS and Fedora live ISOs |
| Intel regression | Intel UHD 620 HDMI audio works fine on 6.19 |
Confirmed Root Cause
The amdgpu display engine is not generating DMA completion interrupts for the HDMI audio stream on kernel 6.19+.
Evidence:
-
PCM reaches RUNNING state but tstamp stays 0.000000000
-
Buffer fills (appl_ptr advances) but hardware never acknowledges transmission
-
Identical behavior on two different AMD GPU architectures (Navi 48 DCN401, Lucienne DCN2.1)
-
The regression is in the amdgpu kernel driver code (drivers/gpu/drm/amd/display/), not in firmware
Technical Details
Working State (Kernel 6.18 LTS)
Card: card1 = HDA ATI HDMI (PCI 0000:03:00:1)
Active sink: alsa_output.pci-0000_03_00.1.hdmi-surround-extra3
Profile: Digital Surround 5.1 (HDMI 4)
DMUB firmware (9070 XT): 0x0A003500
HDA bind: snd_hda_intel 0000:03:00:1 bound 0000:03:00:0 at ~7.8s
speaker-test -D hw:1,9 -c6 -t sine — SOUND HEARD
Broken State (Kernel 7.0)
Card: card1 = HDA ATI HDMI (PCI 0000:03:00:1)
Active sink: alsa_output.pci-0000_03_00.1.hdmi-surround-extra3
Profile: Digital Surround 5.1 (HDMI 4)
DMUB firmware (9070 XT): 0x0A000800
HDA bind: snd_hda_intel 0000:03:00:1 bound 0000:03:00:0 at ~16.8s
speaker-test -D hw:1,9 -c6 -t sine — SILENT (no error)
PCM status during playback: RUNNING but tstamp 0.000000000
ELD Data (Identical on Both Kernels)
monitor_name: IT663x1
connection_type: HDMI
eld_valid: 1
monitor_present: 1
speakers: FL/FR LFE FC
sad_count: 9 (LPCM, TrueHD, E-AC-3, AC-3, AAC, DTS, DTS-HD)
Codec Node 0x08 (Identical on Both Kernels)
Node 0x08 [Audio Output]: Stereo Digital Stripe
Converter: stream=1, channel=0
Digital: Enabled GenLevel
Digital category: 0x2
Workarounds
| Workaround | Status |
|---|---|
| Use kernel 6.18 LTS | Works — native HDMI audio fully functional |
| DisplayPort to HDMI adapter | Works on kernel 7.0 (audio shows as CSM on soundbar) |
| amdgpu.audio=1 kernel param | No effect |
| amdgpu.dc=1 kernel param | No effect |
| WirePlumber suspension config | No effect |
| IEC958 AES flags via amixer | No effect |
| EDID firmware override | No effect (ELD already valid) |
| echo on to power/control for PCI device | No effect (device already D0) |
| Pro Audio profile in pavucontrol | No effect |
| PipeWire 1.6.5 update | Not applicable — issue is below PipeWire level |
Related Issues
| Issue | Location | Notes |
|---|---|---|
| RX 9070 XT eARC HDMI no audio | freedesktop drm/amd | Same GPU, different root cause (EDID Speaker Allocation Data Block). Alex Deucher tagged. |
| RX 9070 XT PCIe bus drops (idle) | freedesktop drm/amd | HDA controller failing to wake from D3hot is first symptom. Related power management issue. |
| RX 5700 XT HDMI audio dropouts | freedesktop drm/amd | PCM shows closed during active playback — overlapping symptom |
Key Information for Kernel Developers
The definitive reproducer:
Boot kernel 6.19+ with AMD GPU connected via HDMI to audio device, then stop PipeWire completely and run speaker-test. In a second terminal, watch the PCM status — tstamp will remain 0.000000000 throughout playback, indicating the hardware never acknowledges the audio stream.
Where to look: drivers/gpu/drm/amd/display/ — changes between v6.18 and v6.19 affecting HDMI audio DMA interrupt generation in the display engine audio path.
DMUB firmware note: Desktop system shows different DMUB versions between kernels (0x0A003500 on 6.18, 0x0A000800 on 6.19+). However, the laptop (Lucienne) has identical DMUB (0x0101002B) on both kernels yet shows the same regression — confirming the root cause is in kernel driver code, not firmware.
Changelog
| Date | Update |
|---|---|
| May 9 | Initial investigation; identified DMI denylist (ruled out as cause of HDMI issue) |
| May 9 | Confirmed ELD valid, codec identical on both kernels |
| May 9 | Raw ALSA speaker-test confirms issue is below PipeWire level |
| May 9 | Identified DMUB firmware version difference between kernels |
| May 10 | Confirmed fresh OS install vs upgrade path as context; IEC958 flag theory ruled out |
| May 10 | DP to HDMI adapter confirmed working on kernel 7.0 |
| May 12 | Laptop (Lucienne) confirmed same regression — broadens scope beyond Navi 48 |
| May 12 | Intel UHD 620 confirmed unaffected — AMD-specific regression |
| May 13 | Definitive finding: tstamp 0.000000000 during active HDMI playback — DMA completion interrupts not generated by amdgpu display engine |
| May 13 | Laptop DMUB firmware identical on both kernels — rules out firmware, confirms kernel driver code regression |
| May 13 | kernel org bugzilla ticket filed; freedesktop cross-reference recommended |