Default sound volume for all ALSA devices

I just wandered upon this post and see you are struggling with the answer to this as I was. This is what fixed it for me:

Go into alsamixer and set everything the way you want it, then exit and type this:

sudo alsactl store

That will store the current config of alsamixer and it should keep the config.


There are some generic and driver-specific config files in /usr/share/alsa/init/, where you can specify settings like ENV{ppercent}:="75%" and ENV{pvolume}:="-20dB" (pvolume = playback volume, cvolume = capture volume, etc.). /usr/share/alsa/init/default should already contain those settings, so you can use it as an example.

You can force ALSA to re-initialize all devices with alsactl init and can also override the default configuration files for that with alsactl -i /usr/share/alsa/init/foo init.

For some reason, ALSA seems to ignore the ppercent and pvolume settings on my system, but from your comments it seems like they worked for you. If anyone can enlighten me on why the configuration might be ignored, I'd be glad to amend this answer.