Fedora 34 stellt in Sachen Sound die Weichen neu. Das ist aber nur eine von vielen Änderungen.
Zweifelsohne agiert Fedora in den letzten Jahren als ständige Triebfeder der Linux-Entwicklung. Mit dem Unternehmen Red Hat im Hintergrund war es möglich, große Projekte wie Systemd zu stemmen, das heute – ob es einem nun zusagt oder nicht – bei der Mehrheit der Distributionen unter anderem als Init-System und Prozessmanager dominiert.
Mit jeder Veröffentlichung der Distribution führen die Entwickler neue Techniken ein, die andere Projekte – oft mit Verzögerung – in ihre Arbeit übernehmen. Die für den 20. April geplante Veröffentlichung von Fedora 34 (kurz: F34) steht in der Tradition der Vorgänger und bringt wieder viele spannende Neuerungen mit. Wir haben eine Vorabversion der Fedora 34 Workstation für Sie getestet.
Viel Neues
Ins Auge sticht bei Fedora 34 der Einsatz von Pipewire [1] als Standard-Sound-Daemon, der somit Pulseaudio ablöst. Wir berichteten darüber erstmals in LU 05/2018 ausführlich. Viele halten Gnome 40 mit seiner neuen horizontalen Ausrichtung der Gnome-Shell und dem Umstieg auf GTK 4 für ebenso wichtig.
Aber das ist bei Weitem noch nicht alles: Der Spin für KDE ist mit Plasma 5.21 ausgestattet und setzt zudem auf Wayland als Standard-Sitzung. Zudem planen die Entwickler, diesen Spin mit einem eigenen Abbild für Geräte der ARM-Plattform AArch64 bereitzustellen. Darüber hinaus widmet sich ein neuer Spin dem Tiling-Window-Manager i3.
Als Grundlage setzt das System auf den Linux-Kernel 5.11. Systemd bietet eine bessere Unterstützung in Situationen, in denen der Speicher des Systems an die Grenzen stößt. In Version 248 verfügt Systemd zudem über die interessante Fähigkeit, LUKS2-Volumes mittels Yubikey oder Nitrokey mit FIDO2-Unterstützung per TPM2 oder mit PKCS#11-Smartcards und -Token aufzuschließen.
Horizontale Gnome-Shell
Gnome 40 bricht nicht nur mit dem bisherigen Versionsschema [2], sondern führt außerdem ein neues Bedienparadigma ein (Abbildung 1). Die Gnome Shell wechselt von einem vertikal ausgelegten Layout hin zu einem horizontalen. Damit wollen die Entwickler eine bessere Erreichbarkeit der Elemente sowie eine flüssigere Bedienung auch auf Touchscreens erreichen (Abbildung 2).

Abbildung 1: Ein Klick auf den Aktivitäten-Schalter offenbart die neue horizontale Ausrichtung der Gnome Shell: Sie stellt die Workspaces (blaue Flächen) in den Vordergrund.

Abbildung 2: Dem neuen Schema folgt auch das App Grid: Die früher links angebrachte Leiste hat ihren neuen Platz am unteren Rand des Displays.
Die meisten der mit Gnome ausgelieferten Anwendungen sind zudem bereits mit der im Dezember 2020 erschienenen Version 4 des UI-Toolkits GTK [3] gebaut (Abbildung 3). Das sorgt bei Gnome 40 für viel Spannung beim Entdecken der Änderungen (Abbildung 4).

Abbildung 3: Auf die Installation folgt das bereits bekannte erste Einrichten, bei dem Sie unter anderem einen User anlegen, gegebenenfalls Online-Konten freischalten und einiges mehr.

