Original-URL des Artikels: https://www.golem.de/news/kde-plasma-kwin-wayland-wird-libinput-und-logind-verwenden-1410-109978.html    Veröffentlicht: 21.10.2014 11:08    Kurz-URL: https://glm.io/109978

KDE Plasma

KWin-Wayland wird Libinput und Logind verwenden

Der KWin-Maintainer Martin Gräßlin hat die Bibliothek Libinput zur Wayland-Unterstützung in der Fensterverwaltung hinzugefügt. Außerdem wird ein Logind-Interface genutzt, das für andere Plattformen reimplementierbar ist.

Der KWin-Maintainer Martin Gräßlin ist dem Ziel, eine komplette Plasma-Sitzung unter Wayland zu benutzen, näher gekommen: Er integrierte die Bibliothek Libinput in den Wayland-Bestandteil von KWin. Gräßlin selbst bezeichnet dies in seinem Blog als Meilenstein. Mit Hilfe der Bibliothek, die auch von anderen Wayland-Compositoren genutzt wird, ist es möglich, Eingabeereignisse in der Fensterverwaltung zu verarbeiten. So lassen sich einfach globale Tastaturkürzel oder eventuell auch Touch-Gesten umsetzen.

Dank dem Code ist es nun zum Beispiel einfacher für KWin, komplette Kontrolle über den Mauszeiger zu erlangen und dabei den Wayland-Compositor zu umgehen. Darüber hinaus ist der Code den Angaben zufolge wichtig, um eine Wayland-Session umzusetzen, die keinen anderen Compositor benötigt. Bisher konnte KWin unter Wayland nur in einem Szenario benutzt werden, in dem die Anwendung in einem laufenden Compositor gestartet wurde.

Für eine selbstständig gestartete Sitzung muss auch die Eingabeverwaltung selbst übernommen werden. Die dafür ebenfalls notwendige Interaktion mit DRM ist in Arbeit. Noch werden jedoch nicht alle von Libinput bereitgestellten Ereignisse unterstützt, das gilt vor allem für Touch-Gesten. Gemeinsam mit Entwicklern, die über die notwendigen Geräte verfügen, sowie mit der Designgruppe werde diese Funktion aber noch umgesetzt, schreibt Gräßlin.

Sicherheit durch Logind

Theoretisch müsste KWin mit Root-Rechten ausgeführt werden, um direkt auf die Geräteereignisse zugreifen zu können, was Gräßlin nachvollziehbarer Weise vermeiden möchte. Die Lösung dafür bietet Logind, das als Teil des Systemd-Projekts erstellt wird. Damit ist es möglich, ein Gerät über einen File-Descriptor (FD) anzusprechen. Wechselt ein Nutzer das virtuelle Terminal wird zudem der FD von Logind geschlossen. Die Verwendung lässt sich darüber hinaus einfach umsetzen, da hierfür nur sehr wenige D-Bus-Aufrufe notwendig seien.

Die Libinput-Integration in KWin-Wayland wird eine Laufzeitabhängigkeit zu einer Logind D-Bus-Schnittstelle verwenden. Davon sind laut Gräßlin weder die X11-Unterstützung noch KWin-Wayland ohne Libinput betroffen. Noch ist die Unterstützung aber optional, da noch keine stabile Veröffentlichung von Libinput existiert.

Andere Plattformen und Systemd

Nach Einschätzung von Gräßlin wird Libinput langfristig auch unter anderen Plattformen als Linux, also vor allem den verschiedenen BSDs, bereitstehen, da vor allem auch DRM und KMS dort mittlerweile gut unterstützt werden. Aus Sicht des KWin-Maintainers ist dies wichtig, da so nur eine Bibliothek verwendet werden müsse und plattformabhängiger Code vermieden werden könne. Immerhin sei letzterer schwer zu entwickeln und schwierig zu testen. Gräßlin ruft Interessierte deshalb dazu auf, die notwendigen Arbeiten dafür zu übernehmen.

Für Logind ergibt sich eine ähnliche Situation, da Systemd nicht auf allen Plattformen genutzt werden kann, auf denen auch KWin läuft. Laut Gräßlin können die klar definierten D-Bus-Schnittstellen, die KWin benutzt, aber auch unabhängig von Systemd implementiert werden. Etwas derartiges ist in einem GSoC-Projekt dieses Jahr für OpenBSD begonnen worden. KWin würde dies benutzen, wenn sich jemand findet, der den Code schreibt. Wenn sich genügend Leute darum bemühen, wird dies nach Meinung von Gräßlin auch passieren.

Um möglichen kritischen oder gar ungehaltenen Kommentaren vorzubeugen, stellt Gräßlin in einem FAQ klar, dass KWin nicht von Systemd abhängen werde. Es werde lediglich eine D-Bus-Schnittstelle benutzt, die derzeit nur in Logind bereitsteht. Für die BSD-Systeme ist dies aber derzeit das geringste Problem, denn dort fehlt noch der komplette Input-Stack.  (sg)


Verwandte Artikel:
KWin: KDE beendet Funktionsentwicklung für X11   
(22.01.2018, https://glm.io/132300 )
Google: Chromebooks bekommen "Linux-VMs" und "Terminal"   
(27.02.2018, https://glm.io/133030 )
Thomas Voß: "Mir ist in zwei Jahren relevanter als Wayland"   
(20.10.2014, https://glm.io/109951 )
Linux: Wenn der Laptop-Deckel das Touchpad ausschaltet   
(02.02.2017, https://glm.io/125964 )
Linux: Systemd 234 erweitert Netzwerk-Komponente   
(13.07.2017, https://glm.io/128906 )

© 1997–2020 Golem.de, https://www.golem.de/