Roman Gilg, a KDE, Wayland, Xwayland és X Server fejlesztésében, projekt (KWin Fast Track), amely egy rugalmas és könnyen használható összetevőkezelőt fejleszt Wayland és X11 számára, a kódalapján. Ezen kívül a projekt egy könyvtárat is fejleszt, amely a libwayland Qt/C++ feletti csomagolását valósítja meg, folytatva a fejlesztését, de a Qt-hoz való kötődés nélkül. A kód GPLv2 és LGPLv2 licenc alatt terjeszthető.
A projekt célja a KWin és a KWayland modern technológiák és fejlesztési gyakorlatok felhasználásával történő átformálása, amelyek lehetővé teszik a projekt gyorsabb fejlődését, a kód refaktorálását, optimalizációk hozzáadását és az alapvető újítások bevezetésének egyszerűsítését, amelyek integrálása a jelenlegi KWin környezetbe nehézkes. A KWinFT és a Wrapland zökkenőmentesen helyettesítheti a KWin-t és a KWayland-t, de nem korlátozódnak arra a keretre, amelyet a KWin különböző termékekre gyakorolt kötődés alkalmaz. A teljes kompatibilitás fenntartása prioritás, ami gátolja az újítások előrehaladását.
A KWinFT fejlesztői szabad kezet kapnak, hogy kísérletezzenek új lehetőségekkel, miközben a stabilitás megőrzésére törekednek a korszerűbb fejlesztési technikák alkalmazásával. Például a KWinFT kód ellenőrzésére folyamatos integrációs rendszert alkalmaznak, amely különböző linterek általi ellenőrzést, automatikus build generálást és kiterjesztett tesztelést foglal magában. A funkcionalitás fejlesztése során a KWinFT fő hangsúlya a Wayland protokoll alapos és minőségi támogatásának biztosítására összpontosít, beleértve a KWin architekturális sajátosságainak átdolgozását, amelyek bonyolítják a Wayland-del való integrációt.
A KWinFT-ben már bevezetett kísérleti újítások között szerepel:
A kompozíciós folyamat átdolgozása, amely jelentős mértékben javította a X11 és Wayland alatti tartalom megjelenítését. Továbbá, egy időzítőt is hozzáadtak a képkészítés és a képernyőre való megjelenítés közötti késleltetés minimalizálására.
Megvalósították a Wayland protokoll „
- viewporter
- “ kiterjesztését, amely lehetővé teszi az ügyfél számára, hogy méretezési és felületvágási műveleteket végezzen a szerver oldalán. A következő jelentős XWayland kiadással együtt ez a kiterjesztés lehetővé teszi a régi játékok képernyőfelbontásának emulációját.«, lehetővé téve az ügyfél számára, hogy a szerveroldalon méretezési és vágási műveleteket végezzen. A következő jelentős XWayland kiadással együtt a kiterjesztés lehetővé teszi a képernyőfelbontás megváltoztatásának emulálását régi játékokhoz.
- Teljeskörű támogatás a Wayland-alapú munkamenetek kimenetének forgatására és tükörképére.
A Wrapland egy Qt-stílusban megtervezett szoftveres interfészt kínál, amely hozzáférést biztosít a libwayland funkcióihoz, könnyen felhasználható C++ projektekhez. Eredetileg a Wraplandot a KWayland forkjaként tervezték fejleszteni, de a KWayland kódjának kielégítő állapota hiányában most egy teljes KWayland újraírási projektként tekintik. A Wrapland legfontosabb különbsége a KWaylandtól az, hogy megszabadul a Qt-ra való kötődéstől, és lehetőséget biztosít az önálló használatra anélkül, hogy a Qt-t telepíteni kellene. A jövőben a Wrapland egy univerzális könyvtárként fog működni, C++ API-val, amely megszabadítja a fejlesztőket a libwayland C API-jának használatának szükségességétől.
Kész csomagok állnak rendelkezésre a Manjaro Linux felhasználók számára. A KWinFT aktiválásához elég telepíteni a kwinft csomagot a tárhelyből, és visszatérni az alapértelmezett KWin-hez a kwin csomag telepítésével. A Wrapland használata nem korlátozódik a KDE-re, például egy klienst is előkészítettek a kimenetkezelési protokollhoz, amely lehetővé teszi a wlroots-alapú kompozit szervereken (, ) a KScreen használatát a kimenet beállításához.
Közben a projekt frissítései publikálásra kerülnek , amely a KWin kompozit menedzser egy verzióját képezi, javítókkal a felhasználói felület reakcióidejének növelésére és néhány probléma megoldására, amely a felhasználói interakciók reakcióidejére, mint például a bemeneti késlekedésre vonatkozik. A kimeneti szakadások (tearing) elkerülése érdekében, anélkül, hogy negatívan befolyásolná a reakcióidőt, a KWin-lowlatency támogatja a DRM VBlank mellett a glXWaitVideoSync, glFinish vagy NVIDIA VSync használatát (a KWin eredetileg a szakadások elleni védelmet egy időzítővel valósította meg, ami nagy késlekedéseket (akár 50 ms) okozhat a kimenetben, és ennek következtében a bemenet reakciójának késlekedését). Az új KWin-lowlatency kiadások helyettesíthetők a KDE Plasma 5.18 alapértelmezett kompozit szerverével.
Forrás: opennet.ru
