I'm trying to use my bluetooth headset (Bluedio, in the screenshot) in Ubuntu-Gnome 16.10, but I keep getting a horrible sound quality in everything.

Important note: I've just tested with a different device, a bluetooth speaker, and it gets the A2DP profile automatically, with a nice sound quality. The problem, then, is only happening with my bluetooth headset.

I've read some posts and the given suggestions don't work in my case (Ubuntu-Gnome 16.10). These suggestions are:

1) Under the Sound settings, change the headset profile to the A2DP (High Fidelity Playback). Not only the sound quality didn't even change, the profile keeps getting turned back to Headset Head Unit (HSP/HFP) profile, in which the sound quality remains horrible. So, even though the A2DP profile shows up there, it doesn't take effect and goes back to the HSP/HFP profile everytime.

2) Changes in the /etc/bluetooth/audio.conf file, like uncommenting the line "AutoConnect=true line". First of all, there isn't such file in Ubuntu-Gnome 16.10. Instead, there is the /etc/bluetooth/main.conf file, which seems pretty similar to the first one in terms of parameters. But, the line is already uncommented in my S.O., just as the suggestion tells me to do. So, it seems that there's nothing to do here with this suggestion.

Here's the screenshot of the Sound Settings' screen. You can see that there's an arrow for the dropdown list, where the A2DP profile shows up (even though it's not appearing in the shot. It's there though), but it gets back to the HSP/HFP profile everytime.

Here's the link for the screenshot:

picture 1

  • See this related question. – Mike Pierce Jul 23 '17 at 15:33
  • sometimes you might forgot about the output volume when selecting High fidelity playback – Kalanka Mar 30 '19 at 5:19
  • Is there a bug being tracked for this somewhere? – kirk Apr 29 at 11:27

I've managed to fix it. Even though I'm not sure if the following steps are in the exactly order to do it, I'm pretty sure it was the combination of them that fixed it. Here they are:

  1. I've installed Blueman: sudo apt-get install blueman

  2. I've edited the /etc/bluetooth/audio.conf file: sudo -H gedit /etc/bluetooth/audio.conf and add this line in the end of it: Disable=Headset. Users on Ubuntu 17.04 and above may not have audio.conf, but can instead use main.conf.

Note: I've also installed something called "pavucontrol" via terminal with the command sudo apt-get install pavucontrol, but I'm really not sure if it was this or the Blueman that solved it. I suspect it was the Blueman, but if it doesn't help, try the pavucontrol and see if it solves.

Hope this helps!

| improve this answer | |
  • 7
    Yeah, adding that line Disable=Headset did it for me. :D And pavucontrol is PulseAudio Volume Control, so I don't think installing that was necessary to fix the problem. – Mike Pierce Jul 23 '17 at 15:31
  • 1
    I have just tested the step 1 and 2. Re-connected the bluetooth headset and it worked for me. So no need for pavucontrol. – Murat Gürsu Nov 12 '17 at 15:55
  • 2
    Disable=Headset worked for me, but I also had to do sudo service bluetooth restart for it to work. And the question remains: Why does it work? – BlueBomber May 30 '18 at 17:49
  • 4
    testing in 18.04-based system: blueman is not needed, no more than pavucontrol; the decisive setting is the Disable=Headset line (in /etc/bluetooth/main.conf). In pavucontrol: only after adding that line, the "High Fidelity Playback" setting becomes available (after restart). Another solution that I haven't yet tested: here. – cipricus Jun 10 '19 at 20:50
  • 1
    To clarify: after doing this, will I still be able to use the headset as, well, a headset? I'm asking because I see three audio profiles in pavucontrol and blueman-applet: headset, high-fidelity sink, high-fidelity source. Selecting high-fidelity sink in pavucontrol (the default in 18.04) results in no audio source from the headset appearing at all. – Raphael Jun 12 '19 at 16:14
  1. Install Blueman:

    sudo apt-get install blueman
  2. Add Disable=headset to /etc/bluetooth/main.conf.

  3. Restart the bluetooth daemon:

    sudo service bluetooth restart

If you still have poor sound quality go to pavucontrol and under Configuration set the profile of your device to off and then to A2DP and it should work now.

| improve this answer | |
  • 1
    Works like a charm in Linux Mint 19! Thanks :) – develCuy Sep 15 '18 at 17:08
  • Worked for Arch Linux in 2020! – Theodore R. Smith Dec 26 '19 at 19:08
  • Does not work for me on Ubuntu 16.04 LTS – reggie Jun 8 at 11:53

I also had the same problem with automatic change back to HSP/HFP.

I solved this by editing /etc/bluetooth/main.conf and uncommenting the line

Name = BlueZ

in the section [General].

Though, it might be not available, when the bluez package is not installed.

Thanks anyway for the tip with the file.

| improve this answer | |
  • I had to uncomment this line as well to get mine to work. Thanks. – rayryeng Apr 7 '19 at 8:37
  • worked in 18.04 – cipricus Jun 4 '19 at 18:42
  • I first thought this fixed it, but unfortunately every time I reconnect, the headphones are back on HSP/HFP instead of A2DP. :( – Murch Aug 13 '19 at 22:24
  • Worked on Manjaro. I'm very confused though because I would have guessed the name would have no effect on actual behavior. – Matthew D. Scholefield Jul 9 at 2:42

Get the index of your card:

pacmd list-cards

Set the cards profile to a2dp (example: index 2):

pacmd set-card-profile 2 a2dp_sink

Credit to develmusa of the ArchLinux forums: https://bbs.archlinux.org/viewtopic.php?pid=1720877#p1720877

| improve this answer | |

The only thing that works for me is to restart the bluetooth service and reconnect.

sudo service bluetooth restart

Ubuntu 18.04

| improve this answer | |

Thanks for the info, worked great!

On Ubuntu 17.10 I had to change:

Settings > sound > output tab Select Bluetooth output Then set profile to 'high fidelity playback (a2dp sink)

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.