Hacker News new | ask | show | jobs
by 12ian34 1879 days ago
> Windows 10 and Linux support coming soon

Great to hear! I have had a lot of issues with getting high quality bi-directional audio (e.g. for video calls) to work with my QC35s on both Windows and Linux on both my Thinkpad and desktop since it defaults back to the HFP profile instead of A2DP. I don't fully understand the problem and I don't get why it seems to work fine on Macbooks. I'd (unfortunately) be happy to pay the price you've quoted for this app if it solves that problem well.

3 comments

I use QC35s with Windows and Linux and have always found them excellent despite having what appears to be the same behaviour as you. This is what I have:

Once paired, two audio output devices are created - "Bose QuietComfort 35 Stereo" (A2DP) and "Bose QuietComfort 35 Hands-Free AG Audio" (HFP). The A2DP one is the default output source for the PC, so I get this behaviour:

* When I'm not in a call of any form, normal system audio (Youtube, Spotify etc.) comes through A2DP with good quality

* When I start a call, the headphones switch to HFP (you can tell due to increase in hiss) and audio quality drops. During this time you can't hear what the PC is playing over the A2DP output (unless I switch the default Windows output).

I'd be curious to know if you get different behaviour on Macbooks because the above "one profile at a time" always seemed to me to be a fixed limitation of the hardware and Bluetooth.

Interesting that the HFP is usable for you. When I've tried to get it working on Linux using blueman, pavucontrol and pulseaudio-bluetooth, switching to HFP is so terrible that I default back to the trusty 3.5mm TRRS jack for calls.

I haven't personally tried it on a MacBook but I do know that colleagues seem to use their bluetooth headphones just fine with no clear quality drop.

This is due to PulseAudio not having proper support for decent quality HFP/HSP. There was a PR to PulseAudio for this exact thing that seemed to have been completely stranded: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge...

Edit: actually there might have been some movement on this after all? Some comments in that ticket seem to indicate that this has been improved on master.

Thanks for linking this, I hadn't come across this before. You're right there does seem to be some very recent progress. I'll have a go with what's in the master branch there.
The latest development version (unreleased) of Pulse Audio has great support for HFP with WBS/mSBC.

I've been using it for weeks (months?) with great results.

Wow, wonderful news. Thanks!
Yes - I get the same (good) performance as Windows on multiple Linux machines. I'm running Fedora which may help, but I had to do no fiddling - just worked 'out of the box'.
I've been using QC35s with a Macbook for a long while and thanks to your comment I finally understand why sometime the headphones would switch to a different "mode" where there is a lot of hissing in the background and the button (which I have configured to switch NR levels) wouldn't do anything.

Super interesting, thank you!

So apparently this "mode" comes from the headphones switching to HFP. Interesting that in this mode the left button presses are ignored...

I'll try to notice when it's doing this. I have the feeling it's when I am on a call but not all programs do that. I use Slack, Facetime, and sometimes Google Meet via Chrome. I'm pretty confident only some of these trigger the switch, and whenever the call ends the phones go back to A2DP.

It's absolutely infuriating that there's no easy way to configure this. I'd love to be able to turn off HFP altogether to always ensure that I use an external mic.

Instead every app seems to figure out their own behavior for this.

Current Bluetooth profiles don't support high-quality bidirectional audio.

"Bluetooth LE Audio" is supposed to resolve this in the future.

Works fine with pipewire; same high quality as what I experience when connecting to my Android phone;

Keywords to search for:

bluez5.sbc-xq-support = true

bluez5.headset-roles = [ hfp_ag ]

bluez5.msbc-support = true

I will check this out, thanks.
Interestingly, I have the opposite problem! On my Windows computer and Android phone, I get decent quality bidirectional audio for calls, but on my (2014) Macbook it always switches to mono.