$ cd pranavchip.com && cd /docs Documentation for Disabling Headset Audio Profiles ================================================== Author: Pranav ChiploonkarDate : 2026-06-19 OS : CachyOS x86_64 Kernel: Linux 7.0.12.1-cachyos DE : GNOME 50.2 WM : Mutter (Wayland) (1) Create the user-level wireplumber config directory $ mkdir -p ~/.config/wireplumber/wireplumber.conf.d/ Note that the wireplumber directory doesn't exist by default unless used before. (2) Create the config file $ cd ~/.config/wireplumber/wireplumber.conf.d $ touch 51-disable-handsfree.conf Note that "51" is used to signal load order. The system's default is 50. This means values lower than 50 load first, and are overrided by the system. Using 51 allows our override to take priority. (3) Enter the config $ micro ./51-disable-handsfree.conf ------------------------------------------------------------------------ wireplumber.settings = { bluetooth.autoswitch-to-headset-profile = false } monitor.bluez.properties = { bluez5.roles = [ a2dp_sink a2dp_source bap_sink bap_source ] } ------------------------------------------------------------------------ This config does two things: (i) It prevents wireplumber from switching to headset mode (ii) It only allows high-quality audio profiles to load, such as A2DP sink. This ensures only codecs like SBC/SBC-XQ/AAC are allowed to be used, while crappy telephony profiles like hfp_hf and similar are ignored. (4) Restart audio stack $ systemctl --user restart wireplumber pipewire (5) Reconnect devices This will disconnect all bluetooth audio devices, requiring a reconnection. Upon reconnection, you will notice the complete lack of the "Headset" profile, and only "Headphones" will be displayed. Some devices offer A2DP with the Headset profile, so it's not guaranteed. The sound quality should, in theory, default to the highest available quality, which is often AAC. SBC-XQ, if available, isn't switched to by default and requires a manual toggle. Do note that GNOME's default audio control panel is simplified, which could cause the specific codec switch (SBC/SBC-XQ/AAC) to be hidden. To get full access, a different control panel is needed, such as PulseAudio Volume Control (pavucontrol). This has not been tested, and is only provided here as a recommendation to look into.