Hi guys,
I've got a a little nettop which I'm trying to set up for XBMC. As I don't
normally use Linux on the desktop, but primarily for headless servers, this has
been a little bit of a journey for me, but I now have X11 and the nVidia
drivers working, and basic audio playback.
So this particular system (eMachines 1401) defaults to the headphone output,
and I've learned that to get it to output over HDMI I have to run:
aplay -vvD plug:hdmi file.wav
I also, then, have to enter alsamixer and unmute the "S/PDIF 1" output (that
seems to be muted by default on this system) and audio starts coming through on
the TV.
So I want to set, of course, HDMI as the default output, so I created an
/etc/asound.conf and put the following in it:
pcm.!default {
type hw
card 0
device 3
}
ctl.!default {
type hw
card 0
device 3
}
This is great! Now when I run aplay I can omit the "-D $devicename" flag and
everything's good.
Now I have to admit, I figured out the above more or less by trial and error
(that, for instance, I can't describe the output as "card 0,3", but I have to
have the separate device line), and the "pcm" and "ctl" parts, and the
structure I just copied of the documentation at the ALSA website. I don't find
that documentation very clear.
So this is problematic the next time I reboot, because all of a sudden, now
alsamixer doesn't work. In fact, I can demonstrate that the problem is related
directly to this file:
# alsamixer
cannot open mixer: Invalid argument
# rm /etc/asound.conf
# alsamixer
# echo $?
0
#
So could anyone possibly explain this for me, please?
I'm liable to have another question or two in a moment, but I'd initially just
really love to understand why the alsa documentation says to have separate
pcm.!default and ctl.!default definitions (instead of a single
"everything.!default) and why alsamixer has now broke.
Many thanks in advance for any help you can offer,
Stroller.