KWinFT has been introduced, a fork of KWin focused on Wayland

Roman Gilg, participating in the development of KDE, Wayland, Xwayland, and X Server, presented project KWinFT (KWin Fast Track), developing a flexible and easy-to-use composite window manager for Wayland and X11, based on the source code KWin.In addition to the window manager, the project also develops the library wrapland with an implementation of a wrapper over libwayland for Qt/C++, continuing the development of KWayland,but freed from the confines of Qt. The code is distributed under the GPLv2 and LGPLv2 licenses.

The goal of the project is to redesign KWin and KWayland using
modern technologies and development practices that will speed up project advancement, refactor the code, add optimizations, and simplify the incorporation of fundamental innovations, the integration of which into KWin in its current form is complicated. KWinFT and Wrapland can be used for seamless replacement of KWin and KWayland, but they are not confined by the limitations imposed on KWin by many products, where maintaining full compatibility takes priority, hindering the advancement of innovations.

In KWinFT, developers have the freedom to experiment with new features while ensuring stability through the application of more modern development techniques. For example, to check the KWinFT code, a continuous integration system is utilized, including checks using various linters, automated build generation, and extensive testing. Regarding functional development, the primary focus in KWinFT will be on providing comprehensive and quality support for the
Wayland protocol, including redesigning architectural features of KWin that complicate integration with Wayland.

Among the already added experimental innovations in KWinFT are:

  • The compositing process has been reworked, resulting in significantly improved rendering of content under X11 and Wayland. Additionally, a timer has been added to minimize delays between image creation and display on screen.
  • An extension of the Wayland protocol called “viewporterhas been implemented, allowing the client to perform scaling and edge-clipping actions on the server side. Combined with the upcoming significant release of XWayland, the extension will enable emulation of screen resolution changes for older games.
  • Full support for rotation and mirroring of output for Wayland-based sessions.

Wrapland features a Qt-style designed interface that provides access to libwayland functions in a user-friendly manner for C++ projects. Initially, Wrapland was planned to be developed as a fork of KWayland, but due to unsatisfactory code quality in KWayland, it is now viewed as a complete overhaul project of KWayland. The most significant difference between Wrapland and KWayland is the removal of dependency on Qt, allowing its standalone use without installing Qt. In the future, Wrapland could serve as a universal library with a C++ API, freeing developers from the necessity of using the libwayland C API.

Prebuilt packages are available for Manjaro Linux users. To use KWinFT, simply install it from the kwinft repository, and to revert to the standard KWin, install the kwin package. The use of Wrapland is not limited to KDE; for instance, a client implementation is prepared for the wlroots output management protocol, allowing composite servers based on wlroots (Sway, Wayfire) to use KScreen for output configuration.

Meanwhile, updates for the project continue to be released. KWin-lowlatency, which shapes a version of the KWin composite manager with patches for increased interface responsiveness and fixes to certain issues related to user action delay, such as input lag. To provide protection against tearing in output without negatively impacting responsiveness, KWin-lowlatency supports the use of glXWaitVideoSync, glFinish, or NVIDIA VSync in addition to DRM VBlank (the tearing protection originally present in KWin is implemented using a timer and can lead to significant delays (up to 50ms) in output, resulting in input reaction delays). New releases of KWin-lowlatency can be used instead of the standard composite server in KDE Plasma 5.18.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster