If I set my master volume to 50% then reboot, my master volume is 100% when I
log back in.
It turns out /etc/alsa/asound.state doesn't change when I set the master volume
and store the current state.
Change component from initscripts to alsa-utils. At first I thought it was due
to /sbin/salsa being called so late in S01reboot, but it now seems it's because
alsactl store isn't doing anything useful.
Created attachment 291762 [details]
/etc/alsa/asound.state after setting master volume to 40%
Created attachment 291763 [details]
/etc/alsa/asound.state after setting master volume to 100%
My master device is described by the GNOME Volume Applet as:
Playback: ALSA PCM: on hw:0 (STAC92xx Analog) via DMA (PulseAudio Mixer)
If I go to File->Change Device, I get the following options:
- HDA Intel (Alsa Mixer)
- SigmaTel STAC9205 (OSS Mixer)
- Playback: ALSA PCM: on hw:0 (STAC92xx Analog) via DMA (PulseAudio Mixer)
Obviously the third of these is selected.
amixer shows the controls/components for the HDA Intel (Alsa Mixer) device when
I use the "controls" command.
$ amixer -c 0 controls
numid=12,iface=MIXER,name='Front Playback Switch'
numid=11,iface=MIXER,name='Front Playback Volume'
numid=13,iface=MIXER,name='IEC958 Playback Con Mask'
numid=14,iface=MIXER,name='IEC958 Playback Pro Mask'
numid=15,iface=MIXER,name='IEC958 Playback Default'
numid=16,iface=MIXER,name='IEC958 Playback Switch'
numid=1,iface=MIXER,name='Digital Input Source'
numid=7,iface=MIXER,name='Mux Capture Volume'
numid=10,iface=MIXER,name='Mux Capture Volume',index=1
Changing the card number to 1 or 2 produces an error.
Yet it sets the PulseAudio device (ALSA PCM: on hw:0 (STAC92xx Analog) via DMA
(PulseAudio Mixer)) when I use the "set" command.
$ amixer set Master 50%
Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 65536
Front Left: Playback 32768 [50%] [on]
Front Right: Playback 32768 [50%] [on]
I've been able to work around this by changing the volume control applet to use
device 0: HDA Intel (Alsa mixer). I also had to change my volume up and down
keys to run "amixer -c 0 cset numid=11 +10%" rather than "amixer set Master
10%+". It should be obvious this isn't ideal.
That amixer command doesn't actually work. amixer set Master accepts %
increments (e.g. 10%+ to turn the volume up 10%), but amixer cset doesn't. :-(
It's not going to be handled by alsa anymore...
PA now saves and restores audio device volumes automatically in rawhide.