Abbildung 4: Gnome 40 bietet Ihnen nach der ersten Konfiguration eine Tour durch die neue Umgebung an.
Pipewire statt Pulseaudio
Bei Fedora steuerte bereits seit Längerem Pipewire die Videoströme und ermöglichte so Screencasting und Remote-Verbindungen unter Wayland. Nun übernimmt es als Server zusätzlich das Verarbeiten von Audiostreams und verdrängt damit das seit Fedora 8 eingesetzte Pulseaudio (PA) sowie den Soundserver Jack.
Pulseaudio hat mehr als zehn Jahre die Audioströme in vielen Distributionen gemixt und geroutet. Mittlerweile setzt es an einigen Stellen Rost an, der nicht so einfach zu entfernen ist. So macht es etwa beim Einsatz von Anwendungen in Sandboxen keine gute Figur.
Wim Taymans war als Entwickler bereits maßgeblich für Gstreamer verantwortlich. Nun plant er, den Pulseaudio-Daemon durch eine funktional kompatible Implementation auf Basis von Pipewire zu ersetzen [4]. Das bedeutet, dass alle vorhandenen Clients, die bisher die Pulseaudio-Client-Bibliothek verwenden, wie bisher funktionieren. Dasselbe gilt für Anwendungen, die in Form eines Flatpak vorliegen.
Ebenso verhält es sich mit Daten, die bisher über die Jack-Client-Bibliothek mit dem entsprechenden Server kommunizierten. Fedora 34 bringt einen Ersatz für die Client-Bibliothek mit, die direkt mit Pipewire kommuniziert. Alle Anwendungen, die Jack verwenden, arbeiten also mit Pipewire nahtlos weiter. Für ältere Alsa-Clients steht ein vorinstalliertes Plugin bereit, das die Audiosignale direkt an Pipewire weiterleitet.
Damit avanciert Pipewire bei Fedora zum offiziellen Nachfolger von PA und Jack auf dem Desktop und für professionelle Anwendungen; die Installation der Daemons erübrigt sich. Fedora-Sponsor Red Hat hat gesteigertes Interesse an Pipewire, will das Unternehmen doch stärker in den Automobilbereich einsteigen, wo der Dienst eine führende Rolle einnehmen soll.
In der F34-Beta ist Pipewire zwar als Audio-Standard aktiviert, doch steht vier Wochen vor der geplanten Veröffentlichung noch keineswegs fest, ob dies Bestand für die stabile Version hat – das gilt jedoch als wahrscheinlich. Sie prüfen das in der finalen Version, indem Sie das Paket pulseaudio-utils installieren und anschließend den Befehl pactl info absetzen. In der Antwort sollte im positiven Fall die Zeile Server Name: PulseAudio (on PipeWire 0.3.x) auftauchen.
Systemd-OOMD
Mit Systemd-oomd [5] aktiviert Fedora 34 standardmäßig eine weitere kürzlich eingeführte Funktion von Systemd. Der Out-of-Memory-Daemon kommt in Situationen zum Tragen, in denen der Speicher und ein eventuell vorhandener Swap ausgelastet sind und dadurch die Reaktionsfähigkeit des Systems leidet.
Der Kernel verfügt bereits seit Langem über einen OOM-Killer, der aber den Ansprüchen der Entwickler um Lennart Poettering nicht genügte: Er reagiert ihrer Meinung nach zu langsam und zu wenig differenziert. Daher passten sie in Zusammenarbeit mit Facebook deren OOM-Daemon für den Userspace auf dem Desktop mit Systemd an.
Systemd-oomd überwacht den Speicherbedarf von Cgroups und greift bei Bedarf schneller mit dem Abschießen von Prozessen ein. Als Kriterium kommt dabei eine Funktion namens Memory Pressure zum Einsatz, die angibt, wie viel Zeit eine Cgroup vertrödelt hat, weil nicht genügend freier Speicher bereitsteht.
Überschreitet der eingestellte Wert eine Schwelle (Vorgabe: 4 Prozent Memory Pressure für mehr als 10 Sekunden), veranlasst Systemd-oomd mittels SIGKILL das sofortige Beenden der Prozesse, die in der entsprechenden Cgroup laufen. Somit wird nicht, wie beim Kernel-Äquivalent, der jeweils größte Verbraucher zuerst abgeschossen.
Zstd spart Platz
Varianten, die seit Fedora 33 Btrfs als Standard-Dateisystem verwenden, erhalten eine transparente Komprimierung mit Zstandard (Zstd). Das spart Platz und verlängert unter bestimmten Umständen die Lebensdauer von Flash-basierten Medien erheblich, indem es die Write Amplification (WA) reduziert [6]. Weiteren Platz sparen die Entwickler ein, indem sie künftig die Kernel-Firmware komprimieren.
XWayland [7], das X11-Anwendungen unter Wayland ausführt, ist in ein eigenes Paket ausgelagert und nicht mehr mit dem X-Server gebündelt. Der hängt seit Jahren auf Version 1.20 fest und hält damit aktuelle Entwicklungen von XWayland zurück. Jetzt können Entwicklungen aus dem Git-Master-Zweig in die eigenständige App einfließen.
Grub-konform
Mit Fedora 34 wird die Lab-Variante für Computational Neuroscience erstmals für Container ausgeliefert, was den Einsatz mit Docker oder Podman ermöglicht. ARMv7-Varianten verwenden künftig UEFI zum Booten. Im Rahmen der allgemeinen Abkehr von Begriffen wie Master und Slave änderte Fedora den Hauptzweig seines Git-Repositories von master zu main.
Bei den Grub-Konfigurationsdateien findet eine Vereinheitlichung über alle Architekturen statt. Bisher war EFI ein Sonderfall, da die Grub-Konfigurationsdatei und der Block mit den Umgebungsvariablen in der EFI-Systempartition (ESP) lagerten statt in der Boot-Partition oder im Verzeichnis /boot/. Damit waren sie nicht konsistent mit der Legacy-BIOS-Implementation und der Richtlinie Open Firmware [8] bei anderen Architekturen.
Ein Problem nicht nur für Fedora stellt die überbordende Zahl an Bibliotheken und damit verbundener Abhängigkeiten dar, die die Javascript-Laufzeitumgebung Node.js mitbringt. Aufgrund der engen Verflechtung der Abhängigkeiten von Javascript-Bibliotheken kann das Aktualisieren eines Pakets mit solchen Bibliotheken in einer Distribution Probleme für andere Pakete bedeuten. Fedora bündelt die Node.js-Bibliotheken künftig in dem Paket, das sie benötigt; Debian denkt über ein ähnliches Vorgehen nach.
Alles frisch im April
Nicht zuletzt bringt Fedora 34 wieder viele Pakete auf den neuesten Stand. Neben den üblichen Anwendungsaktualisierungen (Abbildung 5) hebt es die Desktop-Umgebungen XFCE und LXQt auf die jeweils aktuellen Versionen 4.16 respektive 0.16.0. Die GNU-Toolchain umfasst mit GCC 11, Binutils 2.35 und Glibc 2.33 die aktuellen Versionen. Bei den ausgelieferten Sprachen steht Golang jetzt bei 1.16, Ruby bei 3.0 und Ruby on Rails bei 6.1. Rust wird in Version 1.50 ausgeliefert, während bei Python 3.9 zum Zug kommt.

