Akademy 2015: Plasma Mobile hilft KDE bei der Wayland-Umsetzung
Nur durch Plasma Mobile habe sich die Wayland-Unterstützung so schnell entwickelt, sagt KDE-Entwickler Martin Gräßlin. Auf der Akademy gibt er einen Überblick darüber, was schon alles funktioniert und welche Details noch fehlen.
"Willkommen in Wayland" lautet der leicht angepasste Titel des Vortrags von Martin Gräßlin auf der diesjährigen Akademy-Konferenz. Denn "die grundlegende Architektur ist fertig", sagt der Kwin-Maintainer und demonstriert dies, indem er seine Präsentation in einer Wayland-Sitzung zeigt.
Das heißt, der KDE-Desktop Plasma 5 läuft ebenso unter Wayland wie die PDF-Anzeige Okular. Einzig die Unterstützung für mehrere Monitore funktioniere noch nicht richtig. Die wichtigsten Dinge seien aber vorhanden: der Compositor, die Verarbeitung der Input-Events, die Verwendung von DRM und KMS zum Zugriff auf die Grafikhardware sowie ein X-Server zur Abwärtskompatibilität.
Plasma Mobile als eine treibende Kraft
Neben dem Ziel, Wayland auf dem Desktop zu benutzen, habe das Projekt Plasma Mobile die Anstrengungen rund um Wayland jedoch deutlich vorangetrieben. Die Arbeiten an der Smartphone-Oberfläche seien letztlich gar der Grund dafür, warum mit dem für Ende August geplanten Plasma 5.4 eine Wayland-Sitzung testweise genutzt werden könnte, wie Gräßlin in seinem Blog schreibt.
Schließlich habe das Mobile-Projekt dazu geführt, dass Kwin und Wayland von mehreren Entwicklern aktiv genutzt wurde. Dadurch seien viele Fehler gefunden und behoben worden, was letztlich zu einem Stabilisierungsprozess geführt habe. Die Arbeit von Gräßlin wird durch Blue Systems finanziert, das bisher auch hauptverantwortlich für Plasma Mobile ist.
Großflächige Umgestaltung des Codes notwendig
Um den aktuellen Status erreichen zu können, musste der Code von Kwin teils sehr stark umgestaltet werden, vor allem, um X11 und Wayland sauber voneinander zu trennen und so einsetzen zu können. Auch deshalb ist die Software nun wesentlich modularer aufgebaut als noch vor einigen Jahren.
Unter anderem deswegen fiel Gräßlin die Anpassung von Kwin auf die derzeitige Referenzplattform von Plasma Mobile so leicht. Das dafür notwendige Backend umfasst mit einigen Hundert Zeilen Code deutlich weniger als ein Prozent des gesamten Codes von Kwin.
Gelöste und noch bestehende Probleme
Damit die Technik getestet werden kann, musste Gräßlin auch tieferliegende Probleme lösen wie etwa eine Abhängigkeitsschleife beim Start vom Kwin. Darüber hinaus gibt es für die Sicherheitsarchitektur seit längerem bestehende Pläne, etwa dass Kwin künftig die Bildschirmsperre übernehmen wird, ebenso wie den Dienst für die globalen Tastaturkürzel.
Doch es bestehen weiterhin Schwierigkeiten im Umgang mit der neuen Technik, weshalb die Wayland-Session vorerst auch nur als Vorschau bezeichnet wird. Dazu gehören weitere unnötige Schleifen oder dass sich OpenGL-Kontexte nicht mit QtQuick-Darstellungen teilen lassen.
Außerdem fehlen noch vergleichsweise wichtige Funktionen. So lassen sich Fenster nicht minimieren oder einfach per Maus bewegen. Ebenso lässt sich die Fensterdekoration nicht beeinflussen, wodurch die Reihenfolge der Knöpfe nicht geändert werden kann. Es können auch noch keine GTK-Clients oder die Weston-Demos dargestellt werden.
Standardisierung in Arbeit
Außerdem steht das Team vor vielen weiteren Aufgaben, die sich eventuell erst in den kommenden Jahren vollständig lösen lassen. Am wichtigsten dabei ist wohl die Interaktion mit der Shell, also den Plasma-Oberflächen. Um dies auch über verschiedene Umgebungen hinweg umzusetzen, entsteht mit XDG_Shell im Wayland-Projekt ein Standardprotokoll dazu.
Das soll letztlich von der Gnome-Shell, Plasma und weiteren Oberflächen genutzt werden und ist damit vergleichbar mit EWMH, die für X11 entstanden sind. Noch befinde sich die XDG_Shell aber in einem umfassenden Entwicklungsprozess, in den sich auch die KDE-Community stärker einbringen müsse.