Skip to content

Instantly share code, notes, and snippets.

@the-spyke
Last active June 4, 2025 22:53
Show Gist options
  • Save the-spyke/2de98b22ff4f978ebf0650c90e82027e to your computer and use it in GitHub Desktop.
Save the-spyke/2de98b22ff4f978ebf0650c90e82027e to your computer and use it in GitHub Desktop.
Enable PipeWire on Ubuntu 22.04

Enable PipeWire on Ubuntu 22.04

This guide is only for original Ubuntu out-of-the-box packages. If you have added a custom PPA like pipewire-debian, you might get into conflicts.

Ubuntu 22.04 has PipeWire partially installed and enabled as it's used by browsers (WebRTC) for recoding the screeen under Wayland. We can enable remaining parts and use PipeWire for audio and Bluetooth instead of PulseAudio.

Starting from WirePlumber version 0.4.8 automatic Bluetooth profile switching (e.g. switching from A2DP to HSP/HFP when an application needs microphone access) is supported. Jammy (22.04) repos provide exactly version 0.4.8. So, we're good.

Based on Debian Wiki, but simplified for Ubuntu 22.04.

Install

Install WirePlumber as the session manager:

$ sudo apt install pipewire-media-session- wireplumber

Notice '-' at the end of 'pipewire-media-session'. This is to remove it in the same command, because 'wireplumber' will be used instead.

Start WirePlumber for your user:

$ systemctl --user --now enable wireplumber.service

Configure

ALSA

Install the ALSA plug-in:

$ sudo apt install pipewire-audio-client-libraries

And copy the config file from PipeWire docs (provided by the plug-in) into the ALSA configuration directory:

$ sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/

Check if you have other (like Pulse) configs in the /etc/alsa/conf.d/ installed by something else. You might want to remove them.

PulseAudio

Everything was done automatically by pipewire-pulse package, which should have been installed by wireplumber package as recommended. If not, install it yourself.

Bluetooth

Install the codecs and remove Bluetooth from PulseAudio, so it would be handled directly by PipeWire:

$ sudo apt install libldacbt-{abr,enc}2 libspa-0.2-bluetooth pulseaudio-module-bluetooth-

The supported codecs are SBC and LDAC.

Unfortunately, aptX and AAC are not supported because of patents and other technical reasons. aptX is available starting from 22.10 via libfreeaptx0 installed by default there (22.10 uses PipeWire by default as well). If you really need these codecs in 22.04 you may use this PPA from @aglasgall which is based on universe, but rebuilds pipewire with additional packages for aptX and AAC from multiverse. Read the discussion here.

Done

Reboot and check if it works by running:

$ LANG=C pactl info | grep '^Server Name'
@the-spyke
Copy link
Author

@HenkBonk I don't use PulseEffects, so could not help you. For Pipewire there is a replacement: https://github.com/wwmm/easyeffects

@victormrdc
Copy link

SOLVED my issue with Ad2p not beeing present (I previously had only sBMC availble) 🔥 Now Ad2p with AAC is working well, thanks everyone :)

Did not work

forgetting the device, repairing

worked

sudo cp -r /var/lib/bluetooth /var/lib/bluetooth_BACKUP
sudo systemctl stop bluetooth
sudo rm -rf /var/lib/bluetooth/*
sudo systemctl start bluetooth
sudo reboot

then re-pair the device


Ty buddy, thats the only thing that workd
My BT is not finding any devices, now it works!

@aglasgall
Copy link

I have uploaded pipewire packages with AAC enabled for Ubuntu 24.10 "oracular" to my PPA. They should work.

@vschroeter
Copy link

I did this a while ago for Ubuntu 24.04 on a Raspberry Pi 5 and summarised the steps here:
https://gist.github.com/vschroeter/2fba1ca3dae52992d919dbf83411ebbb

@Mohit2917
Copy link

working, thanks buddy

@elmagio
Copy link

elmagio commented May 3, 2025

I have uploaded pipewire packages with AAC enabled for Ubuntu 24.10 "oracular" to my PPA. They should work.

It seems like the Oracular package is not provided anymore?

image

@ashl1
Copy link

ashl1 commented May 14, 2025

@elmagio Looks like Oracular EoL is July 2025, so only two and half months are left. I think it'll be better to rollback for LTS 24.04 Noble or upgrade to the newest 25.04 Plucky. Anyway you would choose the way you're opt in the next 3 months

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment