Website-Suche

PipeWire 1.0: Linux-Audio wird erwachsen


Es gab einmal eine Zeit, in der ernsthafte Audionutzer wie Musiker und Toningenieure echte Probleme mit Linux hatten. Mit der Einführung von PipeWire 1.0 ist das nicht mehr der Fall.

Es war einmal (und das ist noch gar nicht so lange her), als man ernsthafte Probleme hatte, wenn man mit Audio unter Linux echte Arbeit mit geringer Latenz leisten wollte. Das stimmt nicht mehr. PipeWire 1.0, ein Audio-/Video-Software-Streaming-Bus, ist nach 15 Jahren Entwicklung endlich da.

Das Problem, das PipeWire löst, besteht darin, dass Linux seit Jahren drei verschiedene – und manchmal widersprüchliche – Möglichkeiten hat, mit Audio umzugehen: Advanced Linux Sound Architecture (ALSA), PulseAudio und JACK Audio Connection Kit (JACK).

ALSA bietet Kernel-gesteuerte Soundkartentreiber und Userspace-Bibliotheken für Anwendungsentwickler. PulseAudio bietet zusätzlich zu ALSA eine Audio-Routing- und Steuerungsebene. Bei beiden Programmen gab es vor allem in den Anfangsjahren Probleme. JACK hingegen ist eine Soundserver-API und ein Daemon zur Unterstützung von Echtzeit-Audioverbindungen mit geringer Latenz zwischen Anwendungen. 

ALSA ist ein unverzichtbares Tool für alle Linux-Audioarbeiten. PulseAudio richtet sich eher an Verbraucher. Wenn Sie YouTube Music, Spotify oder Pandora auf Ihrem Linux-Desktop hören, verwenden Sie mit ziemlicher Sicherheit PulseAudio. Aber wenn Sie ein professioneller Musiker oder Toningenieur sind, brauchen Sie JACK. PipeWire funktioniert jedoch sowohl für normale Benutzer, die ihre Musik hören möchten, als auch für Leute, die 24-Spur-Audiositzungen mischen.

Diese Doppelrolle ist jedoch nicht der Ursprung von PipeWire. Zu Beginn drehte sich bei PipeWire alles um die gemeinsame Nutzung von Videostreams zwischen Prozessen. Der Aufstieg von Flatpak-Containeranwendungen und Wayland, dem X11-Fenstersystem-Ersatz, bedeutete, dass die Entwickler von PipeWire erkannten, dass es noch viel mehr leisten konnte. 

Insbesondere glaubten die Entwickler, dass PipeWire die Konflikte und Einschränkungen von PulseAudio und JACK lösen könnte. Doch PipeWire versucht nicht nur, diese Tools zu ersetzen. Wie Wim Taymans, leitender Softwareentwickler von Red Hat und Erfinder von PipeWire, in einem Interview mit dem Fedora Magazine erklärte: „Die Botschaft besteht weiterhin darin, die PulseAudio- und JACK-APIs zu verwenden. Sie haben sich bewährt, funktionieren und werden vollständig unterstützt.“

Tatsächlich fuhr Taymans fort: „Wir haben auch noch keine Anwendungen gesehen, die die WirePlumber-Bibliothek verwenden. Ich denke, das liegt zum Teil daran, dass die PulseAudio-Kompatibilität so gut ist, dass noch kein Bedarf an nativen Anwendungen besteht.“ 

Heute dient PipeWire als Brücke zwischen Anwendungen und Geräten. Es bietet eine universelle Methode für Anwendungen zum Einrichten von Medienströmen. Diese Streams können zur Wiedergabe oder Aufzeichnung an jedes Gerät oder jede Anwendung weitergeleitet werden. Um den Stream-Austausch zu erleichtern, verfügt PipeWire außerdem über ein System zur Bestimmung der Verbindungen zwischen Anwendungen und Geräten und zur Festlegung der Verknüpfung, Art und Zeit dieser Verbindungen.

PipeWire ist bereits der Standard-Audioserver für die neueren Desktop-Linux-Distributionen Fedora Linux, Pop! Betriebssystem, Ubuntu und openSUSE. Ich habe keinen Zweifel daran, dass PipeWire bald in jeder Linux-Distribution enthalten sein wird. 

Um Sie bei der Verwendung von PipeWire zu unterstützen, stellt Collabora, das Linux- und Open-Source-Support- und Beratungsunternehmen, WirePlumber als Sitzungsmanager für die Medienpipelines von PipeWire bereit. Ausführlichere Informationen darüber, wie Sie PipeWire optimal nutzen können, finden Sie auf der LinuxMusicians-Website und im LinuxAudio Reddit-Forum.