Fedora 26 und Wayland

Mit der üblichen Verspätung ist Fedora 26 vor einigen Tagen fertig geworden. Fedora zählt seit Jahren zu meinen Lieblingsdistributionen, vor allem deswegen, weil sich damit neue Linux-Features frühzeitig ausprobieren lassen. So hatte ich auch Fedora 26 schon seit der Alpha-Version im Einsatz — und das weitgehend ohne Probleme. Dieser Artikel gibt eine Kurzvorstellung von Fedora 26 und setzt den Schwerpunkt auf Wayland.

[Update 17.7.: Fedora verwendet Wayland schon seit Version 25 standardmäßig, wie ich ja schon selbst berichtet habe. In der ersten Version dieses Texts hatte ich geschrieben, dies sei erst mit Version 26 der Fall. Ich habe den Text nach einem Leserhinweis korrigiert.]

Standardmäßig kommt Wayland zum Einsatz, der X Window Server wird aber weiterhin als Option beim Login angeboten

Installation

An der Installation hat sich grundsätzlich nichts geändert — bis auf ein Detail: Fedora stellt mit der »Blivet GUI« ein zweites Werkzeug zur Festplattenpartitionierung zur Auswahl. Das Installationsprogramm stellt es als Profi-Werkzeug vor und rät normalen Nutzern von seiner Anwendung ab. Persönlich sehe ich es eher umgekehrt: Selbst nach mehreren Jahren fällt es mir schwer, die Logik des »normalen« Partititionseditor zu durchblicken.

Die neue Blivet GUI funktioniert dagegen so wie die Partitionierungswerkzeuge vieler anderer Distributionen. In der linken Seitenleiste werden die auf dem Rechner vorgefundenen Festplatten, SSDs und LVM-Systeme angezeigt. Zum gerade ausgewählten Element zeigt der Hauptbereich des Editors dann die Liste der Partitionen bzw. Logical Volumes (LVs) an. Über Buttons und Kontextmenükommandos können Sie nun Partitionen und LVs ändern, neu einrichten oder löschen.

Die »Blivet GUI« ist ein alternativer Partitionseditor, der während der Installation eingesetzt werden kann.

Der Goldstandard unter den Partitionierungswerkzeugen ist meiner Ansicht nach noch immer SUSE. Aber mit der Blivet GUI steht nun auch unter Fedora wieder ein in der Logik begreifbares Werkzeug zur Verfügung.

Versionsnummern

Basis           Desktop            Programmierung    Server
--------------  ------------------ --------------    --------------
Kernel    4.11  Gnome        3.24  bash       4.4    Apache     2.4
glibc     2.25  Firefox        54  gcc        7.1    CUPS       2.2
X-Server  1.19  Gimp          2.8  Java         8    MariaDB   10.1
Wayland   1.13  LibreOffice   5.3  PHP        7.1    OpenSSH    7.5
Mesa      17.1  Thunderbird    52  Python     3.6    qemu/KVM   2.9
Systemd    233                                       Postfix    3.2
NetworkMan 1.8                                       Samba      4.6
GRUB      2.02 

Eine bemerkenswerte Nebensächlichkeit: Nachdem die wichtigsten MP3-Patente ausgelaufen sind, enthält Fedora bereits seit Version 25 standardmäßig alle erforderlichen Bibliotheken zum Abspielen von MP3-Dateien. Selbst lame (ein MP3-Encoder) kann aus den offiziellen Paketquellen installiert werden. (Bisher standen diese Pakete in der rpmfusion-Paketquelle zur Verfügung. Diese Paketquelle brauchen Sie aber weiterhin, wenn Sie unter Fedora eine zeitgemäße Multimedia-Unterstützung wünschen oder andere, offiziell nicht unterstützte Pakete benötigen.)

Die Paketverwaltungs-Software DNF wurde auf Version 2 aktualisiert. Spürbare Änderungen gibt es keine, aber hinter den Kulissen hat sich offensichtlich einiges getan (Changes in DNF 2).

Der Touchpad-Treiber Synaptic wurde zugunsten von libinput in den Ruhestand geschickt (siehe die Release Notes). Zur Not steht aber das Paket xorg-x11-drv-synaptics-legacy zur Verfügung.

Wayland

Eines gleich vorweg: Wayland ist kein Programm, sondern »nur« ein Protokoll für die Kommunikation zwischen dem Wayland Compositor (einem Display-Server) und grafischen Anwendungsprogrammen (Clients). Das ist ein gravierender Unterschied zu X, wo es ein richtiges Client/Server-Modell gibt und der X-Server im Hintergrund läuft.

