Bug 1844859

Summary: Bluetooth headsets not properly supported on linux - bad quality or mic not working at all
Product: [Fedora] Fedora Reporter: Pablo Estigarribia <pablodav>
Component: pipewireAssignee: Wim Taymans <wtaymans>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 33CC: brunovern.a, ericbasil.rabi, gombosg, kxra, lpoetter, pasik, rdieter, wtaymans
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: pipewire-0.3.24-1.fc34 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-03-23 00:16:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
headset with microphone working on pipewire 3.20
none
Config options in pulse audio volume control
none
Options in gnome settings none

Description Pablo Estigarribia 2020-06-07 16:49:22 UTC
Description of problem:
Please check these comments: 
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/776#note_522208

un resume: seems that no one (or most users) in linux desktop is able to properly use headset bluetooth audio devices out of the box.

You can also see some other related:
https://bugzilla.redhat.com/show_bug.cgi?id=1789358
https://bugzilla.redhat.com/show_bug.cgi?id=1821015
https://bugzilla.redhat.com/show_bug.cgi?id=1311238


Today days, linux is just a great OS with excellent support for most of the hardware, I use it daily in all my personal computers and on my family computers and there are thousands or millons of linux desktop users around the globe. But it's really a shame to see this lack of support for bluetooth Headset because those are really popular today days.

Linux and the entire open source community including individuals and organizations supporting it are just awesome, I think this is something that only requires a couple of those awesome individuals or organizations focusing on this issue for some weeks to resolve it, but seems that currently there is no enough attention on this topic, that's main reason why I'm raising this new bug, to try to make it more visible and attract the attention of some of you.


Version-Release number of selected component (if applicable): all versions.


How reproducible: try to use a bluetooth headset with good quality or mic, you will fail.


Steps to Reproduce:
1. Connect a bluetooth headset
2. check the audio quality -> probably bad
3. try to use mic - > probably you won't be able to use it at all.

Actual results:

Same as steps to repoduce

Expected results:

Having good bluetooth audio quality
Enable mic of bluetooth headset to be working and with good quality.

Additional info:

Comment 1 Pablo Estigarribia 2020-09-04 23:42:28 UTC
I have read this article:

https://blogs.gnome.org/uraeus/2020/09/04/pipewire-late-summer-update-2020/

Looks like pipewire is now the focus and promises a lot! could it bring the solution to this issue in the near future too?

Comment 2 Pablo Estigarribia 2020-09-04 23:45:38 UTC
Looks like there is also some work done here: 
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/227

Comment 3 Pablo Estigarribia 2020-12-16 02:50:43 UTC
Good news.
Updates from pipewire changelog:

https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/NEWS

--- omitted lines ---

- Device support
  - Bluetooth now supports additional codecs: LDAC, AptX and
    AptX HD. LDAC is known to not work very well yet.

--- omitted lines ---


Fedora 34 could move to pipewire by default, some testing still ongoing/needed.
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/ZWIX7EQG6EHXVGJBENN6JH3XGYLX3FTW/

But possible to test in fedora rawhide.

I will try pipewire 0.3.18 once available on fedora-testing 33, then will comment here.

Comment 4 Pablo Estigarribia 2021-01-23 19:55:35 UTC
Created attachment 1750144 [details]
headset with microphone working on pipewire 3.20

pipewire 3.20 resolves the support for linux bluetooth headset.

Comment 5 Pablo Estigarribia 2021-01-23 19:57:56 UTC
today I tested pipewire-pulseaudio 3.20 and looks like everything is resolved for bluetooth support.

Attached screenshot.

So if everything goes well and Fedora replaces pulseaudio with pipewire: we can consider this as resolved.

https://pagure.io/fedora-docs/release-notes/issue/611
https://bugzilla.redhat.com/show_bug.cgi?id=1906086
https://fedoraproject.org/wiki/Changes/DefaultPipeWire

https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.20

Comment 6 Basil Eric Rabi 2021-02-24 11:42:43 UTC
*** Bug 1909976 has been marked as a duplicate of this bug. ***

