Monday, August 1, 2011

Soundkarten-Reihenfolge ändern

Es gibt ja immer mal wieder das Problem, dass ALSA Soundkarten in der falschen Reihenfolge erkennt - dann wird statt der eigentlichen Soundkarte auf einmal der Eingang der TV-Karte oder der HDMI-Ausgang vom Monitor als primäre Soundkarte verwendet. Auch neuere Sounddaemons wie Pulseaudio helfen nur dann, wenn alle verwendeten Programme denselben auch unterstützen.

Workarounds gibt es mehrere, die vom Blacklisting der Kernelmodule über die Priorisierung der Ladereihenfolge gehen. Den schönsten und einfachsten Weg finde ich aber, einfach eine Datei /etc/modprobe.d/alsa.conf mit einer Liste der Module anzulegen, die man nicht haben will.

Bei mir sieht die Datei beispielsweise so aus:

options snd slots=,cx88_alsa,snd_hda_codec_nvhdmi

Wichtig ist das Komma direkt nach dem Istgleich: Damit sage ich, dass alles vor den beiden von mir unerwünschten Modulen kommen soll.

——

Leider kommen Programme, die fmod verwenden, nicht damit zurecht - hier muss weiterhin eine Standard-Soundkarte festgelegt werden:

cat /proc/asound/cards

listet die verfügbaren Karten auf, die Standardkarte lässt sich dann in der Datei /etc/asound.conf (systemweit) oder ~/.asoundrc (für den Benutzer) festlegen, indem man dort folgenden Eintrag hinzufügt:

pcm.!default {
    type hw
    card <Name der Karte>
}
ctl.!default {
    type hw
    card <Name der Karte>
}