Samsung Galaxy Buds+ Bluetooth Headset works on Pipewire?

On Ubuntu 20.10 I was able to pair the Samsung Galaxy Buds+ earplug headset with the Bluetooth from PulseAudio through the BlueZ API, but the audio from the low quality headphone had very low volume and only had medium frequencies, without bass and treble. The microphone did not work, as the SBC codec is unidirectional and did not return my voice.

I knew that the Pipewire audio server would support Bluetooth Audio 5.2 with AptX HD and maybe AptX Adaptive that would allow high quality sound from the headphone due to its advanced compression engine in the same bandwidth and implement Headset Profile (HSP) and Hands-Free Profile (HFP) with the Continuously Variable Slope Delta modulation (CVSD) protocol allowing bidirectional communication that would return the audio from the microphone.

However, at the time Pipewire was still in development and did not work in a production environment.

Researching the Internet a lot, I noticed that many users like me were frustrated with the limitations of the old PulseAudio, Jack and BlueZ audio servers, which did not support new hardware, not to mention the high latency and complications of managing two different servers that often went into conflict in professional audio recording.

Be patient!


Solution 1:

With the announcement of Ubuntu 21.04 I was happy to know that Wayland and Pipewire would be the default, but then I knew that they would not support Nvidea graphics cards, so I would continue on Xorg. Nvidea Wayland support just only on driver version 480 with Ubuntu 21.10!

After installing version 21.04 I noticed the presence of Pipewire version 0.3.24, but the audio server that came with Xorg was still PulseAudio and the old BlueZ.

Following the procedures below I replaced the ALSA, PulseAudio, Jack and BlueZ set by Pipewire:

https://wiki.debian.org/PipeWire

The audio worked perfectly using a wired headphone connected via the P2 plug to the computer. However, I couldn't even activate Bluetooth (libspa-0.2-bluetooth) in the Gnome Settings.

So I updated Pipewire from the Ubuntu repository from version 0.3.24 to the latest version 0.3.27 of the PPA below:

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

In the Gnome Settings I do the following steps:

  1. In the Bluetooth tab, I activated Bluetooth (libspa-0.2-bluetooth), paired and connected the device Galaxy Buds+ (380F);
  2. In the Sound tab, I defined the Headset - Galaxy Buds+ (380F) output device with the High Fidelity Playback (A2DP Sink, AAC codec) setting and I defined the Headset - Galaxy Buds+ (380F) input device with the Headset Head Unit (HSP/HFP, CVSD codec) setting.

The Samsung Galaxy Buds+ audio worked bi-directionally with high quality stereo sound on the headphone and mono sound returning from the microphone!

Enjoy!