Input and output ports change to highest priority ones when changing screen resolution
- PipeWire version (
pipewire --version
): 0.3.39 - Distribution and distribution version (
PRETTY_NAME
from/etc/os-release
): Debian GNU/Linux bookworm/sid - Desktop Environment: KDE 5.23.0
- Kernel version (
uname -r
): 5.14.0-2-amd64
Description of Problem:
I upgraded Debian from stable (bullseye) to testing (bookworm) which implicitly introduced PipeWire as a replacement to PulseAudio. Running xrandr
to change resolutions causes PipeWire to switch from Headphones
and Headset Microphone
to Speakers
and Internal Microphone
.
How Reproducible:
Always.
Steps to Reproduce:
- Switch to
Headphones
andHeadset Microphone
if not already done. - Change resolution using
xrandr
e.g.,xrandr --output DP-1 --mode 1280x720 --rate 60
. [1] - Change resolution again using
xrandr
eg.,xrandr --output DP-1 --mode 3840x2160 --rate 60
. [2]
Actual Results:
- Ports change to
Speakers
andInternal Microphone
. - Ports are still
Speakers
andInternal Microphone
.
Expected Results:
- Ports remain the same,
Headphones
andHeadset Microphone
. - Ports remain the same,
Headphones
andHeadset Microphone
.
Additional Info (as attachments):
-
pw-dump > pw-dump.log
: pw-dump.log -
pw-mon >log 2>&1
before switching resolution: log -
pw-mon >log2 2>&1
before switching resolution: log2
I believe this is related to DP-1, my external monitor, which is probably triggering ports updating thus selecting highest priority ones. eDP-1, the laptop's screen, does not trigger this behavior.
If the above assumption is correct, does that mean PipeWire (PulseAudio-specific) prefers highest priority ports regardless of previous selection and their presence after ports reload/update?