Pristatytas KWinFT, KWin šakutė, orientuota į Wayland

Romanas Gilgas, dalyvaujantys kuriant KDE, Wayland, Xwayland ir X Server, pristatė projektas KWinFT (KWin Fast Track), kuriant lanksčią ir lengvai naudojamą sudėtinę langų tvarkyklę Wayland ir X11, pagrįstą kodų baze Kvinas. Be langų tvarkyklės, projekte plėtojama ir biblioteka vyniojama įgyvendinant Qt/C++ susiejimą per libwayland, toliau plėtojant KWayland, bet išlaisvintas nuo susiejimo su Qt. Kodas platinamas pagal GPLv2 ir LGPLv2 licencijas.

Projekto tikslas yra perdirbti KWin ir KWayland naudojant
šiuolaikinės technologijos ir kūrimo praktika, leidžianti pagreitinti projekto kūrimą, pertvarkyti kodą, pridėti optimizacijų ir supaprastinti esminių naujovių įtraukimą, kurių integravimas į KWin dabartine forma yra sudėtingas. KWinFT ir Wrapland gali būti naudojami norint sklandžiai pakeisti KWin ir KWayland, tačiau jų neapriboja daugelio produktų KWin užraktas, kur visiško suderinamumo palaikymas yra prioritetas, neleidžiantis naujovėms judėti į priekį.

Naudodami KWinFT kūrėjai turi laisvas rankas eksperimentuoti su naujomis funkcijomis, išlaikant stabilumą naudojant modernesnius kūrimo būdus. Pavyzdžiui, norint patikrinti KWinFT kodą, naudojama nuolatinė integravimo sistema, įskaitant patikrinimą naudojant skirtingus tarpiklius, automatinį mazgų generavimą ir pažangų testavimą. Kalbant apie funkcionalumo plėtrą, pagrindinis KWinFT dėmesys bus skiriamas aukštos kokybės ir visapusiškam protokolų palaikymui
Wayland, įskaitant KWin architektūrinių ypatybių, kurios apsunkina integraciją su Wayland, pertvarkymą.

Tarp eksperimentinių naujovių, kurios jau įtrauktos į KWinFT:

  • Kompozicijos procesas buvo perdarytas, todėl žymiai pagerėjo turinio, kuriame veikia X11 ir Wayland, pateikimas. Be to, buvo pridėtas laikmatis, siekiant sumažinti uždelsimą nuo vaizdo sukūrimo iki jo rodymo ekrane.
  • Įgyvendintas Wayland protokolo išplėtimas “peržiūros priemonė“, leidžianti klientui atlikti serverio mastelį ir paviršiaus kraštų apipjaustymą. Kartu su kitu pagrindiniu XWayland leidimu, plėtinys suteiks galimybę imituoti senesnių žaidimų ekrano skiriamosios gebos pokyčius.
  • Visiškas „Wayland“ seansų sukimosi ir atspindimo išvesties palaikymas.

Wrapland suteikia Qt stiliaus programavimo sąsają, kuri suteikia prieigą prie libwayland funkcijų tokia forma, kurią lengva naudoti C++ projektuose. Iš pradžių „Wrapland“ buvo planuota sukurti kaip „KWayland“ šakutė, tačiau dėl nepatenkinamos „KWayland“ kodo būklės dabar jis svarstomas kaip visiškai „KWayland“ remonto projektas. Svarbiausias skirtumas tarp Wrapland ir KWayland yra tas, kad jis nebėra susietas su Qt ir gali būti naudojamas atskirai neįdiegus Qt. Ateityje Wrapland gali būti naudojama kaip universali biblioteka su C++ API, todėl kūrėjams nebereikės naudoti libwayland C API.

Paruošti paketai yra sukurti Manjaro Linux vartotojams. Norėdami naudoti KWinFT, tiesiog įdiekite kwinft iš saugyklos, o norėdami grįžti prie standartinio KWin, įdiekite paketą kwin. „Wrapland“ naudojimas neapsiriboja KDE, pavyzdžiui, kliento diegimas buvo paruoštas naudoti wlroots išvesties valdymo protokolas, leidžiantis sudėtinius serverius, pagrįstus wlroot (Linguoti, „Wayfire“) naudokite KScreen, kad tinkintumėte išvestį.

Tuo tarpu Tęsti bus paskelbti projekto atnaujinimai KWin-lowlatency, sudaro KWin sudėtinės tvarkyklės leidimą su pataisomis, kad padidintų sąsajos reagavimą ir išspręstų kai kurias problemas, susijusias su reagavimo į vartotojo veiksmus greičiu, pvz., įvesties mikčiojimą. Be DRM VBlank, „KWin-lowlatency“ palaiko „glXWaitVideoSync“, „glFinish“ arba „NVIDIA VSync“ naudojimą, kad būtų apsaugota nuo plyšimo, nedarant neigiamos įtakos reagavimui (originali „KWin“ apsauga nuo plyšimo įdiegta naudojant laikmatį ir gali sukelti didelių delsų (iki 50 ms) ir dėl to uždelstas atsakymas įvedant). Vietoj atsarginio sudėtinio serverio KDE Plasma 5.18 versijoje galima naudoti naujus KWin-lowlatency leidimus.

Šaltinis: opennet.ru

Добавить комментарий