Sound level not reflecting ALSA settings

For some reason, my audio device (Behringer UMC202HD) was resetting to 50% volume every time I restarted my PC, even though the KDE widget showed it at 100%. I had to manually open the ALSA manager to raise it each time.

After a bit of debugging, I fixed it by creating a custom systemd user service that automatically forces the device volume to 100% upon login. You can also adapt this snippet to mute other devices on startup or tweak your default levels:

systemd.user.services.set-volume = {
  description = "Set audio volume to 100% on login";
  after = ["sound.target"];
  serviceConfig = {
    Type = "oneshot";
    RemainAfterExit = true;
    ExecStart = "pactl set-sink-volume alsa_output.usb-BEHRINGER_UMC202HD_192k-00.pro-output-0 100%";
  };
  wantedBy = ["default.target"];
};

You could just enable hardware.alsa.enablePersistence.

2 Likes

Did not know about this options. Thanks!