Confusion about pipewire, bluetooth, 3d audio, a2dp and so on

There is a known and longstanding issue with audio quality on bluetooth headsets sadly. Linux essentially has support for two main audio protocols over bluetooth A2DP (Aka High Fidelity Playback) and HSP/HFP (Aka Headset Head Unit).

The sound quality over A2DP is _as the name suggest) high fidelity (at least good enough for my ears). But comes with a big disadvantage of it being a unidirectional protocol - so when using it you get no mic input.

To get the mic to work you need to use HSP/HFP - but that causes a noticeable drop in audio quality. Though on each protocal you can pick between a different set of codecs, mSBC and CVSD for HSP/HFP. While these will let you use the mic on the headset they are both terrible quality when compared to all the A2DP codecs. Although the mSBC is better than CVSD.

There are apparently some ways to get it to autoswitch between these two protocols when required. Though it is still a choice between crappy audio and a mic or high quality audio and no mic. At least the mSBC codec is good enough for voice - it is mostly just music that suffers.

/r/linux_gaming Thread