Knowledgebase
Ich habe Probleme mit einem Spiel und dem Linux-Client wenn ich ALSA verwende. Wie kann ich dieses Problem lösen?
Diese Hinweise gelten für Benutzer die Probleme damit haben ein Spiel zu starten wenn der TeamSpeak-Client läuft (beispielsweise dass im Spiel kein Sound zu hören ist oder das Spiel gar nicht erst startet).

Verwenden Sie ALSA (Advanced Linux Sound Architecture) ?
Zunächst sollten Sie prüfen ob Sie überhaupt ALSA verwenden. Geben Sie "lsmod | grep snd" in einem Terminal als root ein. Erhalten Sie darauf eine Ausgabezeile verwenden Sie ALSA, wenn nichts ausgegeben wird, wird ALSA nicht verwendet.

Laufen irgendwelche Sound Daemons ?
Jetzt prüfen wir ob /dev/dsp von irgendeinem Sound Daemon benutzt wird. Dafür brauchen Sie das Programm "lsof". Wenn dies nicht installiert ist können Sie es von Ihrer Distributionsquelle nachinstallieren. Geben Sie "lsof | grep dsp" ein. Dieser Befehl listet alle Anwendungen auf die den Sound benutzen. Im Idealfall erhalten Sie auf diesen Befehl keine Ausgabe, ansonsten müssen wir diesen Daemon loswerden.

Wie man den Sound Daemon entfernt
Wenn Sie auf "lsof | grep dsp" eine Ausgabe erhalten haben Sie in den meisten Fällen arts laufen. Wenn ein anderes Programm ausgegeben wird müssen Sie dieses Programm loswerden.

Wie man arts deaktiviert
Rufen Sie das KDE Control Center auf, klicken Sie auf "Search" und geben Sie "artsd" ein. Es sollte ein Suchtreffer namens Sound-System aufgelistet werden. In dem passenden Dialog entfernen Sie die Checkbox in "start arts at KDE startup". Anschließend starten Sie KDE neu und prüfen ob arts immer noch läuft. Wenn Sie alles richtig gemacht haben sollte arts nicht mehr laufen.

Wie man andere Daemons deaktiviert
Sie können einfach den entsprechenden Prozess beenden indem Sie "killall xyz" im Terminal eingeben, aber der bessere Weg ist natürlich dafür zu sorgen dass der Prozess gar nicht erst gestartet wird.

Wie man den Prozessnamen Ihres Spiels findet
In den folgenden Schritten müssen wir herausfinden wie der Prozess heißt unter dem das Spiel läuft. Dazu starten wir das Spiel und wechseln in ein ttySx (drücken Sie dazu beispielsweise STRG+Alt+F2), dann geben Sie "top" ein und suchen den Namen am Anfang der angezeigten Prozessliste (wir gehen davon aus dass das Spiel viel CPU-Zeit anfordert und daher in der Liste sehr weit oben auftaucht).

Wie man ALSA so konfiguriert dass das Spiel nur auf Sound-Wiedergabe genutzt wird
Jetzt richten wir ALSA so ein dass das Spiel nur für die Wiedergabe von Sounds genutzt wird und keine Aufnahmefunktionen erforderlich sind. Dies ist notwendig weil ALSA sonst dem Spiel die Wiedergaberechte entzieht, da TeamSpeak bereits die Ressourcen zur Aufnahme reserviert hat und nicht gleichzeitig zwei Programme diese Funktion benutzen sollten. Führen Sie diese Befehle als root aus:

echo 'quake3.x86 0 0 direct' > /proc/asound/card0/pcm0p/oss
echo 'quake3.x86 0 0 disable' > /proc/asound/card0/pcm0c/oss

Jetzt sollten Sie in der Lage sein Ihr Spiel und TeamSpeak gleichzeitig zu benutzen.

Weil Änderungen im /proc Dateisystem nicht dauerhaft gespeichert werden, müssen Sie diese Befehle nach jedem Neustart erneut ausführen wenn Sie Spiele und TeamSpeak gleichzeitig verwenden möchten. Eine Lösung für dieses Problem ist die Verwendung eines Startscripts, das diese Befehle automatisch nach jedem Neustart ausführt. Dieses Startscript befindet sich bei SuSE Linux in "/etc/init.d/boot.local", für Gentoo in "/etc/conf.d/local.start". Hängen Sie die oben genannten Befehle einfach ans Ende des entsprechenden Startscripts an.
(1 vote(s))
Helpful
Not helpful

Comments (0)