KWinFT, forko de KWin temigis Wayland, enkondukis

Roman Gilg, partoprenante en evoluo de KDE, Wayland, Xwayland kaj X Server, enkondukita la projekto KWinFT (KWin Fast Track), evoluigante flekseblan kaj facile uzeblan kunmetitan fenestromanaĝeron por Wayland kaj X11 bazitan sur la kodbazo Kwin. Krom la fenestromanaĝero, la projekto ankaŭ evoluigas bibliotekon wrapland kun la efektivigo de ligado super libwayland por Qt/C++, daŭra evoluo Kwayland, sed liberigita de ligado al Qt. La kodo estas distribuita sub GPLv2 kaj LGPLv2-licencoj.

La celo de la projekto estas recikli KWin kaj KWayland uzante
modernaj teknologioj kaj disvolvaj praktikoj, kiuj permesas vin akceli la disvolviĝon de la projekto, refaktorigi la kodon, aldoni optimumojn kaj simpligi la aldonon de fundamentaj novigoj, kies integriĝo en KWin en sia nuna formo estas malfacila. KWinFT kaj Wrapland povas esti uzataj por perfekte anstataŭigi KWin kaj KWayland, sed ili ne estas limigitaj de la KWin-ŝlosado de multaj produktoj, kie konservi plenan kongruecon estas prioritato, kiu malhelpas novigadon antaŭeniri.

Kun KWinFT, programistoj havas liberan manon por eksperimenti kun novaj funkcioj konservante stabilecon per la uzo de pli modernaj evoluteknikoj. Ekzemple, por kontroli la KWinFT-kodon, oni uzas kontinuan integrigan sistemon, inkluzive de konfirmo per malsamaj linters, aŭtomata generacio de asembleoj kaj altnivela testado. Koncerne al funkcieca disvolviĝo, la ĉefa fokuso de KWinFT estos provizi altkvalitan kaj kompletan protokolan subtenon
Wayland, inkluzive de reverkado de KWin-arkitekturaj trajtoj kiuj malfaciligas integriĝon kun Wayland.

Inter la eksperimentaj inventoj jam aldonitaj al KWinFT estas:

  • La kunmetaĵprocezo estis reverkita, kio signife plibonigis la bildigon de enhavo funkcianta X11 kaj Wayland. Aldone, tempigilo estis aldonita por minimumigi prokrastojn inter la kreado de bildo kaj ĝia ekrano sur la ekrano.
  • Efektivigis etendaĵon al la Wayland-protokolo "spektisto", permesante al la kliento plenumi servilflankan skaladon kaj tondado de surfacaj randoj. Kombinita kun la sekva grava eldono de XWayland, la etendaĵo provizos la kapablon imiti ekranajn rezolucioŝanĝojn por pli malnovaj ludoj.
  • Plena subteno por turnado kaj spegula eligo por Wayland-bazitaj sesioj.

Wrapland disponigas Qt-stilan programan interfacon kiu disponigas aliron al libwayland-funkcioj en formo facile uzebla en C++-projektoj. Wrapland estis origine planita esti evoluigita kiel forko de KWayland, sed pro la nekontentiga stato de la KWayland-kodo, ĝi nun estas konsiderita projekton por tute revizii KWayland. La plej grava diferenco inter Wrapland kaj KWayland estas ke ĝi ne plu estas ligita al Qt kaj povas esti uzata aparte sen instali Qt. En la estonteco, Wrapland povas esti utiligita kiel universala biblioteko kun C++ API, forigante la bezonon de programistoj por uzi la libwayland C API.

Pretaj pakaĵoj estas kreitaj por uzantoj de Manjaro Linukso. Por uzi KWinFT, simple instalu kwinft el la deponejo, kaj por reveni al norma KWin, instalu la pakaĵon kwin. La uzo de Wrapland ne estas limigita al KDE, ekzemple, klienta efektivigo estis preta por uzo en wlradikoj produktaĵkontrolprotokolo, permesante en sintezaj serviloj bazitaj sur wlroots (Malsanulo, Voja fajro) uzu KScreen por personecigi la eligon.

Dume daŭrigi projektaj ĝisdatigoj estos publikigitaj KWin-malalta latenteco, formante eldonon de la KWin kunmetaĵmanaĝero kun pecetoj por pliigi la respondecon de la interfaco kaj ripari kelkajn problemojn asociitajn kun la rapideco de respondo al uzant-agoj, kiel ekzemple eniga balbutado. Aldone al DRM VBlank, KWin-lowlatency subtenas la uzon de glXWaitVideoSync, glFinish aŭ NVIDIA VSync por provizi protekton kontraŭ ŝirado sen negative influi respondecon (la originala ŝiriĝoprotekto de KWin estas efektivigita per tempigilo kaj povas konduki al grandaj latentecoj (ĝis 50ms) eligo. kaj, kiel rezulto, prokrasto en la respondo kiam enigo). Novaj eldonoj de KWin-lowlatency povas esti uzataj anstataŭ la akcia kunmetita servilo en KDE Plasma 5.18.

fonto: opennet.ru

Aldoni komenton