PipeWire with Wireplumber on Debian

Add the repo

To be able to download Wireplumber, let’s first add the repository.

Find your architecture here and follow the instructions. Here’s an example for AMD64 machines, add this to your /etc/apt/sources.list:

deb http://ftp.de.debian.org/debian sid main

Be sure to remove the repository from /etc/apt/sources.list.d/ after installing all the necessary packages. If you run apt update && apt upgrade while having the added unstable repo in the list, upgrading will switch your system to unstable.

Installation

Now, update the packages:

sudo apt update

Install PipeWire, Wireplumber and dependencies:

sudo apt install gstreamer1.0-pipewire \ 
                 libpipewire-0.3-{0,dev,modules} \
                 libspa-0.2-{bluetooth,dev,jack,modules} \
                 pipewire{,-{audio-client-libraries,pulse,bin,jack,alsa,v4l2,libcamera,locales,tests}} \
                 wireplumber{,-doc} \
                 gir1.2-wp-0.4 libwireplumber-0.4-{0,dev} \
                 pipewire-media-session

Enable PipeWire

Disable PulseAudio and related services:

systemctl --user --now disable pulseaudio.{socket,service}
systemctl --user mask pulseaudio

Copy the configuration files:

sudo cp -vRa /usr/share/pipewire /etc/

Enable PipeWire services:

systemctl --user --now enable pipewire{,-pulse}.{socket,service} filter-chain.service

Start pipewire-media-session:

systemctl --user enable --now pipewire-media-session.service

Enable Wireplumber

Finally, start Wireplumber:

systemctl --user --now enable wireplumber.service

Reboot and check whether it’s running:

pactl info | grep '^Server Name'

Expected output:

Server Name: PulseAudio (on PipeWire 0.3.63)

Autoswitch on connect

If you use bluetooth headphones, it’s a neat feature to switch the audio to it automatically. You can enable it by adding the next line to content.exec in /etc/pipewire/pipewire.conf:

context.exec = [
    ...
    
    { path = "pactl" args = "load-module module-switch-on-connect" }
]

Reference:

  1. PipeWire on Debian Wiki
  2. PipeWire on Arch Wiki
  3. pipewire-debian/pipewire-debian on GitHub
  4. PipeWire Debian Package