サウンドデバイスの認識順序を指定
Ubnutuだと、複数のサウンドデバイスがある場合、認識される順序が決まっていないようだ。おかげで、音が出るときと出ないときがあってイライラしていたんだけど、ようやく解決策が見つかった。
まずは認識されているモジュール名を確認。自分の場合は以下のような出力。
# cat /proc/asound/modules 0 snd_cmipci # サウンドカード 1 snd_hda_intel # オンボードのサウンドデバイス
このインデックスが、起動するたびに変わったり変わらなかったりしてた。なので、これを明示的に指定してやる。この設定は/etc/modprobe.d/alsa-baseというファイルをいじるようだ。
# vi /etc/modprobe.d/alsa-base
このファイルの末尾に以下の記述を追加。
options snd_cmipci index=0 options snd_hda_intel index=1
一般化すると、
options ${デバイス1} index=${番号1} options ${デバイス2} index=${番号2}
これで、snd_cmipciが最初に、snd_hda_intelが次に認識されるようになりました。めでたしめでたし。