Ken Moffat wrote:
>   I bought a new machine last week, the sound comes from an Intel HDA
> audio device (CONFIG_SND_HDA_INTEL) which provides *both* HDMI and
> analogue outputs.  I don't use pulse and have no wish to.
>
>   aplay -l shows:
> **** List of PLAYBACK Hardware Devices ****
> card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
>    Subdevices: 1/1
>    Subdevice #0: subdevice #0
> card 1: Generic [HD-Audio Generic], device 0: ALC887-VD Analog
> [ALC887-VD Analog]
>    Subdevices: 1/1
>    Subdevice #0: subdevice #0
> card 1: Generic [HD-Audio Generic], device 1: ALC887-VD Digital
> [ALC887-VD Digital]
>    Subdevices: 1/1
>    Subdevice #0: subdevice #0
>
>   Note that card 0 is HDMI, so the regular sound (jack to my amp) was
> silent.  That has been fixed by creating ~/.asoundrc (it can also go
> in /etc/asound.conf but I haven't tested that) with :
> # card 0 is the hdmi
> pcm.!default {
> type hw
> card 1
> }
>
> ctl.!default {
> type hw
> card 1
> }
>
>   In alsamixer I can move to the second card [F6 before creating
> asoundrc] and unmute it.  The combination allowed alsamixer to
> control the volume - which is nice, but takes up a terminal and isn't
> mouse-friendly.
>
>   I've been using gvolwheel, but it came up muted (level set to 0 -
> it doesn't use a 'mute' control) and didn't alter the volume no
> matter where it was set - e.g. alsamixer and vlc would play at their
> expected volumes whether the gvolwheel slider was set to 0, 100, or
> anywhere else.
>
>   Eventually I discovered that gvolwheel was using the old oss
> /dev/mixer which presumably only finds the first sound card.  Then
> I remembered that I'd done that [ --enable-oss in configuring
> gvolwheel ] because otherwise, on my previous machines, it wouldn't
> appear until after I'd used alsamixer.  That made it match the old
> gtk2 version of gvolwheel which was oss-only.
>
>   So, I rebuilt gvolwheel to use alsa : strace now showed it was
> trying to open /dev/snd/controlC1 - and apparently succeeding - but
> still reporting "Error opening mixer device".
>
>   I thought I'd managed to fix it by running 'alsactl init', but I
> was wrong.  After a lot more experimentation I found that I need to
> run "alsactl store" to make it work.  That is what the BLFS alsa
> bootscript runs on _shutdown_.  NB invoking alsamixer didn't fix it
> on this machine.
>
>   This makes me feel very confused!  Early days, but I guess I can
> test this (using alsa in gvolwheel) on the other machines, with a
> hacked-up script to run alsactl store.  But it seems back-to-front.
>
>   I thought about running alsactl, as a user, from .xinitrc but I
> can't run 'store' : Cannot open /var/lib/alsa/asound.state for
> writing: Permission denied
>
>   So, I suppose I ought to change the gvolwheel build.  But it then
> needs a bootscript to run alsactl store at startup (otherwise the
> gvolwheel icon doesn't appear).  Would it be sensible to add that
> to the bootscripts, called e.g. "gvolwheel", or is there a better
> solution ?
>
>   And would it be worth me documenting the use of card 1 in the alsa
> section of the book ?

It turns out that controlling audio is fairly complex.  Multiple inputs 
and multiple outputs makes things pretty tricky.  How is sound 
controlled in the window manager, individual applications like konsole, 
vlc, mpg, ffmpeg, mplayer, etc without tromping all over each other is 
quite a challenge.

I did write up some things about pulseaudio at 
http://lfsblog.linuxfromscratch.org/article.php/20121211212440784 but I 
think my goals are a bit different from yours.

I think a writeup would be reasonable, but not put into the book unless 
it was fairly short.  A link to a more detailed page such as a hint or 
just an html page on the server would be a bit more appropriate.

   -- Bruce
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to