Windows stellt seit Jahrzehnten über ASIO-Treiber eine stabile, latenzarme Sound-Ausgabe bereit, während Linux die Anwender bis vor Kurzem mit den konkurrierenden Lösungen Pulseaudio und Jack nervte. Pipewire beendet nun das Drama.
Entweder herrscht Stille, oder es knackt und ruckelt: So lassen sich die unliebsamen Erfahrungen vieler Linux-Veteranen mit der Sound-Wiedergabe unter Linux zusammenfassen. In den letzten Jahren hat sich jedoch viel getan. Das Erscheinen des Pulseaudio-Nachfolgers Pipewire [1], auf den Fedora schon seit 2021 setzt, bügelte letzte verbliebene Probleme und Instabilitäten aus. Das betrifft auch die Audioverarbeitung für Musikaufnahmen mit niedriger Latenz, früher die Domäne des gesondert zu startenden Soundservers Jack [2]. Dabei emuliert Pipewire bestehende Protokolle, alle Anwendungen funktionieren unverändert weiter.
Pipewire verarbeitet Video- und Audiodaten. Die Audiounterstützung, um die es in dieser Folge der OpenSuse-Tipps geht, kam erst zwei Jahre nach Start der Entwicklung hinzu, ist jedoch längst zum wichtigsten Feature des Medien-Frameworks avanciert. Das Pipewire-Team hat so gute Arbeit geleistet, dass die Software schon in Vorabversionen als zuverlässiger galt als das von Systemd-Entwickler Lennart Poettering initiierte Pulseaudio nach zwölf Jahren Entwicklung. Viele Distributionen setzen Pipewire heute als Standard ein.
Frühreif
OpenSuse Tumbleweed aktiviert Pipewire bei nach Juli 2022 eingerichteten Systemen automatisch. Dist-Upgrades von vor diesem Datum eingerichteten Installationen stellen jedoch nicht auf den neuen Soundserver um. Leap 15.6 setzt per Default noch auf Pulseaudio, doch in den Standard-Repos steht Pipewire in Version 1.0.5 zur Installation bereit. Nach dem Einrichten startet es ohne weitere Konfiguration und übernimmt die Funktion von Pulseaudio.
Damit gehören dann etliche Ärgernisse der Vergangenheit an. So “vergaß” Pulseaudio beispielsweise auf dem Rechner des Autors immer wieder seine Konfiguration und versuchte ein Abspielen über das eigentlich deaktivierte und nicht an Lautsprecher angeschlossene Sound-Device der Grafikkarte. Besonders praktisch für Musiker: Da Pipewire sowohl Pulseaudio als auch Jack ablöst, kommen sich die beiden Komponenten nicht mehr ins Gehege.
Für den Umstieg von Pulseaudio zu Pipewire genügt es, das Paket pipewire-pulseaudio mit zypper install pipewire-pulseaudio zu installieren und sich frisch am System anzumelden. Bei der Einrichtung kommt es zu einem Paketkonflikt zwischen dem neuen Paket und den vorinstallierten Pulseaudio-Komponenten, wie Abbildung 1 zeigt. Das ist zu erwarten, da Pipewire ja Pulseaudio ersetzen soll. Wählen Sie schlicht die Lösung**1, die Pulseaudio zugunsten von Pipewire entfernt.
![Abbildung 1: Pipewire und Pulseaudio können nicht gleichzeitig auf dem System laufen. Tippen Sie also die <\[>1].](/wp-content/uploads/2025/06/b01_opensuse-tipps_pipewire-install-300x141.jpg)
Abbildung 1: Pipewire und Pulseaudio können nicht gleichzeitig auf dem System laufen. Tippen Sie also die <\[>1].
Alle für Pulseaudio ausgelegten Programme funktionieren unverändert weiter. Das gilt auch für das grafische Konfigurationsprogramm Pavucontrol (Abbildung 2), das Sie unter OpenSuse über das gleichnamige Paket installieren. KDE-Anwender erhalten mit Pavucontrol-qt eine der Desktop-Umgebung angepasste Variante. Hier wählen Sie bequem das Audiogerät für die Wiedergabe oder die Quelle einer Audioaufnahme. Pulseaudio wie Pipewire gestatten es, jegliche Wiedergabe aufzunehmen: Das Kommando pactl load-module module-loopback latency_msec=1 richtet eine Monitoreinheit aller Ausgabegeräte ein, die sich wie ein physisches Mikrofon als Aufnahmegerät nutzen lässt.

