Korzystam czasami z programu Skype i denerwująca dla mnie jest ciągła konieczność odłączania głośników i podłączania słuchawek. Wpadłem na pomysł, że skoro w Skajpie da się wybrać dedykowane urządzenie do obsługi dźwięku, to przecież mogę skorzystać z drugiej karty dźwiękowej i nie gimnastykować się za każdym razem, gdy ktoś zechce sobie ze mną pokonwersować, tym bardziej że trafienie do jednej z pięciu dziurek w słabych warunkach oświetleniowych do łatwych zadań nie należy ;)

Sytuacja u mnie (w moim kompie) wygląda tak: mam wbudowaną kartę marki nVidia,

00:04.0 Multimedia audio controller: nVidia Corporation CK804 AC'97 Audio Controller (rev a2)
którą do tej pory miałem wyłączoną w BIOS-ie, ponieważ korzystałem z innej karty na PCI
01:08.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 08)
gdyż w moim subiektywnym odczuciu ta karta generuje dźwięk lepszej jakości niż jakieś tam AC-97.

Niestety, po włączeniu karty wbudowanej automagicznie stała się ona domyślną kartą dźwiękową w systemie (snd-card-0), a założenie jest takie, że nVidia dla Skype, a Live! dla całej reszty. Trzeba to zmienić!

W tym momencie dochodzimy do pliku konfiguracyjnego '/etc/modules.d/alsa'. Jest to ten sam pliczek, w którym swoją konfigurację zapisuje narzędzie 'alsaconf'. Co ciekawe narzędzie to tak jakby nie potrafi zapisać ustawień dla dwóch kart - po prostu nadpisuje poprzednią konfigurację. Mniejsza z tym.

Googlając doszedłem do wniosku, że wystarczy poniższa konfiguracja, aby SB stał się domyślną kartą:

alias snd-card-0 snd-emu10k1
alias sound-slot-0 snd-card-0

alias snd-card-1 snd-intel8x0
alias sound-slot-1 snd-card-1
Niestety, tak się nie stało - nadal ta wbudowana miała numer 0. Okazało się, że trzeba jeszcze dodać opcję 'index':
options snd-emu10k1 index=0
options snd-intel8x0 index=1

I teraz wszystko działa tak jak chciałem - domyślną kartą (snd-card-0), do której są podłączone głośniki jest SoundBlaster, a dla Skype jest AC'97 (snd-card-1), do której są podłączone (już na stałe) słuchawki :)