Abbildung 5: Zu den für Gnome 40 aktualisierten Anwendungen zählt die Virtualisierungs-App Boxen, die künftig standardmäßig USB 3 verwendet, sofern vorhanden.
Fedora 34 liegt neben der Workstation-Variante als Hauptversion auch für Server und die Cloud vor. Mit Fedora Silverblue [9] gibt es eine unveränderliche Distribution auf der Basis von OSTree, daneben wie gewohnt Spins [10] und Labs [11]. Zu den Spins zählen Varianten mit den Desktops KDE Plasma (Abbildung 6), XFCE, LXQt, Mate-Compiz, Cinnamon, LXDE und für die Lernplattform Sugar on a Stick (SOAS). Erstmals gibt es einen Spin mit dem Fenstermanager i3.

Abbildung 6: Der KDE-Spin von F34 basiert auf Plasma 5.21 und bringt das überarbeitete Kickoff-Menü mit.
Bei den Labs finden Sie die Varianten Astronomy, Comp Neuro, Design Suite, Games, Jam, Python Classroom, Security Lab, Robotic Suite sowie Scientific. Fast alle davon bietet das Projekt auch als Version für die ARM-Plattform an [12].
Neben der Workstation haben wir uns den Plasma-Spin angesehen, der als Standard eine Wayland-Sitzung startet (Abbildung 7). Mit jeder Plasma-Version hat sich diese Desktop-Umgebung stärker an Wayland angenähert. Beim mit Fedora 34 ausgelieferten aktuellen Plasma 5.21.3 (Abbildung 8) konnten wir während des Tests mit den üblichen Bürotätigkeiten keine Schwachstellen feststellen. Auch hier gab sich Pipewire keine Blöße und spielte sowohl Musik (mit Elisa) als auch Youtube-Videos in Firefox ab (Abbildung 9).

