* Intel/sof-hda-dsp/Hdmi.conf: HDMI devices always registered with high priority regardless of availability, causing Speaker to be ignored as fallback sink
[not found] <1898cdd79986d200-webhooks-bot@alsa-project.org>
@ 2026-03-01 19:19 ` GitHub issues - opened
0 siblings, 0 replies; only message in thread
From: GitHub issues - opened @ 2026-03-01 19:19 UTC (permalink / raw)
To: alsa-devel
alsa-project/alsa-ucm-conf issue #711 was opened from abelic:
## Description
In `ucm2/Intel/sof-hda-dsp/Hdmi.conf`, all three HDMI ports are registered
unconditionally using `Condition { Type AlwaysTrue }` with priorities 500, 600
and 700. The laptop Speaker has priority 100 (from `HDA/HiFi-analog.conf`).
This causes PipeWire/WirePlumber to always select HDMI1 as the fallback sink
when the default sink becomes unavailable (e.g. Bluetooth speaker suspends),
even when no monitor is connected. Audio is silently routed to HDMI1 (RUNNING
state with no output) instead of the laptop Speaker.
## Hardware
- Laptop: Huawei RLEFG-XX M1010
- Audio: Intel Raptor Lake-P/U/H cAVS (sof-hda-dsp)
- OS: Fedora 43
- PipeWire: 1.4.10
- WirePlumber: 0.5.13
## Steps to reproduce
1. Connect a Bluetooth audio device
2. Play audio — it routes correctly to Bluetooth
3. Disconnect or suspend the Bluetooth device
4. Audio is routed to HDMI1 sink instead of the laptop Speaker
## Observed behavior
`pactl list short sinks` shows HDMI1 as RUNNING while Speaker is SUSPENDED.
WirePlumber selects HDMI1 as fallback because its priority (500) is higher
than Speaker (100), even though no monitor is connected and HDMI ports are
reported as "not available".
## Expected behavior
When HDMI ports are not available (no monitor connected), the Speaker should
be selected as the fallback sink.
## Relevant config
`ucm2/Intel/sof-hda-dsp/Hdmi.conf`:
```
If.hdmi1 {
Condition { Type AlwaysTrue } # <-- no availability check
True.Macro.hdmi1.HDMI {
Number 1
Device 3
Priority 500 # higher than Speaker (100)
}
}
If.hdmi2 {
Condition { Type AlwaysTrue }
True.Macro.hdmi1.HDMI {
Number 2
Device 4
Priority 600
}
}
If.hdmi3 {
Condition { Type AlwaysTrue }
True.Macro.hdmi1.HDMI {
Number 3
Device 5
Priority 700
}
}
```
`ucm2/HDA/HiFi-analog.conf` (relevant excerpt):
```
Value {
PlaybackPriority 100 # Speaker priority — lower than all HDMI ports
...
}
```
## Suggested fix
Add availability detection for HDMI ports before assigning high priority,
or lower HDMI priority when the port is not available, similar to how
Headphones use `JackControl` for availability detection.
Issue URL : https://github.com/alsa-project/alsa-ucm-conf/issues/711
Repository URL: https://github.com/alsa-project/alsa-ucm-conf
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-03-01 19:22 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1898cdd79986d200-webhooks-bot@alsa-project.org>
2026-03-01 19:19 ` Intel/sof-hda-dsp/Hdmi.conf: HDMI devices always registered with high priority regardless of availability, causing Speaker to be ignored as fallback sink GitHub issues - opened
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox