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 ? ĸen -- das eine Mal als Tragödie, das andere Mal als Farce -- http://linuxfromscratch.org/mailman/listinfo/blfs-dev FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page