Login
Newsletter
Werbung

Fr, 15. Juni 2012, 10:11

Software::Desktop

X11-Anwendungen unter Wayland

Der Entwickler Tiago Vignatti hat beschrieben, wie X11-Anwendungen unter Wayland laufen. Die Architektur soll dafür sorgen, dass es keine merklichen Geschwindigkeitseinbußen gibt.

X11 unter Wayland

Tiago Vignatti

X11 unter Wayland

Während viele Anwendungen in absehbarer Zeit nativ unter Wayland laufen werden, weil die zugrundeliegenden Toolkits - darunter Qt und GTK+ - auf Wayland portiert werden, wird es weiterhin viele native X-Anwendungen geben. Es ist den Entwicklern von Wayland entsprechend wichtig, diese Anwendungen ausführen zu können. Dafür wurde die Anpassungsschicht xwayland entwickelt.

Der Entwickler Tiago Vignatti beschreibt nun in seinem Blog, wie sich diese in Wayland einfügt. Die zentrale Komponente von Wayland ist der Compositor Weston. Native Wayland-Anwendungen (Clients) verbinden sich direkt mit Weston. Weston beherbergt jedoch neben dem Compositor und der Desktop-Shell auch das Modul xwayland.

xwayland ist kein X-Server, vielmehr öffnet es einen X-Socket und wartet dort auf Clients, die sich mit dem X-Server verbinden wollen. Sobald ein Client sich verbindet, startet xwayland einen X-Server. Der Client und alle weiteren startenden X-Clients werden an diesen Server weitergereicht. Der X-Server nutzt einen speziellen Wayland-Videotreiber und kommuniziert mit xwayland über ein eigenes Protokoll. Somit wird der X-Server nur gestartet, wenn er benötigt wird. Mit diesem Schema vermeiden die Entwickler den Overhead von X, wenn er nicht gebraucht wird, und beschleunigen den Start von Wayland.

Der Window-Manager wird nicht vom X-Server, sondern von Weston gestartet. Es handelt sich um einen speziellen Manager, der die Window-Manager-Protokolle EWMH und ICCCM auf Wayland abbildet. Dadurch sollen sich X11-Anwendungen nahtlos in den Desktop einfügen. Dieser Window-Manager sorgt wie die üblichen X-Window-Manager auch für die Rahmen und sonstige Dekoration der Fenster sowie für die Kommunikation der Clients untereinander, z.B. über die Zwischenablage und später auch über Drag und Drop.

Die Fenster der X11-Anwendungen werden nicht direkt auf den Bildschirm, sondern in Pufferspeicher gezeichnet. Dieser Puffer wird dann vom Compositor auf dem Bildschirm eingeblendet. Da dafür keine Protokollaufrufe nötig sind, soll kein nennenswerter Geschwindigkeitsverlust auftreten.

X11-Anwendungen müssen natürlich auch die Möglichkeit haben, Eingaben zu erhalten. Die hierfür benötigten Komponenten sind laut Vignatti bereits vorhanden. Wenn der X-Server gestartet wird, erzeugt Wayland Pseudo-Geräte, die vom X-Server für die Tastatur und die Maus genutzt werden können. Die Daten gelangen also über Wayland zu X. Es gibt, so Vignatti, noch offene Punkte bei den Zeiger-Einstellungen und der komplexen Logik des Input-Grabbing, bei der ein Client bestimmte Eingaben exklusiv für sich reklamiert. Ein kurzes Video demonstriert den aktuellen Stand von Wayland.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung