Pipewire and "default" devices order
After switching from pulseaudio to pipewire the main inconvenience is default output switching. In my setup I have 2 or 3 outputs.
- Built-in Intel HDA
- USB sound card built into the docker station
- Bluetooth earphones / HFP
Most of time I use (2). Sometimes I use (3) to answer calls. And here are problems. I have this in media-session.conf:
default = [
flatpak # manages flatpak access
portal # manage portal permissions
v4l2 # video for linux udev detection
#libcamera # libcamera udev detection
suspend-node # suspend inactive nodes
policy-node # configure and link nodes
#metadata # export metadata API
default-nodes # restore default nodes
default-profile # restore default profiles
default-routes # restore default route
streams-follow-default # move streams when default changes
#alsa-seq # alsa seq midi support
#alsa-monitor # alsa udev detection
#bluez5 # bluetooth support
restore-stream # restore stream settings
#logind # systemd-logind seat support
]
By default all the output goes to (2). Once (3) attached, transition to (3) does not happens automatically. Likely this can be done, and I overlooked something. Not a big deal. So I select the (3) output manually for app(s) which I use for calls or as default output, depends on the situation. Once (3) is disconnected, default output goes not to (2), but to (1).
Likely designing logic which will fit everybody is hard thing. Maybe it's possible to put priorities to the outputs and configurations somewhere, to do such things automatically?