Talk:Bluetooth headset

From ArchWiki

Tested headsets

Added tested headsets section. Not really Arch Specific, but it is very helpful for Linux users out there looking to use a bluetooth wireless headset with Linux. Couldn't find any wiki or site that lists similar tests so I placed it here... --Divan Santana (talk) 17:50, 12 August 2013 (UTC)Reply[reply]

  • Parrot Zik doesn't actually work that brilliantly - I have a terrible lag, and there is no microphone support.
Agreed that there is no mic support. Mine pretty much never stutters, but does lag behind in real time sometimes. Most of the time it's not noticeable for me unless playing a game. Divan Santana (talk) 16:04, 13 September 2013 (UTC)Reply[reply]

Might be nice to turn this section into a table, with exact models, adapters, what works, what doesn't, etc. Vlsd (talk) 20:17, 28 January 2014 (UTC)Reply[reply]

Is the tip about pulseaudio-git still valid?

The version of the official pulseaudio package is now 6.0, which is greater than the pulseaudio-git AUR package. Can someone clarify if this tip is still valid?

—This unsigned comment is by Jevonearth (talk) 17:47, 20 April 2015‎. Please sign your posts with ~~~~!


GDMs pulseaudio instance captures bluetooth headset

I have solved the problem metioned here Bluetooth_headset#Connecting_works.2C_but_I_cannot_play_sound using another method than changing file permissions. Pulseaudio supports different configuration files per user ~/.config/pulse/default.pa. Since the is a home directory for the gdm user I have created a default.pa file in that home dir which tells the pulseaudio instance for gdm to instantly unload its bluetooth modules (if present):

#!/usr/bin/pulseaudio -nF
#

# load system wide configuration
.include /etc/pulse/default.pa

### unload driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
  unload-module module-bluetooth-policy
.endif

.ifexists module-bluetooth-discover.so
  unload-module module-bluetooth-discover
.endif

--Moormaster (talk) 19:28, 13 October 2015 (UTC)Reply[reply]

Additionally, aur/pulseaudio-bluetooth-a2dp-gdm-fix provides /var/lib/gdm/.config/pulse/default.pa
Kageurufu (talk) 17:05, 28 December 2017 (UTC)Reply[reply]

GDM

Re [1], I guess the idea was to use this on Arch? There's no indication that this works, nor what it does, however. There's no mention of bluetooth, as in #GDMs pulseaudio instance captures bluetooth headset -- Alad (talk) 11:23, 22 October 2015 (UTC)Reply[reply]

Yes it works without disabling pulseaudio in gdm. Gnumdk (talk) 13:01, 22 October 2015 (UTC)Reply[reply]
Then feel free to add it back with proper explanation. -- Lahwaacz (talk) 15:53, 22 October 2015 (UTC)Reply[reply]
This solution works because it does not load any bluetooth modules. It also completely ignores all other settings made in /etc/pulse/default.pa (by not using .include statement). This might be worth to be mentioned in the article. --Moormaster (talk) 09:51, 23 October 2015 (UTC)Reply[reply]
Is this not considered a bug? Why are there by default two pulseaudio instances when only one is needed? In my case, dropping the second pulseaudio instance solved my bluetooth headset problem. If this is a bug, is it a pulseaudio or gdm bug? -- SeverOraz (talk) 11:21, 27 December 2016 (UTC)Reply[reply]
The suggested fix allowed me to connect to my bluetooth headset using the A2DP profile, which I have not managed previously. So it has some positives.... Jpamills (talk) 05:54, 18 March 2017 (UTC)Reply[reply]
This also worked here. This really should be default behavior, since most people installing this may wonder why their headset isn't working (myself included, only a few hairs pulled) Parkerlreed (talk) 15:58, 1 May 2017 (UTC)Reply[reply]
This is not the place to request changes in the default behaviour - file a feature request upstream. -- Lahwaacz (talk) 16:11, 1 May 2017 (UTC)Reply[reply]
Wasn't trying to make it a feature request here. I was just mentioning that the fix worked for another user. Here's a submitted request https://bugs.archlinux.org/task/53903 Parkerlreed (talk) 16:23, 1 May 2017 (UTC)Reply[reply]
The upstream bug tracker for gdm is here. -- Lahwaacz (talk) 16:32, 1 May 2017 (UTC)Reply[reply]
I have reported this upstream https://gitlab.gnome.org/GNOME/gdm/issues/486. Maybe you can vote for it if you're interested in getting it fixed ASAP. —This unsigned comment is by Memeplex (talk) 03:36, 9 May 2019 (UTC). Please sign your posts with ~~~~!Reply[reply]

