This PPA contains PulseAudio packages, incorporating mSBC/WBS and fixes low volume on some Bluetooth headsets.
The following merge requests are included on top of the 14.2 release, along with their merge dates for easy reference:
- Messaging API V2 (merged Dec 3, 2020 10:48pm GMT+0800)
- core, modules: Remove useless EINTR tests (merged Dec 9, 2020 6:33pm GMT+0800)
- Add support for bluetooth A2DP codecs and codec switching (merged Jan 19, 2021 11:33pm GMT+0800)
- bluetooth: Check support for encoding and decoding separately (merged Jan 21, 2021 11:05pm GMT+0800)
- bluetooth: allow increasing output bitrate (merged Jan 21, 2021 11:15pm GMT+0800)
- bluetooth: allow increasing output bitrate for SBC codec (merged Jan 21, 2021 11:21pm GMT+0800)
- bluetooth: pass output_rate_refresh_interval_ms module parameter (merged Jan 26, 2021 11:40pm GMT+0800)
- bluetooth: a2dp dual channel SBC XQ codec configurations (merged Feb 2, 2021 1:18am GMT+0800)
- use bluetooth HFP in pulseaudio native backend when available (merged Feb 23, 2021 9:20pm GMT+0800)
- bluetooth: check if target codec is available on the system (merged Mar 4, 2021 6:42am GMT+0800)
- bluetooth: correct rfcomm command and reply formatting (merged Mar 6, 2021 6:34am GMT+0800)
- bluetooth: Perform software attenuation until HF/HS reports gain control (merged Mar 16, 2021 6:04pm GMT+0800)
- bluetooth: Set up hardware gain control if init volume is received late (merged Mar 18, 2021 6:26am GMT+0800)
- bluetooth: Only use hardware volume callbacks for peer attenuation (hsp/hfp) (merged Mar 27, 2021 5:17am GMT+0800)
- messaging api: use JSON instead of custom format (merged Mar 27, 2021 7:21pm GMT+0800)
- bluetooth: WBS for native backend (merged Apr 5, 2021 11:52pm GMT+0800)
- bluetooth: Unify A2DP sink/source volumes with AVRCP Absolute Volume (merged May 17, 2021 10:53pm GMT+0800)
Some of these patches are technically not required, but were included to avoid needing to resolve complicated merge conflicts.
This PPA also includes GStreamer packages with the following patches to enable support for LDAC, aptX and aptX-HD codecs:
- Add support for LDAC encoder
- ext/ldac: Fix typo in 88200(0) stereo encoder sampling rate
- openaptx: add aptX and aptX-HD codecs using libopenaptx
I was having trouble with my Grado GW100, where the microphone volume was too low for the other party.
An alternate solution was to replace PulseAudio with PipeWire entirely, but the official PipeWire package in Ubuntu 20.04 LTS is too old and I didn't want to go through the hassle of packaging a recent release.
Important Note: This may require a recent kernel (I use 5.12.5) for mSBC to work properly. See the comments in this linked issue.
To add this PPA to your system, run the following:
curl -s --compressed "https://yjwong.github.io/pulseaudio/key.gpg" | sudo apt-key add -
sudo curl -s --compressed -o /etc/apt/sources.list.d/pulseaudio.list "https://yjwong.github.io/pulseaudio/pulseaudio.list"
sudo apt update
sudo apt upgrade
After installation, you will also need to restart PulseAudio for the changes to take effect:
systemctl --user daemon-reload
systemctl --user restart pulseaudio
Ensure you have the requisite build dependencies installed on your system.
Then, check out the packaged/14.2.99
branch, then run:
git archive --format=tar.gz -o ../pulseaudio_14.2.99.orig.tar.gz --prefix=pulseaudio-14.2.99/ upstream/14.2.99
dpkg-buildpackage -uc -us
Built packages will be found in the parent directory.