Wayland greift teilweise auf dieselben im Kernel verankerten Mechanismen bzw. Treiber zurück wie X. Dazu zählen die Verarbeitung von Eingaben (libinput), die Einstellung der Auflösung (Kernel Mode Setting = KMS) und der Zugriff auf den Video-Speicher (Direct Rendering Manager = DRM). Insofern erfindet Wayland das Rad nicht neu, sondern greift auf viele Bausteine zurück, die auch unter X eingesetzt werden. Grundlegend anders als unter X erfolgt die Kommunikation mit den 3D-Funktionen der Mesa-Bibliothek über die Schnittstelle EGL. Für die Kompatibilität zu alten X-Programmen ist Xwayland zuständig.

Während unter X ein eigener Window Manager für die Dekoration der Fenster zuständig ist, übernimmt diese Aufgabe der Wayland Compositor. Dieses Programm kümmert sich auch um Aufgaben, die unter X der Xorg-Server übernimmt
— z.B. um die Verarbeitung von Eingaben. Insofern gibt es eine Menge Details, die nicht davon abhängig sind, wie Wayland funktioniert, sondern wie der Wayland Compositor für das jeweilige Desktop-System implementiert ist.

Wenn Gnome unter Wayland läuft, dann fungiert Mutter als Wayland Compositor. Mutter wird nicht als eigenständiges Programm ausgeführt, sondern in Form von Bibliotheken, mit denen die Gnome Shell verlinkt ist. (Aktuell ist Gnome das einzige Desktop-System, dessen Wayland Compositor stabil funktioniert. Bei KDE sind die Arbeiten auch schon relativ weit fortgeschritten. Die Neon-Distribution experimentiert gegenwärtig mit Wayland, will Wayland aber frühestens 2018 standardmäßig aktivieren.)

Läuft Wayland oder X?

Ein Blick in die Prozessliste verrät, ob X (genau genommen der X-Server mit dem Programmnamen Xorg) oder Wayland läuft (genau genommen die Kompatibilitätsschicht zu X, weil es ja keinen eigenen Wayland-Prozess gibt):

ps ax | egrep -i "xorg|wayland"

    898 tty1     Ssl+   0:00 /usr/libexec/gdm-wayland-session ...
   1058 tty1     Sl+    0:00 /usr/bin/Xwayland :1024 -rootless ...

Bei der Interpretation des Ergebnisses müssen Sie aber aufpassen. Das Grafiksystem wird nämlich zweimal gestartet: einmal zur Anzeige der Login-Box (dafür ist der sogenannte Display Manager zuständig) und noch einmal nach dem Login für den Desktop des eingeloggten Benutzers. Fedora hat den Display Manager schon in Version 24 standardmäßig auf Wayland umgestellt, den Gnome-Desktop aber erst in Version 26.

Gewissheit gibt das Kommando loginctl, das alle Sessions unter der Kontrolle von systemd ausgibt:

loginctl

SESSION     UID   USER     SEAT   TTY             
     c1      42   gdm      seat0  /dev/tty1       
      2    1000   kofler   seat0  /dev/tty2       
      4    1000   kofler

Auf der Konsole 1 läuft also der Display Manager gdm. Auf Konsole 2 läuft ein Desktop-System, in dem der Benutzer kofler eingeloggt ist.

Im zweiten Schritt können Sie nun Details zu einer Session ermitteln und so unter anderem feststellen, ob die Session X, Wayland oder nur eine TTY-Schnittstelle verwendet, wie dies bei SSH-Logins oder beim Arbeiten in einer Textkonsole der Fall ist:

loginctl show-session -p Type 2

  Type=wayland

Wayland-Einschränkungen