Abbildung 2: Pavucontrol wählt bei mehreren Alternativen das aktuelle oder das Vorgabegerät für Wiedergabe und Aufnahme. Es kann Soundkarten stilllegen oder sie auf reine Ein- oder Ausgabe beschränken sowie Mehrkanalgeräte auf Zweikanal-Stereoausgabe herabsetzen.
Ausgeglichen
Pipewire übernimmt zahlreiche nützliche Funktionen von Pulseaudio. Es bringt beispielsweise einen per Konfigurationsdatei zuschaltbaren Equalizer mit, um der Bass- und Höhenwiedergabe von Multimediaboxen auf die Sprünge zu helfen. Die Konfigurationsdatei equalizer.conf (Listing 1), die Sie unter ~/.config/pipewire/pipewire.conf.d/ ablegen, initiiert ihn beim Starten der grafischen Umgebung.
In die Datei ~/pweq.txt schreiben Sie die Equalizer-Einstellungen in der simplen, in Listing 2 gezeigten Form. Die dort mit 0.0 dB angegebenen Werte ersetzen Sie durch positive oder negative Zahlenwerte, typischerweise zwischen -12.0 dB und +12.0 dB, bis Ihnen der Klang zusagt. Der Befehl systemctl --user restart pipewire lädt die veränderte Konfiguration.
Listing 1
Equalizer zuschalten
context.modules = [
{ name = libpipewire-module-parametric-equalizer
args = {
remote.name = "pipewire-0"
equalizer.filepath = "/home/<benutzername>/pweq.txt"
equalizer.description = "Equalizer Sink"
audio.channels = 2
audio.position = [FL, FR]
capture.props = {
node.name = "Equalizer Eingang"
}
playback.props = {
node.name = "Equalizer Ausgang"
}
}
}
]
Listing 2
Equalizer-Einstellungen
Preamp: 0.0 dB Filter 1: ON PK Fc 21 Hz Gain 0.0 dB Q 1.100 Filter 2: ON PK Fc 85 Hz Gain 0.0 dB Q 3.000 Filter 3: ON PK Fc 110 Hz Gain 0.0 dB Q 2.700 Filter 4: ON PK Fc 210 Hz Gain 0.0 dB Q 2.100 Filter 5: ON PK Fc 710 Hz Gain 0.0 dB Q 0.600 Filter 6: ON PK Fc 1600 Hz Gain 0.0 dB Q 2.70
Die Equalizer-Einstellungen greifen allerdings erst, nachdem Sie in Pavucontrol das neu entstandene Audiogerät für die Wiedergabe ausgewählt haben (Abbildung 3). Möchten Sie den Equalizer als Default-Ausgabegerät festlegen, aktivieren Sie in Pavucontrol für das Equalizer Sink den Schalter Rückfallebene.

Abbildung 3: Der per Pipewire-Plugin erstellte Equalizer und das Echounterdrückungsgerät lassen sich in Pavucontrol wie ein Hardware-Device für die Wiedergabe wählen.
Ebenso einfach wie ein virtueller Equalizer lässt sich unter Pipewire eine Echtzeit-Echounterdrückung konfigurieren, die bei Videokonferenzen ein Flatterecho verhindert. Legen Sie dazu unter ~/.config/pipewire/pipewire.conf.d/ die Konfigurationsdatei echo.conf mit dem Inhalt aus Listing 3 ab. Sie richtet ein passendes Pseudoausgabegerät ein.
Listing 3
Echounterdrückung
context.modules = [
{ name = libpipewire-module-echo-cancel
args = {
capture.props = {
node.name = "Echo-Unterdrückung Capture"
}
source.props = {
node.name = "Echo-Unterdrückung Source"
}
sink.props = {
node.name = "Echo-Unterdrückung Sink"
}
playback.props = {
node.name = "Echo-Unterdrückung Playback"
}
}
}
]
Feintuning
Zudem gibt es nun ein virtuelles Eingabegerät, das Sie in der Videokonferenzsoftware als Mikrofon auswählen. Mikrofonkapseln liefern nur eine schwache Spannung, vor der Digitalisierung ist eine analoge Vorverstärkung erforderlich. Die wenigsten Mikros arbeiten rauschfrei, schon gar nicht die den Hochfrequenzstörungen in Notebook-Gehäusen ausgesetzten Exemplare. Hier hilft das intuitiv bedienbare Programm Noisetorch (Abbildung 4) weiter: Nach dem Start wählen Sie den Mikrofonkanal sowie das aktive Ausgabegerät und klicken auf Load Noisetorch.

