The workaround I've been suggesting to people using Warty is to hard-wire the
ALSA driver load order in /etc/modules, for example:
$ echo "snd-sb16" | sudo tee -a /etc/modules
snd-sb16
$ echo "snd-bt87x" | sudo tee -a /etc/modules
snd-bt87x
The sb16 card becomes ALSA's card0; the bt87x card becomes card1. It certainly
is less than optimal, but "it works."
Now when the fun (or forehead-bashing) begins is at the moment a user wishes to
use ALSA in conjunction with OSS/Free (e.g., snd-emu10k1 and bttv). Just
recently I suggested a similar workaround to the above for that particular Warty
user - that is, loading bttv after snd-pcm-oss.
The proposal to enumerate a list of "preferred" devices sounds promising, but I
agree it can become troublesome quickly depending on the user's preferences. The
vast majority of [new] ALSA users seem to have cards driven by snd-emu10k1,
snd-intel8x0, or snd-via82xx. Perhaps we should prefer one of those for card0 in
the presence of multiple cards of which only one card is driven by one of those
three drivers?
The workaround I've been suggesting to people using Warty is to hard-wire the
ALSA driver load order in /etc/modules, for example:
$ echo "snd-sb16" | sudo tee -a /etc/modules
snd-sb16
$ echo "snd-bt87x" | sudo tee -a /etc/modules
snd-bt87x
The sb16 card becomes ALSA's card0; the bt87x card becomes card1. It certainly
is less than optimal, but "it works."
Now when the fun (or forehead-bashing) begins is at the moment a user wishes to
use ALSA in conjunction with OSS/Free (e.g., snd-emu10k1 and bttv). Just
recently I suggested a similar workaround to the above for that particular Warty
user - that is, loading bttv after snd-pcm-oss.
The proposal to enumerate a list of "preferred" devices sounds promising, but I
agree it can become troublesome quickly depending on the user's preferences. The
vast majority of [new] ALSA users seem to have cards driven by snd-emu10k1,
snd-intel8x0, or snd-via82xx. Perhaps we should prefer one of those for card0 in
the presence of multiple cards of which only one card is driven by one of those
three drivers?