On Fri, 2004-04-30 at 13:40, Michael Schwendt wrote:
On Fri, 30 Apr 2004 12:22:43 -0400, Alexander Kirillov wrote:
I have main volume OK, but PCM slider is set to 0 at every reboot.
Please try the following as "root" user:
- run "alsamixer" and set the sliders correctly, unmute the channels
- run "alsactl store"
- run "alsactl restore"
- run "alsamixer" again
What do you see?
Works fine - that is, PCM slider shows the value I had set. However, after reboot the slider is returned to 0.
If you run "alsactl restore" directly after reboot, does that restore the PCM slider with value 0 or with a good value?
The values are saved in /etc/asound.state, so if you check the timestamp of that file you can find out when it was written to last time (whether on reboot or earlier).
[I should be querying bugzilla for any ALSA issues with the intel 8x0 chipsets, but I don't have that chipset myself]
/etc/asound.state is saved at shutdown, and running alsactl restore immediately after login does restore the correct values for PCM and other controls. So the problem seems to be that modprobe didn't run alsactl restore at startup.
And yes, I do have these lines in modprobe.conf
install snd-intel8x0 /sbin/modprobe --ignore-install snd-intel8x0 && /usr/sbin/alsactl restore >/dev/null 2>&1 || : remove snd-intel8x0 { /usr/sbin/alsactl store >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-intel8x0
Any ideas?
BTW: another oddity is that volume control tool in GNOME shows two mizers. One is identified as Intel 82801DB-ICH4 [Alsa Mixer], another as SigmaTel STAC9750/51, Conexant i[Audio Mixer (OSS)]. I definitely only have 1 audio card, identified by alsamixer as
Card: Intel 82801DB-ICH4 Chip: SigmaTel STAC9750/51,Conexant id 22
So why show 2 different mixers? And their controls are independent: changing PCM slider in one of them does not change the PCM slider in the other. :(
It's a single mixer, but accessible via two differ audio mixer drivers. There is "native ALSA" (devices /dev/snd/* for PCM, mixers, ...) and "ALSA OSS emulation" (devices /dev/dsp, /dev/mixer, ...). The latter provide a compatibility interface for the old OSS/Free audio drivers from the 2.4 kernel series, so many applications don't need to be rewritten for ALSA. I've heard rumours that with some chipsets, the drivers don't route values through between ALSA and ALSA OSS. So when you configure your soundcard mixer with ALSA, the OSS settings can be different. Depending on how much you like to examine this, you could disable the ALSA OSS drivers (they are loaded via /etc/modprobe.dist) and see whether that makes a difference.
Can understand the logic but the result is still ugly. Reasonable thing would be to show only one mixer to the user, even if we have two drivers for compatibility reasons - if it can be done...