Pipewire comes with a native module to send audio output to all connected audio devices. This is done by creating a combined output sink using module-combine-stream in Pipewire config. This is ideal if you have multiple Bluetooth headsets or speakers and want to output same audio to all of them at the same time.
The following instructions are tested on Debian 12 (Bookwork) using Gnome. They should work on other Debian based distros i.e. Ubuntu, Mint
The basic steps are as follows:
- Open
/usr/share/pipewire/pipewire.conf
- Find context.modules section and add a module block for
libpipewire-module-combine-stream
- Restart Pipewire
# Open pipewire.conf
sudo nano /usr/share/pipewire/pipewire.conf
# Add module-combine-stream to context.modules block.
context.modules = [
{ name = libpipewire-module-combine-stream
args = {
combine.mode = sink
node.name = "my_combined_sink"
node.description = "My Combined Sink"
combine.props = {
audio.position = [ FL FR ]
}
stream.rules = [
{
matches = [
{
media.class = "Audio/Sink"
}
]
actions = {
create-stream = {
}
}
}
]
}
}
]
# Restart Pipewire
systemctl --user restart pipewire pipewire-pulse
Once restarted, “All Connected Outputs” will appear in Top Panel and Sound Settings
![Gnome Sound Settings](https://thecodeninja.net/wp-content/uploads/2024/06/image-1-827x1024.png)
![Gnome Top Panel Audio Settings](https://thecodeninja.net/wp-content/uploads/2024/06/image-3.png)