Bemutatkozott a KWinFT, a Waylandre összpontosító KWin villa

Roman Gilg, részt a KDE, a Wayland, az Xwayland és az X Server fejlesztése során, benyújtott terv KWinFT (KWin Fast Track), egy rugalmas és könnyen használható összetett ablakkezelő fejlesztése Wayland és X11 számára a kódbázis alapján Kwin. A projekt keretében az ablakkezelő mellett könyvtárat is fejlesztenek wrapland a Qt/C++ libwayland feletti kötés megvalósításával, folyamatos fejlesztéssel KWayland, de felszabadul a Qt-hez való kötődés alól. A kód GPLv2 és LGPLv2 licenc alatt kerül terjesztésre.

A projekt célja a KWin és a KWayland újrahasznosítása
modern technológiák és fejlesztési gyakorlatok, amelyek lehetővé teszik a projekt fejlesztésének felgyorsítását, a kód átalakítását, optimalizálások hozzáadását és egyszerűsítik az alapvető újítások hozzáadását, amelyek integrálása jelenlegi formájában nehézkes a KWin-be. A KWinFT és a Wrapland használható a KWin és a KWayland zökkenőmentes helyettesítésére, de nem korlátozza őket számos termék KWin-bezárása, ahol a teljes kompatibilitás fenntartása prioritás, amely megakadályozza az innováció előrehaladását.

A KWinFT segítségével a fejlesztők szabad kezet kapnak az új funkciókkal való kísérletezéshez, miközben a modernebb fejlesztési technikák használatával megőrzik a stabilitást. Például a KWinFT kód ellenőrzésére folyamatos integrációs rendszert használnak, amely magában foglalja a különböző linterek használatával történő ellenőrzést, az összeállítások automatikus generálását és a kiterjedt tesztelést. Ami a funkcionalitásfejlesztést illeti, a KWinFT fő hangsúlya a kiváló minőségű és teljes protokolltámogatáson lesz
Wayland, beleértve a KWin építészeti jellemzőinek átdolgozását, amelyek megnehezítik a Waylanddel való integrációt.

A KWinFT-hez már hozzáadott kísérleti újítások közé tartozik:

  • Az összeállítási folyamatot átdolgozták, ami jelentősen javította az X11-et és a Waylandet futtató tartalom megjelenítését. Ezenkívül egy időzítőt is hozzáadtak a kép létrehozása és a képernyőn való megjelenítés közötti késések minimalizálása érdekében.
  • Megvalósította a Wayland protokoll kiterjesztését "szemlélő“, lehetővé téve a kliens számára a szerveroldali méretezést és a felületélek levágását. Az XWayland következő jelentős kiadásával kombinálva a bővítmény lehetőséget nyújt a képernyőfelbontás változásainak emulálására a régebbi játékokhoz.
  • A Wayland-alapú munkamenetek forgatásának és tükrözésének teljes támogatása.

A Wrapland egy Qt-stílusú programozási felületet biztosít, amely hozzáférést biztosít a libwayland függvényekhez olyan formában, amelyet a C++ projektekben könnyen lehet használni. A Wraplandot eredetileg a KWayland elágazásaként tervezték fejleszteni, de a KWayland kód nem kielégítő állapota miatt most a KWayland teljes felújítását célzó projektnek tekintik. A legfontosabb különbség a Wrapland és a KWayland között az, hogy már nincs Qt-hez kötve, és külön is használható a Qt telepítése nélkül. A jövőben a Wrapland univerzális könyvtárként használható C++ API-val, így nincs szükség a fejlesztőknek a libwayland C API használatára.

A Manjaro Linux felhasználók számára kész csomagok készülnek. A KWinFT használatához csak telepítse a kwinft-et a tárolóból, és a normál KWin-re való visszatéréshez telepítse a kwin csomagot. A Wrapland használata nem korlátozódik a KDE-re, például egy kliens implementáció készült a használatra wlroots kimenetvezérlő protokoll, amely lehetővé teszi a wlroots (Inog, befolyás, Úttűz) használja a KScreen-t a kimenet testreszabásához.

Közben, folytatni a projekt frissítéseit közzétesszük KWin-lowlatency, amely a KWin összetett kezelő egy kiadását alkotja javításokkal, amelyek növelik az interfész reakcióképességét, és kijavítanak néhány, a felhasználói műveletekre adott válasz sebességével kapcsolatos problémákat, például a beviteli akadozást. A DRM VBlank mellett a KWin-lowlatency támogatja a glXWaitVideoSync, glFinish vagy NVIDIA VSync használatát, hogy védelmet nyújtson a szakadás ellen anélkül, hogy negatívan befolyásolná a reakcióképességet (a KWin eredeti szakadásvédelmét időzítővel valósítják meg, és nagy késésekhez (akár 50 ms) vezethet és ennek eredményeként a válasz késése bevitelkor). A KWin-lowlatency új kiadásai használhatók az összetett kompozit szerver helyett a KDE Plasma 5.18-ban.

Forrás: opennet.ru

Hozzászólás