Comment 7 Basil Eric Rabi 2021-02-24 11:52:18 UTC
In my case (https://bugzilla.redhat.com/show_bug.cgi?id=1909976), the mic is still not recognized as input device. I tried the f34 srpm since the volume keys do not work for me in f33 pipewire.

Comment 8 Pablo Estigarribia 2021-02-24 21:19:30 UTC
@Basil,

are you able to change the profile of the bluetooth devices in sound settings or pavucontrol?

You have to change to some profile that allows mic, example hsp/hfp...

Comment 9 Basil Eric Rabi 2021-02-25 03:35:50 UTC
Created attachment 1759182 [details]
Config options in pulse audio volume control

Comment 10 Basil Eric Rabi 2021-02-25 03:36:35 UTC
Created attachment 1759183 [details]
Options in gnome settings

Comment 11 Basil Eric Rabi 2021-02-25 03:39:28 UTC
(In reply to Pablo Estigarribia from comment #8)
> @Basil,
> 
> are you able to change the profile of the bluetooth devices in sound
> settings or pavucontrol?
> 
> You have to change to some profile that allows mic, example hsp/hfp...

I am able to change the profile. But hsp is missing which I think is needed for the mic. I added the screen shot.

Comment 12 Basil Eric Rabi 2021-02-25 11:40:05 UTC
Since the mic of other hardware already works with pipewire, maybe this issue is specific to my headset? Although this works fine in android.

$pactl list sources

Source #65614
	State: SUSPENDED
	Name: bluez_output.A8_99_DC_11_1B_72.a2dp-sink.monitor
	Description: Monitor of SOUNDPEATS Truengine 3 SE
	Driver: PipeWire
	Sample Specification: s16le 2ch 48000Hz
	Channel Map: front-left,front-right
	Owner Module: 4294967295
	Mute: no
	Volume: front-left: 54089 /  83% / -5.00 dB,   front-right: 54089 /  83% / -5.00 dB
	        balance 0.00
	Base Volume: 65536 / 100% / 0.00 dB
	Monitor of Sink: bluez_output.A8_99_DC_11_1B_72.a2dp-sink
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE DECIBEL_VOLUME LATENCY 
	Properties:
		api.bluez5.transport = ""
		api.bluez5.profile = "a2dp-sink"
		api.bluez5.codec = "sbc"
		card.profile.device = "1"
		api.bluez5.address = "A8:99:DC:11:1B:72"
		device.id = "89"
		device.description = "SOUNDPEATS Truengine 3 SE"
		node.name = "bluez_output.A8_99_DC_11_1B_72.a2dp-sink"
		factory.name = "api.bluez5.a2dp.sink"
		priority.driver = "1010"
		priority.session = "1010"
		node.pause-on-idle = "false"
		factory.id = "8"
		device.api = "bluez5"
		media.class = "Audio/Sink"
		node.driver = "true"
		node.latency = "512/48000"
		factory.mode = "merge"
		audio.adapt.follower = ""
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "78"
		client.id = "30"
	Formats:
		pcm

Comment 13 Basil Eric Rabi 2021-03-02 00:58:09 UTC
It seems some changes have been made. I updated my system and built https://kojipkgs.fedoraproject.org//packages/pipewire/0.3.22/7.fc34/src/pipewire-0.3.22-7.fc34.src.rpm
I can finally choose the HSP profile. The mic works but audio output is garbled. I can hear only noise. My issue is now similar to https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/503
Other profiles still work with great audio output quality but without mic input.

Comment 14 Fedora Update System 2021-03-18 14:28:33 UTC
FEDORA-2021-2c994d0609 has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-2c994d0609

Comment 15 Fedora Update System 2021-03-18 21:48:03 UTC
FEDORA-2021-2c994d0609 has been pushed to the Fedora 34 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-2c994d0609`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-2c994d0609

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 16 Fedora Update System 2021-03-23 00:16:11 UTC
FEDORA-2021-2c994d0609 has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.