How to replace pulseaudio with pipewire on Ubuntu 21.04?

Solution 1:

Yes indeed, this is possible and fairly simple, just follow the steps described in the Debian docs:

First install the pipewire-audio-client-libraries package.

sudo apt install pipewire-audio-client-libraries

Create this empty file:

touch /etc/pipewire/media-session.d/with-pulseaudio

Create a pipewire-pulse service by copying the example files:

cp /usr/share/doc/pipewire/examples/systemd/user/pipewire-pulse.* /etc/systemd/user/

Run these three commands as your regular user (not as root):

// Check for new service files with:
systemctl --user daemon-reload
// Disable and stop the PulseAudio service with:
systemctl --user --now disable pulseaudio.service pulseaudio.socket
// Enable and start the new pipewire-pulse service with:
systemctl --user --now enable pipewire pipewire-pulse

You can check which server is in use by, as your regular user, running:

pactl info | grep '^Server Name'

If it's using PipeWire, the server name will be "PulseAudio (On PipeWire 0.3.19)"

To makeit work I had to "mask" the PulseAudio service by running:

systemctl --user mask pulseaudio

And then restarting the PipeWire services:

systemctl --user restart pipewire pipewire-pulse

This will block the PulseAudio service from being activated outright. If you wish to restore previous functionality, you'll need to run the same command again with the "unmask" action.

Solution 2:

Arch User Here. But love PipeWire. Under all debian/Ubuntu {18..21}.{04,10} Version of PW is too old. That's why I am maintaining a PPA which will provide latest build of PipeWire(15-16 days of release cycle). You can track latest change on github for this PPA.

On arch linux this process is obtained by {pre,post}_{install,upgrade,remove} function under package's *.install file.

And under Ubuntu/Debian It will be achieved by some simple {pre,post}{inst,rm} scripts. I will be updated these in next release definitely. This Already had been done.

EDIT 1 -
For a detailed Installation instructions Please follow github wiki.

With PipeWire I am also packaging blueman-git (git version of blueman). It has some serious needed feature to work with PipeWire. Don't worry it also will not break anything but increase your productivity upto a level higher.

EDIT 2 -
The Launchpad PPA will work under All debian/ubuntu based distros. Don't worry! install it, test it and file bugs to upstream to help it's developers to make PipeWire even more better.

EDIT 3 -
Now PipeWire 0.3.27 and on wards will support under debian/ubuntu 18.04 also.