Skip to content
souravdas142 edited this page May 24, 2021 · 42 revisions

PipeWire Original Repo

MIT License

PipeWire & blueman-git PPA for Ubuntu (>= 18.04)

An upstream version of blueman-git & PipeWire for Ubuntu maintained with a 15 day release cycle

Link Description
Original-PipeWire-Upstream Forked
PipeWire-debian-Upstream Forked
Original-blueman-Upstream Forked
blueman-debian-Upstream Forked
libfdk-aac[12] Dependencies
libopenaptx0 Dependencies
libldacbt-abr2 Dependencies
libldacbt-enc2 Dependencies

This repo (master branch) Can be viewed as a mirror of Launchpad PPA. I will keep sync this with the LP PPA. The development branch is important as I will be using that branch to push new patches related to building PipeWire, blueman-git and their dependencies.

1. PPA Configuration

Add the Launchpad PPA...

The recommended & convenient way, see next section If you can't install from LP PPA

# You can update your system with unsupported packages from this untrusted PPA by adding ppa:pipewire-debian/pipewire-upstream
# to your system's Software Sources.

sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
sudo apt-get update

# This PPA can be added to your system manually by running below commands, It directly create 
# a file under /etc/apt/sources.list.d/ containing source mirror list. 
# First Download key from keyservers directly into the trusted set of keys, Run 2 commands below.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 25088A0359807596

echo "deb http://ppa.launchpad.net/pipewire-debian/pipewire-upstream/ubuntu $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/pipewire-upstream.list

# Below is generaly not required unless you are not inspecting a package or not thinking about repackaging from the source.

echo "deb-src http://ppa.launchpad.net/pipewire-debian/pipewire-upstream/ubuntu $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/pipewire-upstream.list

...or the Github PPA

Use IFF you have a good reason Or If your distro (other debian based) Can't install from LP PPA.

curl -SsL https://pipewire-debian.github.io/pipewire-debian/ubuntu/KEY.gpg | sudo apt-key add -
sudo curl -SsL -o /etc/apt/sources.list.d/pipewire.list https://pipewire-debian.github.io/pipewire-debian/ubuntu/pipewire.list
sudo apt update

2. Install PipeWire Or blueman-git

After adding one of the PPA's, follow the installation instructions below

# Install dependencies

sudo apt install libfdk-aac2 libldacbt-{abr,enc}2 libopenaptx0

# If `libfdk-aac2` not found install `libfdk-aac1`
# Install pipewire and additional packages

sudo apt install gstreamer1.0-pipewire libpipewire-0.3-{0,dev,modules} libspa-0.2-{bluetooth,dev,jack,modules} pipewire{,-{audio-client-libraries,pulse,media-session,bin,locales,tests}}

# Additionally, if you want to install `pipewire-doc`

sudo apt install pipewire-doc     


# ~~~~~~~~~~~~~ For blueman-git  ~~~~~~~~~~~~~~~          

# Before installing blueman-git, remove and purge any official version of blueman.        

sudo apt-get remove --purge blueman && sudo rm -f /var/lib/blueman/network.state

# Then, to install issue below command.

sudo apt-get install blueman-git         

3. Post Installation Steps for PipeWire or blueman-git

You don't need to uninstall PulseAudio to enable PipeWire, disable and mask PulseAudio related services to stop them

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

Additional steps for ubuntu 18.04

# You need to tell Pulseaudio not to respawn itself by issuing this command:     

sed -i 's/.*autospawn.*/autospawn = no/g' ~/.config/pulse/client.conf        

# If `~/.config/pulse/client.conf` not found then issue this,       

sudo sed -i 's/.*autospawn.*/autospawn = no/g' /etc/pulse/client.conf        

# And finally issue        

pulseaudio --kill        

Since version 0.3.28 conf files are moved to /usr/share/ directory from /etc/. You have to copy them to /etc/ directory manually. From Now /etc/pipewire/ can be used as system wide drop in for User edited conf files. conffile overridden behaviour is $HOME/.config/pipewire > /etc/pipewire > /usr/share/pipewire

To copy conffiles from /usr/share/ to /etc/, issue below command. (Optional)

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

Enable and start PipeWire related services

systemctl --user --now enable pipewire{,-pulse}.{socket,service} pipewire-media-session.service

You can check which server is in use by running (as a user):

pactl info | grep '^Server Name'

If your system doesn't have any sound, please reboot

Incase of blueman, just enable below service.

sudo systemctl enable --now blueman-mechanism.service

Wiki

Troubleshooting

See in wiki page - Troubleshooting

Notice

If you have any issue regarding this PPA package, create a issue here.

For features, requests or bugs, create an issue on upstream For PW And for blueman on here

Credits

Original PipeWire project maintainer: Wim Taymans - Source

Original maintainers (usually from Debian): Utopia Maintenance Team - Jeremy Bicha - Source

Original blueman project maintainer: Christopher Schramm - Source