Eigentlich sollten gewöhnliche Linux-Benutzer nicht merken, ob das Grafiksystem nun auf X oder auf Wayland basiert. Tatsächlich ist das auch schon weitestgehend der Fall — gäbe es nicht diverse Einschränkungen:

  • Wayland ist aktuell nicht netzwerktauglich. Sie können also nicht wie unter X ein Grafikprogramm auf dem Host 1 ausführen, dieses aber z.B. via SSH auf dem Host 2 anzeigen und bedienen. Es ist unklar, ob Wayland diese Funktionalität später erhalten wird. Einen Implementierungsversuch hat es schon gegeben, aber er ist gescheitert.

  • Remote-Desktop-Programme wie VNC- oder RDP-Server sind nicht Wayland-kompatibel. Sofern auf dem Rechner alle erforderlichen X-Pakete installiert sind, ist es aber möglich, parallel zu Wayland einen VNC- oder RDP-Server einzurichten. Lokales Arbeiten am Computer erfolgt dann via Wayland, der Netzwerkzugriff hingegen via X. Das erfordert zwangsläufig zwei getrennte Desktop-Sessions. Screen-Sharing ist aktuell mit Wayland nicht möglich. (Das gilt auch für das kommerzielle Programm TeamViewer.)

  • Die meisten Tools zur Aufnahme von Screenshots und Screencasts funktionieren nicht. Das ist eigentlich ein Sicherheits-Feature (It’s not a bug, it’s a feature!): Es soll verhindern, dass ein Programm Informationen eines anderen Programms auslesen kann. Ausgenommen von dieser Einschränkung sind in das Desktop-System integrierte Werkzeuge, also z.B. die Screenshot-Tools von Gnome.

  • Unter Wayland können Sie nicht einfach ein grafisches Programm mit root-Rechten ausführen (z.B. aus einem Terminal heraus, in dem Sie vorher sudo ausgeführt haben). Diese Einschränkung ist gerade für Power-User schwerwiegend und betrifft z.B. das grafische Partitionswerkzeug gparted, diverse Installations- und Setup-Programme, Backup-Tools etc. Selbst ein simpler Start eines Editors oder Dateimanagers mit root-Rechten ist unmöglich. Die Lösung zu diesem Problem soll so aussehen, dass grafische Programme, die root-Rechte benötigen, in zwei Teile getrennt werden: In die Oberfläche, die mit gewöhnlichen Rechten läuft, und in operative Module, die sich via PolicyKit root-Rechte erwerben. Teile der Gnome-Systemeinstellungen funktionieren so (z.B. die Benutzerverwaltung und Software).

  • Diverse X-spezifische Werkzeuge wie xkill, xrandr oder xmodmap können nicht mehr verwendet werden. Nur fallweise gibt es dafür Wayland-spezfischen Ersatz. So kann die Auflösung im laufenden Betrieb durch die Gnome-Einstellungen verändert werden.

  • Spiele können nicht die Auflösung des Grafiksystems ändern.

  • Der proprietäre NVIDIA-Treiber und Wayland sind aktuell inkompatibel zueinander. Im Oktober 2016 gab es zwar Berichte darüber, dass an der Lösung des Problems gearbeitet würde, das Ergebnis steht aber noch aus.

  • Erfreulicherweise funktioniert Wayland mittlerweile sogar unter VirtualBox. Allerdings hat bei meinen Tests dort ständig das Bild geflackert — sicher ein Problem, das Updates in Fedora oder in VirtualBox bald lösen werden.

  • Da es unter Wayland anders als bei X keinen zentralen Server-Dienst gibt, fehlt auch ein entsprechendes Fehlerprotokoll (also ein Gegenstück zu /var/log/Xorg.0.log). Tipps zur Fehlersuche bei Wayland-Problemen gibt die folgende Seite: How to debug Wayland problems

Wenn Sie von einer der Wayland-Einschränkungen betroffen sind, ist es das einfachste, Gnome eben unter X auszuführen. Aber es ist jetzt leichter zu verstehen, warum Canonical davor zurückschreckt, Wayland in Version 18.04 per Default zu aktiveren. (Die Entscheidung ist noch nicht gefallen.)

Quellen und Links

Wayland

6 Gedanken zu „Fedora 26 und Wayland“

    1. Ja natürlich, Sie haben recht. Ich habe in meinem Fedora-25-Bericht sogar selbst darüber geschrieben. Aber irgendwie ist Fedora 25 spurlos an mir vorübergegangen, während ich mich mit Fedora 26 sehr intensiv beschäftigt habe …

      Wie auch immer: Danke für den Hinweis, ich habe den Text korrigiert.

  1. Also mit anderen Worten: Wer ein bisschen mehr als nur surfen und Office machen will, sollte um wayland einen großen Bogen machen!

    1. Ich sehe es nicht so dramatisch — aber das liegt vermutlich daran, dass ich sehr viel im Terminal arbeite. Aber klar, Wayland steht noch in den Startlöchern, es ist noch nicht alles perfekt. Ich denke dennoch, dass es richtig ist, X längerfristig ade zu sagen.

  2. Ich denke Killer feature dürften VNC, RDP und sudo sein. Ohne diese kann ich nicht mal im Traum daran denken Wayland zu nutzen.
    Ich bin gerade schwer enttäuscht!

Kommentare sind geschlossen.