In PulseAudio eine Soundkarte deaktivieren

18. April 2022, Tags:

Ich nutze eine USB-C-Dockingstation von DisplayLink, die eine eigene Soundkarte beinhaltet. Das ist natürlich wahnsinnig komfortabel. Doch ich nutze sie nicht und ständig ist diese Karte die voreingestellte Sound-Ausgabe. Um dem Nerven ein Ende zu setzen habe ich mal recherchiert, wie ich in PulseAudio eine Soundkarte deaktivieren kann.

Spoiler: In meinem Fall musste ich zu härteren Maßnahmen greifen.

In PulseAudio eine Soundkarte deaktivieren

Mein erster Versuch führte mich zum Tool ‚pavucontrol‘, dem PulseAudio-Lautstärkeregler. Im Tab ‚Konfiguration‘ konnte ich das Profil einfach auf ‚Aus‘ stellen (siehe Bild) und weg war der nervende Dämon. Das war allerdings nur von kurzer Dauer, da die Einstellung weder einem Neustart noch einem Screen-Lock standhielt.

Also suchte ich auf der Kommandozeile danach, was das Tool denn eigentlich macht. Das Kommando ‚pacmd‘ hilft hier weiter. Nachdem ich die Änderung in ‚pavucontrol‘ durchgeführt hatte, habe ich den folgenden Befehl aufgerufen (Ausgabe gekürzt):

Der ewig lange Name ist das, wonach ich gesucht habe. Und das aktive Profil ‚off‘ hat mir geholfen, die richtige Karte zu identifizieren. Per Kommandozeile könnte ich nun die Karte wie folgt deaktivieren:

Das funktionier auch sehr gut. Nun muss die Änderung noch irgendwie persistent gemacht werden.

PulseAudio-Konfiguration anpassen

Die Konfiguration von PulseAudio befindet sich systemweit im Ordner ‚/etc/pulse‘ und für jeden Benutzer noch einmal unter ‚~/.config/pulse‘. Die wichtige Datei heißt ‚default.pa‘. Wie sich die komplette Konfiguration zusammensetzt, zeigt der folgende Befehl an. Diesen habe ich immer wieder zum Testen genutzt:

Erstmal musste ich den Voodoo hinter dem Ordner ‚~/.config/pulse‘ verstehen. Hier liegen einige Datenbank-Dateien, die bei jedem Start von PulseAudio neu generiert werden. Und hier kann auch eine eigene ~/.config/pulse/default.pa-Datei angelegt werden. Diese sah bei mir wie folgt aus:

Alle anderen Dateien im Ordner beginnen bei mir mit dem Buchstaben ‚c‘. Das macht das Löschen in folgender Befehlsreihenfolge relativ einfach:

Wenn ich es so gemacht habe, dann zeigte der letzte Befehl die Konfiguration so an, wie ich sie haben wollte. Ich glaube, das wäre denn im Normalfall auch schon alles. Nur in meinem Fall mit DisplayLink ging es nicht.

Im Falle von DisplayLink

DisplayLink bringt einen eigenen Treiber mit, der auch für den Betrieb notwendig ist. Dieses kleine Biest macht die Arbeit des vorherigen Absatzes jedoch immer wieder zunichte. Sobald das Gerät eingebunden wird (beim Neustart, nach einem Screen-Lock, beim Aufwachen aus dem Suspend-Mode, …), scheint es eigenes Voodoo auf PulseAudio auszuüben. Meine Konfiguration wurde also regelmäßig überschrieben. Also musste ich härtere Bandagen auffahren, und das Ding schon vorher abschalten. Dafür brauchte ich die IDs des Gerätes:

Bewaffnet mit den beiden IDs habe ich mich dann auf ins udev-System gemacht, um die Karte gleich beim Einbinden wieder zu entfernen. Dazu habe ich die Datei ‚/etc/udev/rules.d/89-pulseaudio-usb.rules‚ angelegt, die noch vor der ’99-displaylink.rules‘ ausgeführt wird. Mit folgendem Einzeiler habe ich dann dafür gesorgt, dass ein Nutzen des Geräts unterbunden wird:

Voilà!

Keine Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.