I have a pair of WH-1000XM3 headphones which present themselves as two output audio endpoints in the Sound settings on Windows 10:
- Headphones (high-quality, high-latency)
- Headset (low quality, low sample rate, but very low latency)
They also have a headset mic input endpoint.
In order to use the headset output profile when on voice calls and when gaming, I have my Default Output Device and Default Communication Device both set to the headset. This gives me the low latency I want, at the expense of audio quality which I accept. This works perfectly on Windows 10 - I can hear both audio calls and multimedia through the low-latency, lower-quality endpoint. If I'm in a voice call, I can be heard through the headset microphone.
I have paired these headphones to a new laptop running Windows 11 Pro, and I only see one output endpoint in the sound control panel (as well as in the advanced options in mmsys.cpl) - the headphones, which provide stereo, high-quality audio at high latency. The headset is not visible and cannot be selected.
Weirdly enough, if I check the actual audio endpoints known to the PnP subsystem through Powershell, I do see both the headphones, and the hands-free/headset profiles, and they're marked OK.
Get-PnpDevice -Class 'AudioEndpoint'
Status Class FriendlyName InstanceId
Unknown AudioEndpoint Speakers (High Definition Audio Device) SWD\MMDE...
Unknown AudioEndpoint Microphone (High Definition Audio Device) SWD\MMDE...
Unknown AudioEndpoint Microphone Array (Realtek(R) Audio) SWD\MMDE...
OK AudioEndpoint Headset (WH-1000XM3) SWD\MMDE...
Unknown AudioEndpoint Speakers (High Definition Audio Device) SWD\MMDE...
OK AudioEndpoint Headset (WH-1000XM3 Hands-Free) SWD\MMDE...
OK AudioEndpoint Speakers (Realtek(R) Audio) SWD\MMDE...
Unknown AudioEndpoint Microphone (High Definition Audio Device) SWD\MMDE...
OK AudioEndpoint Headphones (WH-1000XM3) SWD\MMDE...
OK AudioEndpoint Microphone Array (Realtek(R) Audio) SWD\MMDE...
Unknown AudioEndpoint Speakers (Realtek(R) Audio) SWD\MMDE...
Unknown AudioEndpoint Microphone Array (Realtek(R) Audio) SWD\MMDE...
How do I actually use these profiles? If I start a voice call, Windows will switch to the HSP audio output automatically when the microphone is enabled, but being in a voice call indefinitely is not a sensible workaround.
Avoiding bluetooth latency with a 3.5 mm cord is also not a viable workaround for me - I still want to use the bluetooth headset's microphone, and I cannot do so if it's powered down in order to be used with analog audio via 3.5 mm jack.
Can I configure the same setting to use the HSP/HFP endpoint at all times on Windows 11, or do I need some kind of silly workaround like a custom program that holds the microphone open just for the sake of getting the right output config? Is there some hidden registry setting that will allow me to set this manually?