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:
> >
> > 1. run "alsamixer" and set the sliders correctly, unmute the
channels
> > 2. run "alsactl store"
> > 3. run "alsactl restore"
> > 4. 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...