Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03233.jsonl.gz/260

Mo, 7. November 2022, Ralf Hersel
Nach und nach ersetzen die gängigen GNU/Linux-Distribution den alten Sound-Server PulseAudio durch das neuere PipeWire. Da wird es Zeit, diese schwierige Materie zu erklären. Sucht man im Internet nach Videos zum Thema, findet man sehr viele und schwierige Erklärungen, die meist von Audio-Profis für Audio-Profis erstellt wurden. Daher versuche ich in diesem Artikel, die Zusammenhänge möglichst einfach zu erklären.
Die Idee zu diesem Artikel kam mir, als ich feststellte, dass auf meinen Manjaro-Installationen die beiden Sound-Server PulseAudio und PipeWire parallel liefen. Ausserdem hatte ich ab und zu Probleme beim Feststellen der aktuell verfügbaren Audio-Geräte (Mikrofone und Lautsprecher). Meine Hoffnung war, dass ein wenig Aufräumen in der Audio-Konfiguration diese Situation verbessern würde.
Überblick
In grauer Vorzeit gab es das Open Sound System (OSS), welches ab den 90er Jahren durch die Advanced Linux Sound Architecture (ALSA) schrittweise ersetzt wurde. Dieses System stellt die Schnittstelle zwischen den Hardware-Treibern für Audio-Geräte im Linux-Kernel und den Anwendungen dar, die Audio senden oder empfangen möchten.
ALSA hat das Problem, dass es kein Multiplexing unterstützt. Ohne Umstände ist es nicht möglich, zwei Mikrofone an eine Anwendung zu leiten oder eine Audio-Quelle an zwei Lautsprecher zu senden. Ein weiterer Makel ist die zu hohe Latenz für den professionellen Einsatz. An dieser Stelle kommen die Sound-Server ins Spiel.
JACK überzeugt mit niedriger Latenz und ist daher im Profi-Bereich beliebt, ist allerdings schwierig zu konfigurieren. PulseAudio hat eine wesentlich höhere Latenz (ca. 40 mS, was für normale Anwender:innen kaum eine Rolle spielt), überzeugt aber mit einem automatischen Routing zwischen der Ein- und Ausgabe. Die einfache (fast keine) Bedienung hat PulseAudio über viele Jahre hinweg zum Standard bei den Sound-Servern gemacht. Und dann kam PipeWire.
PipeWire ist API-kompatibel mit JACK und PulseAudio, hat eine bessere Latenz als PulseAudio und bietet sich damit als universeller Sound-Server an. Der grösste Vorteil ist die API-Kompatibilität, weil damit gegenüber ALSA das Vorhandensein von JACK und PulseAudio vorgegaukelt wird. Tatsächlich kümmert sich PipeWire vollständig um das Routing zwischen ALSA und den Anwendungen.
Video
Wie erwähnt, gibt es viele schwierige Erklär-Videos zu diesem Thema. Ich habe eines herausgesucht, dass die Zusammenhänge möglichst einfach erläutert. Es kommt von Kaitos Linuxwelt.
Eigene Erfahrungen
Um festzustellen, welche Sound-Server bei euch laufen, könnt ihr dieses Kommando im Terminal ausführen:
inxi -A Audio: Device-1: Intel Tiger Lake-LP Smart Sound Audio driver: snd_hda_intel Device-2: Logitech Logitech Stereo H650e type: USB driver: hid-generic,snd-usb-audio,usbhid Sound API: ALSA v: k5.15.76-1-MANJARO running: yes Sound Server-1: PipeWire v: 0.3.59 running: yes
Damit seht ihr, welche Audio-Geräte am Start sind und wer sich um die Verarbeitung kümmert. In meinem Beispiel seht ihr die interne Intel-Audiokarte und ein per USB angeschlossenes USB-Headset. Zwischen den Kernel-Treibern verhandelt ALSA mit allem, was danach kommt. Dann kümmert sich PipeWire um die Feinverteilung.
Wer nicht weiss, was Inxi ist, lernt es hier.
Bevor ich diesen Artikel geschrieben und Massnahmen ergriffen habe, zeigte Inxi mir zwei Sound-Server an, nämlich PulseAudio und PipeWire. Nach einiger Recherche habe ich dieses Kommando (Manjaro) ausgeführt:
pamac install manjaro-pipewire
Das Kommando mag etwas verwirrend erscheinen, weil PipeWire bereits installiert ist. Dieses Metapaket installiert jedoch nicht nur PipeWire, sondern entfernt auch PulseAudio. Für eure Distribution gibt es bestimmt ein ähnliches Kommando, um PulseAudio zu entfernen und durch PipeWire zu ersetzen. Falls inxi -A bei euch nur PipeWire als Sound-Server anzeigt, müsst ihr gar nichts machen. Sollte PulseAudio parallel dazu laufen, könnt ihr selbst entscheiden, ob ihr PulseAudio entfernen möchtet. Bei mir hat das zu keinen Problemen geführt. Ach ja, das Entfernen von PulseAudio wird erst nach einem Neustart wirksam.
Quelle: https://pipewire.org/