pipewire/spa/plugins/alsa/mixer/paths
Masum Reza f76327e076 alsa: acp: don’t override user-selected port on availability changes
ACP was re-selecting the “best” port on every port availability event,
even when a port was already explicitly selected by the user. This
differs from PulseAudio’s behavior, where port switching decisions are
left to higher-level policy.

This caused issues on devices where Line Out (speakers) and Headphones
share the same analog interface: when headphones are plugged in, ACP
would immediately switch away from the user-selected Line Out, or end up
in a state where no sound is produced despite selecting speakers explicitly from
clients like pwvucontrol.

Fix this by only re-evaluating and switching ports when:
  - no active port is currently selected, or
  - the active port has become unavailable

This preserves manual user choices and prevents ACP from fighting client
port selections during route activation.

Additionally, adjust ALSA mixer paths to better separate Line Out and
Headphones behavior:
  - Disable Line Out controls in the headphones path
  - Add explicit Line Out and Auto-Mute Mode handling in the lineout path

Together, these changes align PipeWire’s behavior more closely with
PulseAudio and fix cases where selecting speakers while headphones are
plugged results in no audio output.

Signed-off-by: John Titor <masumrezarock100@gmail.com>
2026-04-16 10:45:01 +00:00
..
analog-input-aux.conf
analog-input-dock-mic.conf
analog-input-fm.conf
analog-input-front-mic.conf
analog-input-headphone-mic.conf
analog-input-headset-mic.conf
analog-input-internal-mic-always.conf
analog-input-internal-mic.conf
analog-input-linein.conf
analog-input-mic-line.conf
analog-input-mic.conf
analog-input-mic.conf.common
analog-input-rear-mic.conf alsa: sync with pulseaudio 2021-09-23 15:02:08 +02:00
analog-input-tvtuner.conf
analog-input-video.conf
analog-input.conf
analog-input.conf.common
analog-output-chat.conf
analog-output-headphones-2.conf alsa-mixer: only use switch to mute Front in the Headphone path 2021-05-31 13:08:19 +02:00
analog-output-headphones.conf alsa: acp: don’t override user-selected port on availability changes 2026-04-16 10:45:01 +00:00
analog-output-lineout.conf alsa: acp: don’t override user-selected port on availability changes 2026-04-16 10:45:01 +00:00
analog-output-mono.conf acp: update to latest 2021-01-05 10:08:31 +01:00
analog-output-speaker-always.conf acp: update to latest 2021-01-05 10:08:31 +01:00
analog-output-speaker.conf acp: update to latest 2021-01-05 10:08:31 +01:00
analog-output.conf
analog-output.conf.common Expose output select for Soundblaster cards 2021-06-10 07:39:04 +00:00
audigy-analog-output-mirror.conf alsa-profiles: SB Audigy: stereo mixer paths 2023-04-09 12:20:26 -07:00
audigy-analog-output.conf alsa-profiles: SB Audigy: stereo mixer paths 2023-04-09 12:20:26 -07:00
hdmi-output-0.conf Add SOC-style jack names to HDMI audio paths 2024-03-01 09:33:55 +00:00
hdmi-output-1.conf Add SOC-style jack names to HDMI audio paths 2024-03-01 09:33:55 +00:00
hdmi-output-2.conf Add SOC-style jack names to HDMI audio paths 2024-03-01 09:33:55 +00:00
hdmi-output-3.conf Add SOC-style jack names to HDMI audio paths 2024-03-01 09:33:55 +00:00
hdmi-output-4.conf Add SOC-style jack names to HDMI audio paths 2024-03-01 09:33:55 +00:00
hdmi-output-5.conf Add SOC-style jack names to HDMI audio paths 2024-03-01 09:33:55 +00:00
hdmi-output-6.conf Add SOC-style jack names to HDMI audio paths 2024-03-01 09:33:55 +00:00
hdmi-output-7.conf Add SOC-style jack names to HDMI audio paths 2024-03-01 09:33:55 +00:00
hdmi-output-8.conf Add SOC-style jack names to HDMI audio paths 2024-03-01 09:33:55 +00:00
hdmi-output-9.conf Add SOC-style jack names to HDMI audio paths 2024-03-01 09:33:55 +00:00
hdmi-output-10.conf Add SOC-style jack names to HDMI audio paths 2024-03-01 09:33:55 +00:00
iec958-stereo-input.conf
iec958-stereo-output.conf
logi407-iec958-stereo-output.conf Option of analog or iec958 stereo output, both merging volume switches 2025-07-21 12:19:13 +00:00
steelseries-arctis-output-chat-common.conf
steelseries-arctis-output-game-common.conf
usb-gaming-headset-input.conf
usb-gaming-headset-output-mono.conf
usb-gaming-headset-output-stereo.conf
virtual-surround-7.1.conf