So maybe sounds like crap
is an overstatement, but compared to what it sounds like on windows / macos / my phone it’s not even a comparison.
Apparently this is is caused by the pulseaudio-profile being set wrong. You can check available profiles by connecting to the bluetooth headphones and running pacmd list
:
profiles:
headset_head_unit: Headset Head Unit (HSP/HFP) (priority 20, available: unknown)
a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 10, available: no)
off: Off (priority 0, available: yes)
When trying to set the profile, pacmd will refused (related to the available: no
):
pacmd set-card-profile bluez_card.aa_bb_cc_dd_ee_ff a2dp_sink
Failed to set card profile to 'a2dp_sink'.
According to this bug report it is caused by gdm3 hogging the profile to pulseaudio for accessibility features. Since I don’t use those, it seems like the worst deal of all deals, maybe ever. But the solution is defined in the same bug report page:
Add the following data to /var/lib/gdm3/.config/pulse/client.conf
:
autospawn = no
daemon-binary = /bin/true
Chown it with the same user as the other folders. In my case it’s Debian-gdm:
chown Debian-gdm:Debian-gdm /var/lib/gdm3/.config/pulse/client.conf
Remove the pulseaudio-socket from gdm config
rm /var/lib/gdm3/.config/systemd/user/sockets.target.wants/pulseaudio.socket
The restart your computer. After restarting, your pulseaudio profiles should look like this:
profiles:
headset_head_unit: Headset Head Unit (HSP/HFP) (priority 20, available: unknown)
a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 10, available: unknown)
off: Off (priority 0, available: yes)
And setting profile should work properly. Enjoy your high quality sound and lack of accessibility functionality in gdm3.