Abbildung 4: Das in den Standard-Repos von Leap und Tumbleweed verfügbare Rauschfilterprogramm Noisetorch klinkt sich nach dem Start automatisch in die Pipewire-Wiedergabekette ein.
Der ohne externe Software umgesetzte Pipewire-Equalizer mit fest in einer Textdatei verankerten Einstellungen eignet sich gut für gleichbleibende Einstellungen für am Computer angeschlossene Lautsprecher. Bevorzugen Sie einen grafischen Equalizer samt Effekten wie Hall, Verbreiterung der Stereobasis, Aufbereitung stumpfer MP3-Klänge (Exciter) oder sogar eine Echounterdrückung? Dann sollten Sie EasyEffects installieren. Unter Tumbleweed klappt das direkt aus den Standard-Repos heraus. Unter Leap öffnen Sie im Webbrowser die passende Build-Service-Seite [3] und folgen den Anweisungen unter Das Repository hinzufügen und manuell installieren.
Auf die Millisekunde
Das Pulseaudio-Protokoll ist dafür ausgelegt, bei niedrigem Ressourcenverbrauch alltägliche Anforderungen zu erfüllen. Hier stört es nicht, wenn eine Zehntelsekunde vergeht, bis die vom Player gelieferten Audiodaten aus den Lautsprechern ertönen. Bei Audioaufnahmen jedoch spielt die sogenannte Latenz eine bedeutende Rolle: Bereits 20 Millisekunden nacheinander erklingende Noten wirken auch für Laien nicht mehr synchron. Das liegt daran, dass beim Richtungshören Schalllaufzeiten eine entscheidende Rolle spielen.
Für Musikaufnahmen kommt unter Linux daher traditionell statt Pulseaudio der auf niedrige Latenz getrimmte Soundserver Jack [2] zum Einsatz. Das Paket pipewire-jack rüstet die Jack-Emulation von Pipewire nach. Dabei müssen Sie Jack nicht mehr von Hand starten. Konflikte beim Zugriff auf die Soundkarte wie beim gleichzeitigen Einsatz von Pulseaudio und einem Jack-Soundserver entfallen, Hilfsprogramme wie Qjackcontrol werden ebenfalls überflüssig.
Die technische Herausforderung beim Erzielen niedriger Latenzen liegt darin, dass es sich bei Linux wie bei Windows und Mac OS um ein Multitasking-System handelt. Der Kernel wechselt blitzschnell zwischen den laufenden Prozessen durch, pro Prozessorkern kann immer nur einer davon aktiv sein. Der Wechsel erfolgt jedoch bei Weitem nicht so schnell, dass ein Prozess den Audioausgang der Soundkarte mit einer Frequenz von 44,1 oder 48 kHz aktualisieren könnte. Darum sammeln Jack oder Pipewire die Daten je nach Konfiguration für 1024 Zyklen – manchmal mehr, manchmal weniger.
Beim Puffern entsteht eine Latenz: Der Ton erklingt erst mit einer Verzögerung, die sich aus dem Quotienten von Puffergröße und Sample-Frequenz ergibt. Bei 1024 Zyklen und 44 100 Hz beträgt sie rund 23 Millisekunden. Je größer der Puffer, desto höher die Latenz, doch umso weniger stehen der Soundserver und das im Jack-Modus arbeitende Audioprogramm unter Zeitdruck, die Daten zu liefern.
Das Handbuch (Abbildung 5) für das semiprofessionelle Recording-Programm Ardour [4] erläutert, warum diese Latenz in der Regel doppelt anfällt und welche Verzögerung auf Kernel- und Hardwareebene noch hinzukommt [5]. In der Regel beträgt sie jedoch weniger als 5 Millisekunden.