Abbildung 7: Zunächst haben wir bei Spin mit KDE Plasma überprüft, ob die Sitzung auch wirklich von Wayland gestellt wird.

Abbildung 8: Bei der Belegung des RAM im Leerlauf gibt sich KDE Plasma (680 MByte) genügsamer als Gnome (860 MByte).

Abbildung 9: Wie unter Gnome konnten wir auch unter Plasma Sound über Pipewire sowohl aus internen Quellen als auch per Firefox problemlos abspielen. Vermutlich gibt es aber noch Konstellationen, bei denen noch Fehler auftreten.
Fazit
Fedora 34 wird einmal mehr dem Nimbus als Red Hats Hexenküche gerecht und bringt ein Füllhorn an Neu- und Weiterentwicklungen mit. Als erste Distribution liefert es das neue Gnome 40 als Standard-Desktop aus.
Das bleibt vermutlich eine Weile so, denn Ubuntu, das üblicherweise auf die aktuelle Gnome-Version setzt, weicht für Ubuntu 21.04 von dieser Tradition ab. Der Grund dafür: Canonical passt Gnome für den Einsatz mit Ubuntu an einigen Stellen an. Wegen der mit Gnome 40 verbundenen Umstellung auf GTK 4 und der einhergehenden Designänderungen gehen die Ubuntu-Entwickler auf Nummer sicher und bleiben bei Gnome 3.38, garniert mit einigen Anwendungen auf der Basis von GTK 4.
Die beiden einschneidendsten Veränderungen bei Fedora 34 betreffen Gnome und Pipewire. Die Änderungen am Bedienkonzept von Gnome führten im Vorfeld zu hitzigen Diskussionen. Wir finden nach unseren Tests die Neuausrichtung gelungen, die Umgewöhnung braucht nicht lange.
Bei der Einführung von Pulseaudio gab es dort ebenfalls anfangs viele Probleme mit dem damals neuen Sound-Server. Vom jetzigen Standpunkt aus macht Pipewire bereits eine gute Figur, es hat Pulseaudio in allen von uns getesteten Szenarien problemlos ersetzt. Wie es sich als Ersatz für Jack schlägt, haben wir nicht getestet.
Die von uns unter die Lupe genommene Beta-Version von F34 erschien am 23. März, die allgemeine Verfügbarkeit der stabilen Version steht derzeit für den 20. April in der Roadmap. Eventuell genehmigen sich die Fedora-Entwickler aber auch noch eine Woche zusätzlich – das wäre nicht ungewöhnlich. (agr/jlu)
Infos
-
Pipewire-FAQ: https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/FAQ#what-is-wrong-with-jack-pulseaudio
-
Neues Versionsschema: https://linuxnews.de/2020/09/auf-gnome-3-38-folgt-gnome-40/
-
GTK 4: https://linuxnews.de/2020/12/was-lange-waehrt-gtk-4-ist-fertig/
-
Pipewire: https://fedoraproject.org/wiki/Changes/DefaultPipeWire
-
OOMD: https://linuxnews.de/2020/11/systemd-247-stellt-den-out-of-memory-daemon-vor/
-
Write Amplification: https://www.ontrack.com/de-de/blog/was-ist-write-amplification-wa-und-welche-auswirkungen-hat-es-auf-ssds
-
XWayland: https://linuxnews.de/2021/03/xwayland-21-1von-x11-abgekapselt/
-
Open Firmware: https://de.wikipedia.org/wiki/Open_Firmware
-
Silverblue: https://fedoramagazine.org/what-is-silverblue/