Error in the Pairing works, but connecting does not section

If one runs pulseaudio in system mode the suggestions in Pairing works, but connecting does not are not right. The following is suggested:

   If that still does not work, or you are using PulseAudio's system-wide mode, also load the following PulseAudio modules (again these can be loaded via your default.pa or system.pa): 
   module-bluetooth-policy
   module-bluez5-device
   module-bluez5-discover

but according to Tanu here and my own experience this doesn't work. The load of module-bluez5-device fails and it is not intended to be loaded from default.pa or system.pa. If you are in system mode, only add

   ### Bluetooth modules
  load-module module-bluetooth-policy
  load-module module-bluez5-discover

to your system.pa. Also make sure, that allow-module-loading = yes is set in your daemon.conf. This is not recommended, but AFAIK the only way, because module-bluez5-device must be loaded dynamically during run time. As a last step, I also needed to add /etc/dbus-1/system.d/pulseaudio.conf with:

   <!DOCTYPE busconfig PUBLIC
    "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
    "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
   <busconfig>
           <policy user="pulse">
               <allow own="org.pulseaudio.Server"/>
               <allow send_destination="org.pulseaudio.Server"/>
               <allow receive_sender="org.pulseaudio.Server"/>
           </policy>
   </busconfig>

as I found here

After that I was able to use pulseaudio with bluez5

--Deisi (talk) 10:50, 31 January 2016 (UTC)Reply[reply]

Workarounds

In many places it is known as a solution to restart pulseaudio when the latency is to high between what the media is actually being played and what the receiver plays. I've found a small trick which consists in stopping the bluetooth transmission.

To do that you have to:

1. Once you have the latency problem with the bluetooth already connected, select another output device like the computer speaker.

2. Wait for like 3 seconds, because once you change the output, the bluetooth will still transmit a mute silence sound until it goes into "standby".

3. When the 3 seconds have passed (or the headset is in entirely silence), you can change back the output to the bluetooth device, then the transmission starts right away and with no latency.

--Fenisu (talk) 14:40, 11 February 2016 (UTC)Reply[reply]

Troubleshooting section - propose adding solution to "No bluetooth-output in pulseaudio when connecting to bluetooth-speaker" issue.

A solution to the referenced issue has been posted elsewhere and would be ideal to add to the Troubleshooting section. I can take a stab at it if no objections.

Aartau (talk) 22:39, 21 January 2018 (UTC)Reply[reply]

Switch Bluetooth headset between A2DP and HSP automatically with Pulseaudio

In order to use my headset's microphone, I must manually change the bluetooth configure (in pavucontrol) from A2DP (high quality) to HSP (mono(?) with microphone). Is this the recommended way of doing it? I'm considering creating a package for it. Thank you!

—This unsigned comment is by Gunar (talk) 14:17, 24 May 2018‎. Please sign your posts with ~~~~!


The section about "A2DP not working with pulseaudio" appears to be out of date

Bluez's `audio.conf` seems to have been merged with `main.conf` ages ago. See here. Instructions will definitely have to be updated.

Alexandria (talk) 22:17, 17 May 2019 (UTC)Reply[reply]

Regarding the revision of 16 April 2020 by Nheird

Reference: https://wiki.archlinux.org/index.php?title=Bluetooth_headset&curid=2594&diff=606284&oldid=604005

