1

I'm currently using Ubuntu 24.04, but I also faced this issue in version 22. When I connect my Bluetooth headphones (Soundcore P3), it plays only mono and the only available configurations in the settings are: -HSP/HFP -HSP/HFP codec CVSD -HSP/HFP codec mSBC

I've tried almost every solution I could find, but nothing has worked. Has anyone else encountered this problem and managed to solve it? Any help would be greatly appreciated!

There was a previous post with a similar problem and an answer suggests to turn off input channel to allow A2DP. I tried that, but the problem is still existing and I still have only these 3 configuration above...

PS: I use my earbuds with different systems (i.e. Android, iPad, Windows, other distros like fedora) and it works well without any problem.

Ayman
  • 17
  • 5

2 Answers2

1

You have to force the A2DP profile

Run:

pactl list cards | grep bluez_card

This command will show you your Bluetooth headphones. e.g.:

device.name = "bluez_card.45_0A_D2_79_21_17"

Now run (Replace the number with that of your device):

pactl set-card-profile bluez_card.45_0A_D2_79_21_17 a2dp_sink

Finally, verify the change (play something with sound first):

pactl list sinks short | grep a2dp_sink
10  bluez_sink.45_0A_D2_79_21_17.a2dp_sink  module-bluez5-device.c  s16le 2ch 44100Hz   RUNNING
  • s16le → 16-bit, little-endian audio
  • 2ch → 2 channels = stereo
  • 44100Hz → standard sampling rate (CD)
  • RUNNING → Audio is playing (if stopped, SUSPENDED appears)

Update:

In Ubuntu 24.04 (the one I'm using), pactl is no longer installed by default because PulseAudio has been replaced by PipeWire, which now handles audio in many modern distros, including Ubuntu. However, pactl still works because PipeWire includes a compatibility component called pipewire-pulse, which emulates PulseAudio. It doesn't cause any conflicts, as long as you don't try to reinstall PulseAudio as the primary server, as that can break your PipeWire-based audio setup. That's what I did to fix this problem with my Bluetooth headphones.

sudo apt install pulseaudio-utils -y && pactl info | grep pulseaudio

summary:

  • pulseaudio-utils contains only user tools like pactl, not the full PulseAudio server.
  • If you have pipewire-pulse running, pactl connects to it as if it were PulseAudio.
  • This doesn't break PipeWire, as you're only using compatible tools.

PD: PulseAudio internally may use _ or - in names (a2dp-sink or a2dp_sink). To check:

pactl list sinks short | grep a2dp

acgbox
  • 2,367
-1

The issue is finally solved! Here's what worked for me:

  1. Remove pipewire and bluez with all configurations:

    sudo apt remove --purge pipewire bluez

This will likely cause errors and your system's GUI may stop working. Don't worry!

  1. Restart Your System

  2. Reinstall pipewire, bluez, and Ubuntu Desktop:

    sudo apt install pipewire bluez ubuntu-desktop^

Start the GUI: If the GUI doesn't start automatically, you can manually start it with:

startx
  1. Restart Again

Hope this helps!

Ayman
  • 17
  • 5