F) Test mehrerer Wayland Compositors
Unter Gentoo können zurzeit folgende Wayland Compositors installiert werden[5]: Weston, Sway, Mutter, KWin, Enlightenment. Unter [3] findet man weitere Wayland Compositors, von denen aber einige nicht gepflegt werden und eher Demo-Charakter haben.
Ziel meiner Tests ist, einen Wayland Compositor zu finden, mit dem ich in Zukunft arbeiten möchte. Ich suche einen Wayland Compositor, ...
- ... der etwa den Funktionsumfang von XFCE oder LXQt hat.
- ... der stabil und fehlerfrei läuft.
- ... der möglichst keines der Pakete PulseAudio, ConsoleKit, PolKit, Systemd, udisks oder elogind benötigt.
- ... der liebevoll gepflegt wird (in dem Sinne, dass Bugs gefixt werden).
- ... bei dem in den nächsten Jahren keine großen Weiterentwicklungen und Umbrüche zu erwarten sind. Ich bin da ein gebranntes Kind: unter dem Wechsel von KDE 3 auf KDE 4 habe ich lange gelitten, bevor ich KDE aufgegeben habe...
F.1) Weston
Mit Weston 3.0 habe ich einige Zeit verbracht (siehe letzte Kapitel) und er gefällt mir eigentlich immer besser. Er läuft stabil und lässt sich sehr einfach konfigurieren. Weston benötigt keines der Pakete PulseAudio, ConsoleKit, PolKit, Systemd, udisks oder elogind. Leider fehlen ein paar Funktionen wie Taskbar, Desktop-Switcher, Menü-System. Aber je mehr ich die Probleme und Einschränkungen bei den anderen Wayland Compositors sehe, desto mehr Lust bekomme ich, vorerst weiter mit Weston zu arbeiten.
F.2) Sway
Sway ist ein Tiling Window Manager. Die Dokumentation [11] ist gut und Sway benötigt keines der Pakete PulseAudio, ConsoleKit, PolKit, Systemd, udisks, elogind. D-Bus wird benötigt, falls das Use Flag "tray" gesetzt wird.
Ich habe Sway mit folgenden Use-Flags installiert:
Code: Select all
swaybar swaygrab swaylock wallpapers -tray
Nach der Installation, die sehr schnell ging, konnte ich Sway von der tty Konsole starten:
Code: Select all
export $(dbus-launch) # nur erforderlich wenn Use Flag "tray" gewählt
export XKB_DEFAULT_LAYOUT=de
export XKB_DEFAULT_VARIANT=nodeadkeys
sway -dV >/tmp/sway-output 2>&1 # -dV: umfangreiches Logging einschalten
Es erscheint ein Hintergrundbild und oben eine Statuszeile - und sonst nichts. Da keine Menüs sichtbar waren und auch bei Tastatureingaben nichts passierte, dachte ich zunächst, dass Sway nicht funktionieren würde. Dann entdeckte ich, dass ich noch das Paket "x11-terms/rxvt-unicode" installieren musste - und schon konnte ich mit Win-Enter Terminal-Fenster öffnen. Mit Win-Shift-e kann man Sway übrigens wieder verlassen.
Die Terminal-Fenster, die man mit Win-Enter öffnet, arbeiten im X11 Modus (weil x11-terms/rxvt-unicode ein X11-Paket ist). Durch Eingabe von "weston-terminal" habe ich noch ein paar Wayland-Fenster geöffnet, damit ich mit "gemischten" Fenstern testen konnte. Mit der Konfigurationsdatei "/etc/sway/config" konnte ich alle weiteren Tastenkombinationen herausfinden und ausprobieren. Sway behandelt X11- und Wayland-Fenster gleich und man kann gut mit dem System arbeiten. Soweit ich sehe, funktioniert alles problemlos.
Etwas weniger schön ist, das man durch ein "kill -9" auf den Xwayland-Prozess den Computer zum Einfrieren bringen kann. Danach hilft dann nur noch ein Reset. Abgesehen davon lief Sway bei meinen Tests stabil.
Sway scheint ein guter und stabiler Wayland Compositor für diejenigen zu sein, die einen Tiling Window Manager suchen.
F.3) Enlightenment
Die folgende Beschreibung bezieht sich auf folgende Versionen:
- xorg-server: 1.19.4
- efl: 1.20.4 (eigenes ebuild mit den in Bug [bug=632044]632044[/bug] beschriebenen Änderungen)
- enlightenment: 0.21.9 (eigenes ebuild)
Vor der Installation sollten folgende Punkte beachtet werden:
- Bei Enlightenment herrscht Versions-Chaos - die derzeit aktuelle Version ist 0.21.7 - und nicht 1.0.17.
- Das Dokument [14] ist wichtig. Insbesondere ist Systemd erforderlich. Das Gentoo Ebuild erlaubt auch eine Installation ohne Systemd - nur lief Enlightenment bei mir dann nicht...
Nach der Installation konnte ich Enlightenment folgendermaßen von der tty Konsole starten:
Code: Select all
export ECORE_EVAS_ENGINE="wayland_egl" # entweder "wayland_egl" oder "wayland_shm"
export ELM_DISPLAY="wl"
export ELM_ACCEL="opengl" # entweder "opengl" oder "none"
enlightenment_start
Wenn man Debug-Informationen haben möchte, kann man Enlightenment folgendermaßen starten:
Code: Select all
export ECORE_EVAS_ENGINE="wayland_egl" # entweder "wayland_egl" oder "wayland_shm"
export ELM_DISPLAY="wl"
export ELM_ACCEL="opengl" # entweder "opengl" oder "none"
export EINA_LOG_LEVEL="4"
enlightenment_start >/tmp/e-stdout.log 2>/tmp/e-stderr.log
Nach dem Start erscheint der gewohnte Enlightenment Desktop. Mit xeyes konnte ich verifizieren, dass Enlightenment und mitgelieferte Programme (wie beispielsweise der Datei-Manager) im Wayland-Modus laufen.
Mit den Standard Gentoo ebuilds für Enlightenment 0.21.7 und efl 1.18.4 traten diverse Probleme auf (CPU-Last nach einiger Zeit bei 100%, Videos konnten nicht angezeigt werden, usw.). Diese konnte ich erst durch eigene ebuilds für aktuellere Versionen (0.21.9 bzw. 1.20.4) und mit den in Bug [bug=632044]632044[/bug] beschriebenen Änderungen lösen.
Beobachtungen zum Start von Programmen:
- Die mit Enlightenment mitgelieferten Menüs und Programme funktionieren gut. Ich konnte keine Probleme feststellen.
- X11-Programme kann ich starten und sie laufen einwandfrei.
- Qt5-Programme kann ich sowohl im X11- als auch im Wayland-Modus starten.
- GTK+3-Programme kann ich nur im X11-Modus starten. Wenn ich sie im Wayland-Modus starte, erscheint eine Fehlermeldung.
- Wayland-Programme wie weston-terminal oder weston-flower kann ich nicht starten. Es erscheint eine Fehlermeldung.
- Videos kann ich mir mit mpv sowohl im X11-, als auch im Wayland-Modus ansehen. Auch mit vlc kann ich mir Videos ansehen (im X11-Modus).
Enlightenment sieht vielversprechend aus. Aber es scheint mir - zumindest unter Gentoo - noch nicht ganz ausgereift zu sein.
F.4) Mutter / Gnome 3
Die folgende Beschreibung bezieht sich auf folgende Versionen:
- xorg-server: 1.19.4
- mutter: 3.22.4
- gnome-shell: 3.22.3
Eine laufende Systemd-Umgebung ist Voraussetzung für Mutter mit Wayland-Unterstützung. Mutter ist eng mit Gnome 3 verknüpft. Die Installation habe ich folgendermaßen gestartet:
Nach der Installation von ca. 140 Paketen konnte ich Gnome / Mutter von der tty Konsole starten:
Code: Select all
XDG_SESSION_TYPE=wayland dbus-run-session gnome-session
Nach dem Start erscheint der Gnome 3 Desktop. Mit xeyes konnte ich verifizieren, dass der Gnome Desktop und mitgelieferte Programme (wie beispielsweise "Einstellungen") im Wayland-Modus laufen.
Ich habe einige Tage mit dem Gnome 3 / Mutter System gearbeitet. Soweit ich sehe, funktioniert alles Wesentliche:
- X11- und Wayland-Programme laufen.
- GTK+3- und Qt5-Programme kann ich sowohl im X11-, als auch im Wayland-Modus starten.
- Videos kann ich mir sowohl mit Firefox (X11-Modus), als auch mit mpv (X11- und Wayland-Modus), als auch mit vlc (X11-Modus) ansehen.
- Copy&Paste funktioniert bei X11-Programmen einwandfrei (alle Methoden). Bei Wayland-Programmen funktioniert es noch nicht so gut (s.u.).
- LibreOffice funktioniert problemlos im X11-Modus.
- Konsole, Kate und Kreversi laufen einwandfrei im X11- und im Wayland-Modus.
- Wireshark läuft problemlos im X11- und im Wayland-Modus.
Folgende kleinere Problemchen habe ich entdeckt:
- Bei X11-Fenstern fehlt der Minimize-Button. Man kann die Fenster aber auch folgendermaßen minimieren: rechter Mausklick auf die Titel-Leiste und "Minimieren".
- Bei Wayland-Programmen oder bei Qt5- oder GTK+3-Programmen im Wayland-Modus funktioniert Copy&Paste noch nicht einwandfrei: weston-terminal stürzt ab, wenn ich rechte-Maustaste und "Kopieren" wähle. Bei konsole im Wayland-Modus funktioniert weder linke / mittlere Maustaste, noch Markieren und dann Bearbeiten-Kopieren / Einfügen. Es funktioniert aber: Markieren und dann Ctrl-Shift-C/V.
Gnome 3 mit Mutter funktioniert fast problemlos. Es ist die erste Wayland Desktop-Umgebung, die alle notwendigen Funktionen an Bord hat, mit der ich gut arbeiten kann, und die auch noch Spaß macht! Gnome 3 mit Mutter kommt also definitiv in meine nähere Auswahl!
F.5) KWin Standalone
In diesem Abschnitt beschreibe ich KWin OHNE Plasma. Ein Test zusammen mit Plasma folgt weiter unten.
Ich habe folgende Versionen verwendet:
- xorg-server: 1.19.4
- Qt: 5.9.2
- KWin: 5.11.0
KWin lässt sich installieren mit "emerge kwin". Danach kann man KWin von einer TTY Konsole starten:
Code: Select all
export $(dbus-launch)
kwin_wayland --xwayland --drm --exit-with-session=xterm
Es erscheint ein leerer Bildschirm mit einem xterm-Fenster. Meine weiteren Tests ergaben:
- X11 Programme kann ich starten und sie laufen einwandfrei. Eine Anmerkung zu xeyes: KWin ist der erste Wayland-Compositor, der xeyes fehlerfrei anzeigt (transparenter Hintergrund, kein Rahmen, keine Titel-Leiste)
- Qt5-Programme kann ich sowohl im X11- als auch im Wayland-Modus starten.
- GTK+3-Programme kann ich nur im X11-Modus starten. Wenn ich sie im Wayland-Modus starte, erscheint eine Fehlermeldung.
- Wayland-Programme wie weston-terminal oder weston-flower kann ich nicht starten. Es erscheint eine Fehlermeldung.
- Videos kann ich mir mit mpv sowohl im X11-, als auch im Wayland-Modus ansehen. Auch mit vlc kann ich mir Videos ansehen (im X11-Modus).
KWin macht einen guten und stabilen Eindruck. Ich konnte keine Probleme mit KWin "an sich" feststellen. Die graphischen Effekte und das Arbeiten mit KWin macht Spaß.
Aber dass KWin keine GTK+3-Programme im Wayland-Modus anzeigen kann, ist eine harte Einschränkung. Die
Erklärung lässt mich ratlos zurück: die Referenz-Implementierung "Weston" kann GTK+3-Programme im Wayland-Modus anzeigen. Und dann ist es schon merkwürdig, wenn die KWin-Entwickler sich weigern, das zu implementieren. Was nützt der schönste Wayland-Compositor, wenn man einen Teil seiner Programme nicht aufrufen kann?
F.6) KWin mit KDE Plasma
Ich habe folgende Versionen verwendet:
- xorg-server: 1.19.4
- Qt: 5.9.2
- KWin: 5.11.0
- KDE Plasma: 5.11.0
- KDE Frameworks: 5.38.0
- KDE Apps: 17.04.3
Die Installation startete ich mit "emerge kde-plasma/plasma-meta". Vor meinen Tests habe ich vorsichtshalber alle alten Konfigurationsdateien gelöscht: "cd ~;mv .config .config.old; mkdir .config".
KWin und KDE Plasma können von einer TTY Konsole gestartet werden:
Es erscheint ein KDE Desktop mit Statusleiste unten. Mit xeyes konnte ich nachweisen, dass Desktop und mitgelieferte Programme (wie beispielsweise das Startmenü oder "Systemeinstellungen") im Wayland-Modus laufen.
Programme können über das Startmenü links unten gestartet werden. Alternativen sind Alt-F2 und Alt-Leertaste. Das Startmenü funktioniert einwandfrei. Das Verhalten der Programme habe ich bereits im letzten Abschnitt ("KWin Standalone") beschrieben.
Bei den Systemeinstellungen ist mir folgendes aufgefallen:
- Einzelne Seiten werden gelegentlich nicht angezeigt
- Einzelne Einstellungen werden nicht übernommen
- Virtuelle Arbeitsflächen können nicht konfiguriert werden
- Das Programm "Systemeinstellungen" stürzt gelegentlich ab
Hier ist noch etwas Feinarbeit notwendig... Eine Liste weiterer Probleme von Plasma mit Wayland findet man
hier.
Abgesehen von diesen Problemen (die sicherlich bald behoben sein werden), funktionieren KWin und KDE Plasma recht gut und es macht Spaß, mit dem System zu arbeiten. Das für mich größte Problem ist, dass zurzeit keine GTK+3-Programme im Wayland-Modus gestartet werden können.