In the diff an updated .asoundrc file has been proposed. If the old one (with 'interface "hci0"' instead of 'service "org.bluealsa"') still works and is not deprecated, would it make sense to present both versions?

—This unsigned comment is by Robg (talk) 22:22, 16 April 2020‎. Please sign your posts with ~~~~!

the change matches the upstream changes: https://github.com/Arkq/bluez-alsa/commit/29f03c4a87656ace084aadd109a5891665d1d788 that now relies on dbus and `interface` is simply ignored

Nheird (talk) 13:19, 4 October 2020 (UTC)Reply[reply]

hsphfpd / ofono

In https://wiki.archlinux.org/index.php/Bluetooth_headset#HFP_not_working_with_PulseAudio it is suggested to simulate a modem and use ofono (a telephony interface framework used in automotive devices) to connect to a bluetooth headset using HFP.

It looks somehow not right having to simulate a modem (I didn't use modems since ~15 years) to get access to a state of the art bluetooth audio device like the apple airpods.

There is a solution by "Pali Rohár" <pali@kernel.org> which does look by far more straightforward to me: https://github.com/pali/hsphfpd-prototype

There is a merge request / discussion with the pulseaudio-developers at https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/288 .. which gives me the impression of ofono being not willing to target desktop / laptop users and a hard tugging between the pulseaudio devs and Pali to define an interface which does allow ofono to live next to hsphfpd.

Seems that that tugging has come to a successful end and the next scene is at https://lore.kernel.org/linux-bluetooth/20200518165011.jfarrp5mtqoy3mqz@pali/

Maybe it's time to give some support to pali@kernel.org.


Tasso (talk) 19:29, 1 September 2020 (UTC)Reply[reply]

--plugin and headset buttons

I had problems with the headset buttons of my devices. They worked, but the play button had to be pressed twice for whatever reason, this worked flawlessly on Android. However, I found out that using --plugin=* with bluetoothd works wonders here. Might be worth to add but using every plugin seems a bit hacky, but Bluetooth is Bluetooth. Opinions?

-- NetSysFire (talk) 07:41, 7 April 2021 (UTC)Reply[reply]

I have the same issue with my headset on KDE, a recent version was supposed to fix it (bug), but it's still ongoing (EDIT: oops, looks like the fix isn't yet in stable - my bad...). The fix you've mentioned doesn't work for me either :/ DragoonAethis (talk) 10:56, 7 April 2021 (UTC)Reply[reply]

Add installation section for greater clarity

Currently, the pipewire section in the page has been added completely separate from the rest of the page - so it seems that all the configuration section applies only to installation via pulseaudio. I think it would make more sense to add an installation section at the beginning - with pipewire and pulseaudio sub-sections, and separate out the rest of the page which applies (unless I am woefully mistaken) to both install methods Drakkar1969 (talk) 18:06, 19 November 2021 (UTC)Reply[reply]

It does appear to be the case that there is a fair amount of content in the PA section that applies to PW. However, this is mostly content that is redundant Bluetooth, as the current merging note points out. I think that that note should be resolved before moving forward with reorganizing this page. CodingKoopa (talk) 01:46, 21 November 2021 (UTC)Reply[reply]

Connecting works, but there are sound glitches all the time

A possible solution is to move your WiFi network to 5GHz so that there will be no interference. If your card/router does not support this, you can upgrade your WiFi drivers/firmware. This approach works on Realtek 8723BE and latest rtl drivers for this chip from AUR.


Which driver is this referring to? According to Network configuration, the drivers are already included in the kernel and I can't seem to find the rtl driver in the AUR. Is this paragraph out of date?

Munzu (talk) 07:35, 11 March 2024 (UTC)Reply[reply]

This section was added in 2017-01-08, but according to the Network configuration history it was outdated even when written, since the module was included in kernel 3.15...
-- Erus Iluvatar (talk) 16:08, 11 March 2024 (UTC)Reply[reply]
No answer for a few days, I've updated the page, closing. --Erus Iluvatar (talk) 10:24, 16 March 2024 (UTC)Reply[reply]