One Up headphones on 3.5mm

So I don’t now if anyone had this issue, but plugging in the headphones via the 3.5mm does switch the sound output to them, but toggling the volume doesn’t have an effect. It outputs to an arbitrary value and it stays there.

When trying to output which device is being used I’d get:

@rpi-laptop:~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 2: Device [USB Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: Camera [PC Camera], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0


So this obviously tells me that the sound is not routed via the standard 3.5mm bus but via an USB, which would be obvious if I’d checked the official schematic and notice that it’s separated with a multiplexer switch (MUX).

This makes sense, but there’s either a bug or something since the audio control function doesn’t work when the output goes via 3.5mm. If I plug them out, volume selection and mute toggling works normally on the internal speakers.

I’ve made a quick workaround where I’ve created a key binding for directly pressing F6-F8 for those functions (toggle mute, volume down and up respectively).

nano ~/.config/labwc/rc.xml

<keybind key="F6">
  <action name="Execute" command="pactl set-sink-mute @DEFAULT_SINK@ toggle" />
</keybind>

<keybind key="F7">
  <action name="Execute" command="pactl set-sink-volume @DEFAULT_SINK@ -5%" />
</keybind>

<keybind key="F8">
  <action name="Execute" command="pactl set-sink-volume @DEFAULT_SINK@ +5%" />
</keybind>

This also overrides the Fn+F6-8 function, as well as the GUI selectors, which obviously isn’t ideal. But for the time being, it’s an okay solution for me since I am using headphones more often than the internal speakers, and don’t need the mentioned F keys specifically for other uses (at least for now).

I didn’t have much time to really play with this so if anyone has a better solution I’d appreciate it here.

The desktop environment is Wayland on Debian 12 Bookworm.