Es va presentar KWinFT, una bifurcació de KWin centrada en Wayland

Roman Gilg, participant en desenvolupament de KDE, Wayland, Xwayland i X Server, introduït projecte KWinFT (KWin Fast Track), desenvolupant un gestor de finestres compostes flexible i fàcil d'utilitzar per a Wayland i X11 basat en la base de codi Kwin. A més del gestor de finestres, el projecte també desenvolupa una biblioteca embolcall amb la implementació d'una vinculació sobre libwayland per a Qt/C++, desenvolupament continu Kwayland, però alliberat de la vinculació a Qt. El codi es distribueix sota llicències GPLv2 i LGPLv2.

L'objectiu del projecte és reciclar KWin i KWayland utilitzant
tecnologies modernes i pràctiques de desenvolupament que us permeten accelerar el desenvolupament del projecte, refactoritzar el codi, afegir optimitzacions i simplificar l'addició d'innovacions fonamentals, la integració de les quals a KWin en la seva forma actual és difícil. KWinFT i Wrapland es poden utilitzar per substituir perfectament KWin i KWayland, però no estan limitats pel bloqueig de KWin de molts productes on mantenir la compatibilitat total és una prioritat que impedeix que la innovació avanci.

Amb KWinFT, els desenvolupadors tenen mà lliure per experimentar amb noves funcions alhora que mantenen l'estabilitat mitjançant l'ús de tècniques de desenvolupament més modernes. Per exemple, per comprovar el codi KWinFT, s'utilitza un sistema d'integració contínua que inclou la verificació mitjançant diferents linters, la generació automàtica de conjunts i les proves avançades. Pel que fa al desenvolupament de funcionalitats, l'enfocament principal de KWinFT serà proporcionar un suport de protocol complet i d'alta qualitat
Wayland, inclosa la reelaboració de les característiques arquitectòniques de KWin que dificulten la integració amb Wayland.

Entre les innovacions experimentals que ja s'afegeixen a KWinFT hi ha:

  • S'ha reelaborat el procés de composició, la qual cosa ha millorat significativament la representació del contingut amb X11 i Wayland. A més, s'ha afegit un temporitzador per minimitzar els retards entre la creació d'una imatge i la seva visualització a la pantalla.
  • S'ha implementat una extensió del protocol Wayland "visor", permetent al client realitzar l'escalat del costat del servidor i el retall de les vores de la superfície. Combinada amb el proper llançament important de XWayland, l'extensió oferirà la possibilitat d'emular els canvis de resolució de pantalla per a jocs més antics.
  • Compatibilitat total per girar i duplicar la sortida per a sessions basades en Wayland.

Wrapland proporciona una interfície de programació d'estil Qt que proporciona accés a les funcions de libwayland d'una forma fàcil d'utilitzar en projectes C++. Originalment, Wrapland es va planificar per desenvolupar-se com una bifurcació de KWayland, però a causa de l'estat insatisfactori del codi de KWayland, ara s'està considerant com un projecte per revisar completament KWayland. La diferència més important entre Wrapland i KWayland és que ja no està lligat a Qt i es pot utilitzar per separat sense instal·lar Qt. En el futur, Wrapland es pot utilitzar com a biblioteca universal amb una API C++, eliminant la necessitat que els desenvolupadors utilitzin l'API C de libwayland.

Es creen paquets preparats per als usuaris de Manjaro Linux. Per utilitzar KWinFT, només cal que instal·leu KWinft des del repositori i, per tornar al KWin estàndard, instal·leu el paquet kwin. L'ús de Wrapland no es limita a KDE, per exemple, s'ha preparat una implementació de client per utilitzar-la arrels protocol de control de sortida, que permet en servidors compostos basats en wlroots (Sway, Firefire) utilitzeu KScreen per personalitzar la sortida.

Mentrestant, continuar es publicaran les actualitzacions del projecte KWin-baixa latència, formant una edició del gestor de compostos KWin amb pedaços per augmentar la capacitat de resposta de la interfície i solucionar alguns problemes associats a la velocitat de resposta a les accions de l'usuari, com ara la tartamudeig d'entrada. A més de DRM VBlank, KWin-lowlatency admet l'ús de glXWaitVideoSync, glFinish o NVIDIA VSync per proporcionar protecció contra el trencament sense afectar negativament la capacitat de resposta (la protecció original de KWin contra el trencament s'implementa amb un temporitzador i pot provocar grans latències (fins a 50 ms) de sortida). i, com a resultat, un retard en la resposta a l'entrada). Les noves versions de KWin-lowlatency es poden utilitzar en lloc del servidor compost d'estoc al KDE Plasma 5.18.

Font: opennet.ru

Afegeix comentari