Bluetooth playback control on Gnome not working

I have been using Gnome (v42) for a while now, and one problem I’ve had was trying to use my bluetooth headphone’s buttons to control playback and volume on my laptop. Instead, it shows a (\) kind of symbol when I press these buttons. The volume and brightness buttons on the laptop’s keyboard work fine.

I recently gave KDE (v5.26) a try, and that specific feature worked out of the box. Volume control works, and play/pause works (at least with mpv which I’m using often). The laptop’s volume and brightness buttons also work fine with KDE.

I kinda assume this is a Gnome vs KDE thing (at least the way their NixOS modules are set up), right?

Any tips where I should start investigating this?

For reference, this is my configuration.nix diff:

-    desktopManager.gnome.enable = true;
+    # desktopManager.gnome.enable = true;
+    desktopManager.plasma5.enable = true;

PS: all this on NixOS 22.05.

No idea, but have you tried pipewire instead of pulseaudio to see if it’s changing something? Pulseaudio is progressively getting replaced with pipewire (ubuntu made the change already I think) and pipewire is much better, at least in term of bluetooth. It may be a bug from gnome but it’s worse trying this first.

I have no idea if my KDE setup is using pipewire right now, but according to my running processes, I seem to be using pulseaudio:

❯ ps aux | grep pulse
kostas      2776  0.0  0.1 1924776 18264 ?       S<sl Nov21  11:00 /nix/store/41zya3v12yfrrql5fbfwn6m2cw4ffa87-pulseaudio-15.0/bin/pulseaudio --daemonize=no --log-target=journal
kostas      2874  0.0  0.0 237600  3912 ?        Sl   Nov21   0:00 /nix/store/41zya3v12yfrrql5fbfwn6m2cw4ffa87-pulseaudio-15.0/libexec/pulse/gsettings-helper
kostas    482422 11.1  1.0 2421340 172456 tty2   Sl+  22:00   0:03 /run/current-system/sw/bin/systemsettings kcm_pulseaudio
kostas    482664  0.0  0.0 223608  2628 pts/1    S+   22:00   0:00 /nix/store/qd9jxc0q00cr7fp30y6jbbww20gj33lg-gnugrep-3.7/bin/grep --color=auto pulse

❯ ps aux | grep pipe
kostas    482697  0.0  0.0 223608  2688 pts/1    S+   22:00   0:00 /nix/store/qd9jxc0q00cr7fp30y6jbbww20gj33lg-gnugrep-3.7/bin/grep --color=auto pipe

Yeah pulseaudio is certainly default for now. You need to enable it (see e.g. the wiki)