Abbildung 5: Das Handbuch zur Digital Audio Workstation Ardour quantifiziert die Verzögerungen zwischen Aufnahme und Wiedergabe.
Ausreichend niedrige Latenzen kann der Soundserver nur erzielen, wenn er sich per Echtzeitpriorität beim Wechseln zwischen den Tasks gegenüber normalen Anwendungen vordrängen darf. Dank des vorinstallierten RTKit fallen dazu unter OpenSuse keine Konfigurationsänderungen auf Systemebene an. Es genügt, die Pipewire-Konfiguration anzupassen: Sie platzieren einfach die Konfigurationsdatei pipewire.conf mit dem Inhalt aus Listing 4 im Verzeichnis ~/.config/pipewire/pipewire.conf.d/ und melden sich dann neu am System an.
Listing 4
Echtzeitpriorität einrichten
context.modules = [
# Uses RTKit to boost the data thread priority.
{ name = libpipewire-module-rtkit
args = {
nice.level = -11
rt.prio = 88
rt.time.soft = -1
rt.time.hard = -1
}
flags = [ ifexists nofail ]
}
]
Ein Jack/Pipewire-Puffergröße von 1024 Zyklen kann im ungünstigsten Fall schon groß sein. Als notorische Störenfriede, die dem Soundserver durch hochfrequente Timer Konkurrenz um die Systemressourcen machen, gelten parallel geöffnete Webbrowser oder aktive WLAN-Verbindungen. Schnelle Systeme mit Echtzeitpriorität bewältigen unter Umständen auch kleinere Puffergrößen von 64 oder sogar 32 Zyklen. Dabei hängt allerdings viel vom Audiotreiber ab, auf dessen Qualität Sie keinen Einfluss haben.
Echtzeit
Traditionell installieren Linux-Anwender auf Tonstudio-Workstations einen sogenannten Realtime-Kernel. Der steht unter OpenSuse im Paket kernel-rt bereit. Allerdings ist fraglich, ob die Installation auf aktuellen Systemen überhaupt einen Vorteil mit sich bringt. OpenSuse-Kernel sind für zur Laufzeit zuschaltbare Kernel-Preemption kompiliert. Das bedeutet, dass der Kernel laufende Aufgaben früher abbricht, falls ein Task mit hoher Priorität das anfordert.
Leap 15.6 aktiviert schon im Auslieferungszustand diese Preemption durch die Option preempt=full im Bootloader dauerhaft. Für Server ist das ungünstig, für Desktop-Rechner eher von Vorteil. Unter Tumbleweed fehlt diese Bootloader-Option, obwohl der Kernel ebenfalls für ihren Einsatz vorgerüstet ist. Fügen Sie hier im YaST-Modul Bootloader im Reiter Kernel-Parameter die Option preempt=full manuell hinzu.
Starten Sie Ardour anschließend auf der Konsole mit dem Kommando aus Listing 5, um die Puffergröße auf 1024 und die Sample-Frequenz auf 41,1 kHz einzustellen. Prüfen Sie, ob Ardour mit der Einstellung Pufferüberläufe anzeigt (Abbildung 6), die sich mit einem Knacken in der Aufnahme verewigen. Falls nicht, reduzieren Sie beim nächsten Start die Puffergröße. Die Auswahl beschränkt sich dabei auf Zweierpotenzen (512, 256, 128 …). Den experimentell ermittelten optimalen Wert verewigen Sie in der Konfigurationsdatei jack.conf (Listing 6) unter .config/pipewire/pipewire.conf.d/. Danach können Sie alle Audioprogramme wieder direkt aus dem Startmenü ausführen.
Listing 5
Ardour aufrufen
$ PIPEWIRE_LATENCY="1024/44100" ardour

Abbildung 6: Die extrem geringe Sample-Latenz von 0,3 Millisekunden (Puffergröße *16) hat das System überfordert: Ardour signalisiert drei Pufferüberläufe.
Listing 6
Fixe Puffergröße
jack.properties = {
node.latency = 128/44100
}
Erscheint ein Sound-Gerät im Rechner nicht in Pavucontrol, hat der Kernel es nicht erkannt und initialisiert. Das liegt daran, dass sich viele Onboard-Chips verschiedenster Hersteller und in unterschiedlichster Revisionsstufe zum Beispiel schlicht unter dem Namen [HDA Intel] melden. Um explizit zu prüfen, welche Audiogeräte auf Kernel-Ebene vorliegen, führen Sie auf der Konsole das Kommando aplay -l aus (Abbildung 7).

Abbildung 7: aplay -l zeigt die vom Kernel erkannten Soundkarten, inxi -Aa dagegen Details zur im Rechner verbauten Hardware. Besonders hinter HDA-Intel-Geräten können sich zig Revisionen von Chips unterschiedlicher Hersteller verbergen.
Fehlt hier ein Gerät, dann führen Sie nach der Installation des Pakets inxi den Befehl inxi -Aa aus. Er liefert eine genauere Identifikation der verbauten Chips, mit der Sie im Internet nach Erfahrungen anderer mit der entsprechenden Hardware suchen können. Bei neueren Intel-Onboard-Chips sollten Sie außerdem ausprobieren, ob die Installation von sof-firmware (Sound Open Firmware [6]) das Problem löst.
Fazit
Der Soundserver Pipewire, der Pulseaudio und Jack ablöst, ermöglicht eine ebenso reibungsfreie Aufnahme und Wiedergabe von Sound wie unter Windows. Nach der Installation startet er ohne weitere Eingriffe. Die Echtzeitpriorisierung über eine simple Konfigurationsdatei sorgt für eine niedrige Latenz, die bei aktuellen Pipewire-Versionen oft sogar unter der mit Jack erzielbaren liegt. Wichtige Effekte und Funktionen wie ein Equalizer, eine Rausch- oder Echounterdrückung lassen sich leicht hinzuzufügen. (jlu)
Infos
-
Pipewire: https://pipewire.org
-
Jack: https://jackaudio.org
-
EasyEffects für Leap: https://software.opensuse.org/download/package?package=easyeffects&project=home%3Aregataos
-
Ardour: https://ardour.org
-
Ardour-Handbuch: https://manual.ardour.org/ardourmanual.html#latency-and-latency-compensation
-
Sound Open Firmware: https://www.sofproject.org





