openmind ☃   October 10, 2008  ☃  alsa: module loading order determines sound card device order  (, )

One of the nuances of running multiple sound cards on Linux is that, at least in Archlinux, the order in which kernel sound modules are loaded determines which of the system’s multiple sound cards will be assigned to /dev/mixer, /dev/mixer1, etc.

In Archlinux the MODULES array in /etc/rc.conf is a global array that can be used to specify which and in what order to load kernel modules.

For example, this

MODULES=(snd_usb_audio snd_intel8x0)

would load my Extigy USB sound card before my onboard intel card. Similarly, this

MODULES=(snd_usb_audio !snd_intel8x0)

disables my Intel card. In both of the above examples the USB card would be assigned to /dev/mixer.

On the other hand, reversing the order assigns the Intel card /dev/mixer

MODULES=(snd_intel8x0 snd_usb_audio)

blog comments powered by Disqus