[Pkg-utopia-maintainers] Bug#1122658: pipewire-audio: HDMI audio shows only Dummy Output; ACP reports ports:0 despite valid ELD
Lior Okman
lior.okman at gmail.com
Fri Dec 12 09:25:14 GMT 2025
Package: pipewire-audio
Version: 1.5.84-1
Severity: important
X-Debbugs-Cc: lior.okman at gmail.com
Dear Maintainer,
After a recent upgrade, HDMI audio no longer works on my system.
GNOME and PipeWire show only “Dummy Output”, even though ALSA and the kernel
detect HDMI audio correctly and ELD is valid.
This worked until recently on the same system.
Hardware:
- GPU: AMD Radeon RX 6800 (Navi21)
- HDMI/DP audio via HDA (snd_hda_intel)
- Desktop: GNOME (Wayland)
- Architecture: amd64
What works:
- Video over DisplayPort works
- ALSA detects HDMI audio
- ELD is valid (monitor_present=1, eld_valid=1)
- ALSA playback devices hw:0,3 hw:0,7 ... exist
What is broken:
- PipeWire creates only a Dummy Output sink
- No HDMI sinks are created
- WirePlumber behaves correctly given the information from ACP
Key diagnostics:
1) ALSA cards:
$ cat /proc/asound/cards
0 [Webcam ]: USB-Audio - C670i FHD Webcam
C670i FHD Webcam at usb-0000:69:00.0-2.4, high speed
1 [HDMI ]: HDA-Intel - HDA ATI HDMI
HDA ATI HDMI at 0xdd820000 irq 155
2 [Generic ]: HDA-Intel - HD-Audio Generic
HD-Audio Generic at 0xdd688000 irq 156
3 [Generic_1 ]: HDA-Intel - HD-Audio Generic
HD-Audio Generic at 0xdd680000 irq 157
2) ELD is valid:
$ grep -R . /proc/asound/card1/eld* | grep -e 'eld_valid' -e 'monitor'
/proc/asound/card1/eld#0.0:monitor_present 1
/proc/asound/card1/eld#0.0:eld_valid 1
/proc/asound/card1/eld#0.0:monitor_name DELL U3821DW
/proc/asound/card1/eld#0.1:monitor_present 0
/proc/asound/card1/eld#0.1:eld_valid 0
/proc/asound/card1/eld#0.2:monitor_present 0
/proc/asound/card1/eld#0.2:eld_valid 0
/proc/asound/card1/eld#0.3:monitor_present 0
/proc/asound/card1/eld#0.3:eld_valid 0
/proc/asound/card1/eld#0.4:monitor_present 0
/proc/asound/card1/eld#0.4:eld_valid 0
/proc/asound/card1/eld#0.5:monitor_present 0
/proc/asound/card1/eld#0.5:eld_valid 0
3) ALSA playback devices exist:
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [DELL U3821DW]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 11: HDMI 5 [HDMI 5]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Generic [HD-Audio Generic], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Generic [HD-Audio Generic], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 3: Generic_1 [HD-Audio Generic], device 0: ALC1220 Analog [ALC1220 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
4) ACP sees only the capture device
$ spa-acp-tool list-devices
* device 0: direction:capture name:"pro-input-0" prio:0 flags:00000001 devices: "hw:0,0"
device 1: direction:capture name:"mono-fallback" prio:1 flags:00000000 devices: "hw:%f"
$ spa-acp-tool list
card 0: profiles:3 devices:2 ports:1
profile 0: name:"off" prio:0 (available: yes)
* profile 1: name:"pro-audio" prio:1 (available: yes)
profile 2: name:"input:mono-fallback" prio:1 (available: unknown)
port 0: name:"analog-input-mic" direction:capture prio:8700 (available: unknown)
* device 0: direction:capture name:"pro-input-0" prio:0 flags:00000001 devices: "hw:0,0"
device 1: direction:capture name:"mono-fallback" prio:1 flags:00000000 devices: "hw:%f"
5) PipeWire state:
$ wpctl status
PipeWire 'pipewire-0' [1.5.84, cookie:1347047742]
Audio
├─ Devices:
│ 48. Navi 21/23 HDMI/DP Audio Controller [alsa]
│ 49. C670i FHD Webcam [alsa]
│ 50. Radeon High Definition Audio Controller [alsa]
│ 51. Ryzen HD Audio Controller [alsa]
│
├─ Sinks:
│ * 35. Dummy Output [vol: 1.00]
│
├─ Sources:
│ * 61. C670i FHD Webcam Mono [vol: 1.00]
│
├─ Filters:
│
└─ Streams:
Kernel:
- linux-image-6.17.11+deb14-amd64
(same behavior on 6.17.6)
Workaround was to disable both ACP and UCM for HDMI audio:
monitor.alsa.rules = [
{
matches = [
{ device.name = "alsa_card.pci-0000_03_00.1" }
]
actions = {
update-props = {
api.alsa.use-acp = false
api.alsa.use-ucm = false
}
}
}
]
After restarting WirePlumber and PipeWire, HDMI sinks appear and audio works.
Conclusion:
- Kernel, ALSA, and ELD are correct
- PipeWire ACP detects HDMI playback PCMs but fails to create any ports
- WirePlumber correctly falls back to Dummy Output
- Disabling ACP fixes the issue
This appears to be a regression in PipeWire’s ALSA Card Profile handling
for HDA HDMI devices on recent kernels.
Please let me know if additional diagnostics would be useful.
Thank you for your help!
-- System Information:
Debian Release: forky/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 6.17.11+deb14-amd64 (SMP w/32 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_IL:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages pipewire-audio depends on:
ii libspa-0.2-bluetooth 1.5.84-1
ii pipewire-alsa 1.5.84-1
ii pipewire-pulse 1.5.84-1
ii wireplumber 0.5.12-2
pipewire-audio recommends no packages.
pipewire-audio suggests no packages.
-- no debconf information
More information about the Pkg-utopia-maintainers
mailing list