Roman Gilg, in the development of KDE, Wayland, Xwayland, and X Server, le projet (KWin Fast Track), which develops a flexible and easy-to-use compositing window manager for Wayland and X11, based on the codebase of In addition to the window manager, the project also develops the library with an implementation of a binding over libwayland for Qt/C++, continuing the development of but free from the binding to Qt. The code is distributed under the GPLv2 and LGPLv2 licenses.
The goal of the project is to refactor KWin and KWayland using
modern technologies and development practices that will accelerate the project's progress, refactor the code, add optimizations, and simplify the addition of fundamental innovations, the integration of which into KWin in its current form is challenging. KWinFT and Wrapland can be used for the transparent replacement of KWin and KWayland, but they are not limited to the constraints imposed by the bindings to KWin that many products have, maintaining full compatibility with which is a priority that hinders the promotion of innovations.
In KWinFT, developers have more freedom and can experiment with new features while maintaining stability by employing more modern development techniques. For instance, a continuous integration system is used for code testing in KWinFT, which includes checks through various linters, automatic build generation, and extensive testing. Regarding functional development, KWinFT will primarily focus on ensuring high-quality and complete support for the Wayland protocol, including a redesign of KWin's architectural features that complicate integration with Wayland.
Among the experimental innovations already added to KWinFT are:
A revamped compositing process, which has significantly improved the rendering of content under the management of X11 and Wayland. Additionally, a timer has been added to minimize delays between image creation and its display on the screen.
- The implementation of the Wayland protocol extension "
- viewporter«, permettant au client d'effectuer des opérations de mise à l'échelle et de rognage des bords de la surface cÎté serveur. Associé à la prochaine version majeure, l'extension XWayland permettra d'émuler le changement de résolution d'écran pour les anciens jeux.
- Support complet de la rotation et du miroir de sortie pour les sessions basées sur Wayland.
Wrapland offre une interface logicielle conçue dans le style Qt, permettant d'accĂ©der aux fonctions de libwayland de maniĂšre conviviale pour les projets en C++. Ă l'origine, Wrapland devait ĂȘtre dĂ©veloppĂ© comme un fork de KWayland, mais en raison de l'Ă©tat insatisfaisant du code de KWayland, il est dĂ©sormais considĂ©rĂ© comme un projet de refonte complĂšte de KWayland. La diffĂ©rence principale entre Wrapland et KWayland est l'Ă©limination de la dĂ©pendance Ă Qt et la possibilitĂ© de l'utiliser indĂ©pendamment de l'installation de Qt. Ă l'avenir, Wrapland pourra fonctionner comme une bibliothĂšque universelle avec une API C++, permettant aux dĂ©veloppeurs de ne pas devoir utiliser l'API C de libwayland.
Des paquets prĂȘts Ă l'emploi sont disponibles pour les utilisateurs de Manjaro Linux. Pour utiliser KWinFT, il suffit d'installer Ă partir du dĂ©pĂŽt kwinft, et pour revenir Ă KWin par dĂ©faut, il faut installer le paquet kwin. L'utilisation de Wrapland n'est pas limitĂ©e Ă KDE, par exemple, une implĂ©mentation d'un client pour le protocole de gestion de sortie, permettant sur les serveurs composites basĂ©s sur wlroots (, ) d'utiliser KScreen pour configurer la sortie.
En attendant, des mises Ă jour du projet vont ĂȘtre publiĂ©es , qui forme une Ă©dition du gestionnaire de composition KWin avec des correctifs pour augmenter la rĂ©activitĂ© de l'interface et corriger certains problĂšmes liĂ©s Ă la rĂ©activitĂ© aux actions de l'utilisateur, tels que le retard dans l'entrĂ©e. Pour offrir une protection contre le tearing de l'affichage sans affecter nĂ©gativement la rĂ©activitĂ©, en plus du DRM VBlank dans KWin-lowlatency, l'utilisation de glXWaitVideoSync, glFinish ou NVIDIA VSync est supportĂ©e (la protection d'origine contre le tearing dans KWin est rĂ©alisĂ©e Ă l'aide d'un minuteur et peut entraĂźner de grands dĂ©lais (jusqu'Ă 50 ms) de sortie et, par consĂ©quent, un retard de rĂ©action lors de l'entrĂ©e). Les nouvelles versions de KWin-lowlatency peuvent ĂȘtre utilisĂ©es Ă la place du serveur de composition par dĂ©faut dans KDE Plasma 5.18.
Source : opennet.ru
