Replacing PulseAudio with Pipewire became much simpler recently with PipeWire 0.3.30 and requires less configuration. I’m going to go through the updated routine. You can read the original post for more explanations.
The new version is still only available in experimental
as of today.
$ sudo apt install -t experimental pipewire-pulse pipewire-audio-client-libraries libspa-0.2-bluetooth
The pipewire-pulse
package takes care of most of the configuration that was previously needed, like touching with-pulseaudio
or manually creating the systemd service files.
$ systemctl --user daemon-reload
$ systemctl --user disable pulseaudio.socket pulseaudio.service
$ systemctl --user stop pulseaudio.socket pulseaudio.service
$ systemctl --user mask pulseaudio.service pulseaudio.socket
$ systemctl --user enable --now pipewire pipewire-pulse pipewire-media-session
Don’t remove the PulseAudio packages yet. While not being used, some packages still depend specifically on PulseAudio and might break. See the original post for more details.
Enable mSBC and SBC XQ
One of the main advantages of PipeWire is proper support for better sounding bluetooth audio profiles, and specifically mSBC and SBC XQ. Copy /usr/share/pipewire/media-session.d/bluez-monitor.conf
to ~/.config/pipewire/media-session.d/bluez-monitor.conf
(or to /etc/pipewire/media-session.d/bluez-monitor.conf
) and in the properties
section add the following lines:
bluez5.msbc-support = true
bluez5.sbc-xq-support = true
I tried every instruction in post and all package updated to last version of pipewire 0.3.32
after all pactl info show wrong version
Server Name: PulseAudio (on PipeWire 0.3.25)
some package like rnnoise error because old version pipewire