KWinFT, in foarke fan KWin rjochte op Wayland, yntrodusearre

Roman Gilg, meidwaan yn ûntwikkeling fan KDE, Wayland, Xwayland en X Server, yntrodusearre ûntwerp KWinFT (KWin Fast Track), ûntwikkeljen fan in fleksibele en maklik te brûken gearstalde finsterbehearder foar Wayland en X11 basearre op de koadebase Kwin. Neist de finsterbehearder ûntwikkelet it projekt ek in biblioteek wrapland mei de útfiering fan in bining oer libwayland foar Qt / C ++, oanhâldende ûntwikkeling KWayland, mar befrijd fan bining oan Qt. De koade wurdt ferspraat ûnder GPLv2- en LGPLv2-lisinsjes.

It doel fan it projekt is in recycling KWin en KWayland brûkend
moderne technologyen en ûntwikkelingspraktiken wêrtroch jo de ûntwikkeling fan it projekt kinne fersnelle, de koade refactorearje, optimisaasjes tafoegje en de tafoeging fan fûnemintele ynnovaasjes ferienfâldigje, wêrfan de yntegraasje yn KWin yn syn hjoeddeistige foarm lestich is. KWinFT en Wrapland kinne brûkt wurde om naadloos te ferfangen KWin en KWayland, mar se wurde net beheind troch de KWin lock-in fan in protte produkten dêr't behâld fan folsleine komptabiliteit is in prioriteit dy't foarkomt ynnovaasje út te gean foarút.

Mei KWinFT hawwe ûntwikkelders in frije hân om te eksperimintearjen mei nije funksjes, wylst se stabiliteit behâlde troch it brûken fan modernere ûntwikkelingstechniken. Bygelyks, om de KWinFT-koade te kontrolearjen, wurdt in trochgeande yntegraasjesysteem brûkt, ynklusyf ferifikaasje mei ferskate linters, automatyske generaasje fan gearkomsten en avansearre testen. Yn termen fan funksjonaliteitsûntwikkeling sil de haadfokus fan KWinFT wêze op it leverjen fan heechweardige en folsleine protokolstipe
Wayland, ynklusyf reworking KWin arsjitektoanyske funksjes dy't komplisearje yntegraasje mei Wayland.

Under de eksperimintele ynnovaasjes dy't al tafoege binne oan KWinFT binne:

  • It komposysjeproses is opnij bewurke, wat de werjefte fan ynhâld dy't X11 en Wayland draait signifikant ferbettere hat. Derneist is in timer tafoege om fertragingen te minimalisearjen tusken it meitsjen fan in ôfbylding en it werjaan dêrfan op it skerm.
  • In útwreiding oan it Wayland-protokol ymplementearre "viewporter", wêrtroch de klant skaalfergrutting fan serverside en trimmen fan oerflakrânen kin útfiere. Yn kombinaasje mei de folgjende grutte release fan XWayland sil de tafoeging de mooglikheid leverje om feroaringen fan skermresolúsje te emulearjen foar âldere spultsjes.
  • Folsleine stipe foar draaiende en spegeljende útfier foar Wayland-basearre sesjes.

Wrapland jout in Qt-styl programmearring ynterface dat jout tagong ta libwayland funksjes yn in foarm maklik te brûken yn C ++ projekten. Wrapland wie oarspronklik pland om te ûntwikkeljen as in foarke fan KWayland, mar troch de ûnfoldwaande steat fan de KWayland koade, wurdt no beskôge as in projekt foar in folslein overhaul KWayland. It wichtichste ferskil tusken Wrapland en KWayland is dat it is net mear bûn oan Qt en kin brûkt wurde apart sûnder in ynstallearje Qt. Yn 'e takomst kin Wrapland brûkt wurde as in universele bibleteek mei in C ++ API, wêrtroch de needsaak foar ûntwikkelders om de libwayland C API te brûken.

Klear makke pakketten wurde makke foar Manjaro Linux-brûkers. Om KWinFT te brûken, ynstallearje gewoan kwinft fanút it repository, en om werom te rôljen nei standert KWin, ynstallearje it kwin-pakket. It brûken fan Wrapland is net beheind ta KDE, bygelyks, in client ymplemintaasje is taret foar gebrûk yn wlroots útfierkontrôleprotokol, wêrtroch yn gearstalde tsjinners basearre binne op wlroots (Swa, Wayfire) brûke KScreen om de útfier oan te passen.

Undertusken, trochgean projekt updates wurde publisearre KWin-lowlatency, it foarmjen fan in edysje fan 'e KWin gearstalde manager mei patches om de responsiviteit fan' e ynterface te fergrutsjen en guon problemen te reparearjen dy't ferbûn binne mei de snelheid fan reaksje op brûkersaksjes, lykas ynput stotterjen. Neist DRM VBlank stipet KWin-lowlatency it gebrûk fan glXWaitVideoSync, glFinish of NVIDIA VSync om beskerming te bieden tsjin tearing sûnder negatyf ynfloed op de responsiviteit (de orizjinele tearbeskerming fan KWin wurdt ymplementearre mei in timer en kin liede ta grutte latencies (oant 50ms) útfier en, as gefolch, in fertraging yn it antwurd by ynfier). Nije releases fan KWin-lowlatency kinne brûkt wurde ynstee fan de stock gearstalde tsjinner yn KDE Plasma 5.18.

Boarne: opennet.ru

Add a comment