Wireplumber doesn't switch to audio to headphone when connected to a combined audio port
OS info: Fedora Silverblue 35 Beta
Version: 35.20211009.n.0 (2021-10-09T08:08:27Z)
pipewire and wireplumber packages:
pipewire-0.3.38-1.fc35.x86_64
pipewire-alsa-0.3.38-1.fc35.x86_64
pipewire-gstreamer-0.3.38-1.fc35.x86_64
pipewire-jack-audio-connection-kit-0.3.38-1.fc35.x86_64
pipewire-libs-0.3.38-1.fc35.x86_64
pipewire-pulseaudio-0.3.38-1.fc35.x86_64
pipewire-utils-0.3.38-1.fc35.x86_64
wireplumber-0.4.3-1.fc35.x86_64
wireplumber-libs-0.4.3-1.fc35.x86_64
Hi, so a bit of context first.
Older laptops apparently used to come with two audio jacks: one for microphones and the other for output.
Newer ones apparently usually combine those two audio jacks into one, so it is usually easier to use headphones with integrated microphones (such as a phone headphone).
On GNOME, usually when you connect a device to that combined port, it pops a system selector allowing you to select "headphones", "headset" and "microphone" as the way that device will be used.
So, I have been testing pipewire since it became usable on Fedora (on Fedora 33, I think?).
On pulseaudio it would usually work such as:
- I'm listening to some music, I plug in my headphones, the audio is automatically changed to the headphones (in headphone mode, so only the output device is changed and the input device is kept as is) and then I can choose whether to change that on the selector dialog that also pops up.
When I initially migrated to pipewire-pulse, things worked like this:
- I'm listening to some music, I plug in my headphones, the audio is not changed to the headphones and it keeps going through the speakers, so to even have the audio come from the headphone I have to select the headphone option.
At some point in the many releases of pipewire, the behavior got back to be the one from pulseaudio, so I guess some change happened (most likely in the session manager).
So, now I got to Fedora 35, which uses WirePlumber, and the same behavior as when I first used pipewire-pulse is back: sound is not automatically changed to headphone when a headphone is connected to the combined audio jack.
I guess then that the same change that fixed this issue on pipewire's simple session manager has to also happen in WirePlumber.