Falls die Lautstärke von USB-Headsets im 20 - 30% Bereich unkontrollierbar sind, d.h. kein Ton unter einem bestimmten Wert und zu laut nach einem Prozent mehr, könnte es am Hardwaremixer liegen.

Die Lösung ist es ALSA anzuweisen den Hardwaremixer zu ignorieren und stattdessen nur den Softwaremixer zu nutzen. Falls pipewire mit wireplumber als Session-Manager genutzt wird, kann man dies mit einem Snippet unter $XDG_CONFIG_HOME/wireplumber/main.lua.d/ einstellen.

mkdir -p $XDG_CONFIG_HOME/wireplumber/wireplumber.conf.d/
vim $XDG_CONFIG_HOME/wireplumber/wireplumber.conf.d/51-usb-volume.conf
monitor.alsa.rules = [
  {
    matches = [
      {
        device.name = "~alsa_card.*"
        device.bus = "usb"
      }
    ]
    actions = {
      update-props = {
        api.alsa.use-acp = false
        api.alsa.use-ucm = true
      }
    }
  }
]

Anschließend muss man pipewire neustarten und in alsamixer die USB-Soundkarte auf 100% stellen. Über <F6> kann die Soundkarte ausgewählt werden.

systemctl restart --user pipewire
alsamixer

alsa-usb-audio-01.png

alsa-usb-audio-02.png

alsa-usb-audio-03.png

Am Ende noch die Konfiguration abspeichern, um sie über Reboots beizubehalten.

sudo alsactl store