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)
- Parrot Zik doesn't actually work that brilliantly - I have a terrible lag, and there is no microphone support.
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?
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
- Additionally, aur/pulseaudio-bluetooth-a2dp-gdm-fix provides /var/lib/gdm/.config/pulse/default.pa
Re , 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)
- 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)
- 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)
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
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.
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.
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!
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.
Regarding the revision of 16 April 2020 by Nheird
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?
- the change matches the upstream changes: https://github.com/Arkq/bluez-alsa/commit/29f03c4a87656ace084aadd109a5891665d1d788 that now relies on dbus and `interface` is simply ignored
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" <firstname.lastname@example.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 email@example.com.
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?