On Wed, 22 Jun 2022 11:45:22 +0000
Zala Pierre GOUPIL via Alsa-user <alsa-user@lists.sourceforge.net> wrote:

> I don't know which compilation option is missing this time but I have
> a problem accessing a Bluetooth headset: I can pair and trust it but
> the only connection to it that is proposed to me is through the
> serial port of the headset. Needless to say that no sound is produced
> here.

You're not alone in compiling your own kernels… Bluetooth is a bit of a
strange beast, the host controllers have kernel drivers, but for things
like peripherals, there's a userspace driver stack called BlueZ that
talks to the peripheral.

There are three ways I know of to access audio devices in this manner:

1. PulseAudio BlueZ plug-in: this has been the "official" way for some
   time now.  A2DP is pretty mature, but I find I only get low-quality
   audio when used full-duplex.
2. PipeWire BlueZ plug-in: Experimental, combines features of both
   PulseAudio and JACK (which is real nice), but there are some sharp
   edges.  PipeWire is steadily improving however, and features CODECs
   that provide better quality audio CODECs on Bluetooth.
3. Bluez-ALSA: Skips the user-space media stack and links ALSA directly
   up to BlueZ.  Haven't tried it in a looong time, the latest version
   is a re-write of the earlier attempt.

I'm having reasonably good results with (2).  With some coaxing, you
can get headsets to operate in mSBC mode when being used full-duplex,
which yields somewhat improved audio quality over the standard
telephone-quality audio usually available.

(3) is apparently landing in Debian 12 if that's the distribution you
use.  It is in the Gentoo portage tree.  Not sure about Red Hat/Fedora

I note Ubuntu 22.04 seemed to ship PipeWire, so it may be starting to
replace PulseAudio already.
Stuart Longland (aka Redhatter, VK4MSL)

I haven't lost my mind...
  ...it's backed up on a tape somewhere.

Alsa-user mailing list

Reply via email to