I'd like to have my system automatically output to all available sound devices (preferably using a sink in Pulseaudio Volume Control). This was possible when using Pulseaudio alone.
Is it possible with Pipewire? If yes, how would you achieve this?
Is it possible to set this up to be available automatically?
I finally found the answer after reporting a bug and getting a response to my question. The solution is so amazingly simple:
Run:
And you get the same functionality with PipeWire.
If I'm understanding these instructions correctly, you can make this permanent by copying
/usr/share/pipewire/pipewire-pulse.conf
to~/.config/pipewire/pipewire-pulse.conf
and adding:Then saving the file. Alternatively, you can add the first command to your startup applications.
This is to supplement OP's answer:
According to
man pipewire.conf
(and a bit of inferencing), you can use drop-in files to the same effect, so this should be the preferred way to do it IMO.The directories are
/etc/pipewire/pipewire-pulse.conf.d/
for global and$XDG_CONFIG_HOME/pipewire/pipewire-pulse.conf.d/
for user (which defaults to~/.config/pipewire/pipewire-pulse.conf.d/
if$XDG_CONFIG_HOME
is unset).So just create this file (
mkdir -p
if directory does not exist):$XDG_CONFIG_HOME/pipewire/pipewire.conf.d/add-combined-sink.conf
Note that in my testing, if I put the drop-in file in
/etc/pipewire/pipewire-pulse.conf.d/
, something weird happens to the combined output (pitch becomes higher and introduces regular stutters).If I have to guess, it's probably something related to the modules' loading order: most likely there is a way to fix it, but I haven't bothered to investigate. Putting it in
$XDG_CONFIG_HOME/pipewire/pipewire-pulse.conf.d/
works just fine though, so that's what I did.You can check with helvum if sinks and sources are properly connected.