cancel
Showing results for 
Search instead for 
Did you mean: 

Bluetooth headset switch to HFP profile on linux zoom-5.17.0.1682

rugubara
Newcomer
Newcomer

I was a happy user of zoom on linux for past years. However with some recent update zoom no longer collaborates with pipewire/wireplumber to allow the automated switch of my headset mode from A2DP to HFP.

 

Instead of opening the recording stream and letting the linux sound server do its magic of switching the profile, zoom tries to enumerate the available mic devices (and finds none,  as the headset is still in the A2DP mode - i.e. no mic in the configuration) and zoom seems never to open the input stream (I can't see any Source Output in pactl list).

I tested this with 2 my headsets (Sony WH-1000XM4 and OpenComm by Shokz) and got identical results.

Other videoconf solutions (including the browser-based) work w/o issues.

 

I do have "ZOOM VoiceEngine" in the pipewire bluetooth policy exception list:

bluetooth_policy.policy = {
-- Whether to store state on the filesystem.
["use-persistent-storage"] = true,

-- Whether to use headset profile in the presence of an input stream.
["media-role.use-headset-profile"] = true,

-- Application names correspond to application.name in stream properties.
-- Applications which do not set media.role but which should be considered
-- for role based profile switching can be specified here.
["media-role.applications"] = {
"Firefox", "Chromium input", "Google Chrome input", "Brave input",
"Microsoft Edge input", "Vivaldi input", "ZOOM VoiceEngine",
"Telegram Desktop", "telegram-desktop", "linphone", "Mumble",
"WEBRTC VoiceEngine", "Skype", "Firefox Developer Edition", "virt-manager", "Virt Viewer"
},
}

 

However, when I induce the headset autoswitch by starting and skype test call for example, zoom reconnects to the bluetooth mic immediately and stays connected until I leave the call.

 

I'm happy to provide any debugging to make this functionality working again.

The best way to achieve it - is to set the media.role = Communication on the recording stream.

6 REPLIES 6

happenpappen
Newcomer
Newcomer

The same here (Headset is Sony WH-1000XM4) - endless trouble with mic, speaker works fine. In which file did you put the bluetooth exception list?

@happenpappen, I'm sorry for taking long to reply. In my gentoo it is in /etc/wireplumber/policy.lua.d/10-default-policy.lua

...


bluetooth_policy.policy = {
-- Whether to store state on the filesystem.
["use-persistent-storage"] = true,

-- Whether to use headset profile in the presence of an input stream.
["media-role.use-headset-profile"] = true,

-- Application names correspond to application.name in stream properties.
-- Applications which do not set media.role but which should be considered
-- for role based profile switching can be specified here.
["media-role.applications"] = {
"Firefox", "Chromium input", "Google Chrome input", "Brave input",
"Microsoft Edge input", "Vivaldi input", "ZOOM VoiceEngine",
"Telegram Desktop", "telegram-desktop", "linphone", "Mumble",
"WEBRTC VoiceEngine", "Skype", "Firefox Developer Edition", "virt-manager", "Virt Viewer"
},
}

...

 

steasenburger
Newcomer
Newcomer

Hello @rugubara 

I am struggling with exactly the same problem (also using Pipewire and Pipewire-Pulse on Manjaro Linux).

Zoom's audio works fine, until I start using a Bluetooth headset, then it's just a big mess.

Sometimes the playback and recording stops completely working, sometimes it's just one of it.

Switching the audio devices within the Zoom app is not possible at all once I connect my Bluetooth headset.

I have to use the system settings to change them, and even then it works only sometimes and partially.

 

In my case, Zoom lists the microphone twice with no indication why and the headset once, while I expected it to be otherwise (one time with A2DP profile and one time with HSP).

I also tested it with to separate Bluetooth headsets (Plantronics and Anker).

 

Could you maybe explain how you resolved/ worked around this issue and which file you need to adjust, as @happenpappen already asked?

 

And could we get a response from the Zoom team if those Pipewire Bluetooth issues are getting resolved eventually?

 

Edit: I am using Zoom 6.1.1.

@steasenburger, I ended up setting my headset configuration in pavcontrol to headset instead of AV2DP.

Otherwise Zoom never tries to open the listening stream (a trigger for wireplumber to switch to the headset profile) since there are no more mics found. I have my internal Intel HDA mic disabled in BIOS. 

I see, thank you for the clarification, but I think that's not an option in my case, since I still need my internal mic occasionally and need my headset to also use the A2DP profile, when I'm not using Zoom.

ChrisX
Newcomer
Newcomer

Thank you for the helpful information. I knew nothing about those different profiles till I read the above.

 

With the latest Zoom update I found Zoom stopped switching from High Fidelity output-only headset to Mono output and input, with the result that my headset microphone worked with other apps (eg Skype) but not with Zoom. I think this was resolved by manually changing the headset profile to HFP under Sound in the System Settings app and getting Zoom to use the microphone once, and then changing it back to A2DP, after which Zoom correctly switched it between the two automatically as desired. I think that's what fixed it, but it might just have been that the moon moved into Aquarius, for all I know.

Tuxedo OS 2.1.13
KDE Plasma 6.1.5
Kernel 6.11.0-102007-tuxedo (64-bit)
Zoom 6.2.2.2028
Logi Zone 900