KWinFT, foloko ya KWin yoyang'ana pa Wayland, idayambitsidwa

Roman Gilg, kutenga nawo mbali pakupanga KDE, Wayland, Xwayland ndi X Server, anayambitsa kulemba KWinFT (KWin Fast Track), kupanga woyang'anira zenera wosinthika komanso wosavuta kugwiritsa ntchito wa Wayland ndi X11 kutengera codebase. Kwini. Kuphatikiza pa woyang'anira zenera, polojekitiyi imapanganso laibulale kuzungulira ndikukhazikitsa njira yomangira libwayland ya Qt/C++, kupitiliza chitukuko KWayland, koma amamasulidwa ku Qt. Khodiyo imagawidwa pansi pa ziphaso za GPLv2 ndi LGPLv2.

Cholinga cha polojekiti ndikukonzanso KWin ndi KWayland pogwiritsa ntchito
matekinoloje amakono ndi njira zachitukuko zomwe zimakupatsani mwayi wofulumizitsa chitukuko cha polojekitiyi, kusinthiranso kachidindo, kuwonjezera kukhathamiritsa ndi kuphweka kuwonjezera pazatsopano zatsopano, kuphatikiza zomwe KWin momwe zilili ndizovuta. KWinFT ndi Wrapland zitha kugwiritsidwa ntchito m'malo mwa KWin ndi KWayland mosasunthika, koma sizimangokhala ndi KWin zotsekera pazinthu zambiri pomwe kusunga kuyanjana kwathunthu ndikofunikira kwambiri komwe kumalepheretsa luso kupita patsogolo.

Ndi KWinFT, Madivelopa ali ndi dzanja laulere kuyesa zatsopano pomwe akukhalabe okhazikika pogwiritsa ntchito njira zamakono zachitukuko. Mwachitsanzo, kuti muwone kachidindo ka KWinFT, njira yophatikizira yosalekeza imagwiritsidwa ntchito, kuphatikiza kutsimikizira pogwiritsa ntchito ma linter osiyanasiyana, kupanga zodziwikiratu zamisonkhano komanso kuyesa kwakukulu. Pankhani ya chitukuko cha magwiridwe antchito, cholinga chachikulu cha KWinFT chikhala pakupereka chithandizo chapamwamba komanso chokwanira cha protocol
Wayland, kuphatikiza kukonzanso kwa KWin zomanga zomwe zimasokoneza kuphatikiza ndi Wayland.

Zina mwazoyeserera zomwe zawonjezeredwa kale ku KWinFT ndi:

  • Njira yophatikizira idasinthidwanso, zomwe zasintha kwambiri kuperekedwa kwa zomwe zikuyenda X11 ndi Wayland. Kuphatikiza apo, chowerengera nthawi chawonjezedwa kuti muchepetse kuchedwa pakati pa kupanga chithunzi ndi chiwonetsero chake pazenera.
  • Anakhazikitsa zowonjezera ku protocol ya Wayland "wowonera", kulola kasitomala kuchita makulitsidwe am'mbali mwa seva ndi kudula m'mphepete. Kuphatikizidwa ndi kutulutsidwa kwakukulu kotsatira kwa XWayland, kukulitsaku kumapereka mwayi wotengera kusintha kwazithunzi pamasewera akale.
  • Thandizo lathunthu pakuzungulira komanso kuwonera magalasi pamagawo ozikidwa pa Wayland.

Wrapland imapereka mawonekedwe amtundu wa Qt omwe amapereka mwayi wopezeka ku libwayland m'mawonekedwe osavuta kugwiritsa ntchito pama projekiti a C++. Wrapland poyambilira idakonzedwa kuti ipangidwe ngati foloko ya KWayland, koma chifukwa cha kusakhutira kwa kachidindo ka KWayland, tsopano ikuganiziridwa ngati projekiti yokonzanso KWayland. Kusiyana kofunikira kwambiri pakati pa Wrapland ndi KWayland ndikuti sikumangikanso ku Qt ndipo zitha kugwiritsidwa ntchito padera popanda kukhazikitsa Qt. M'tsogolomu, Wrapland ingagwiritsidwe ntchito ngati laibulale yapadziko lonse yokhala ndi C ++ API, kuchotsa kufunikira kwa omanga kugwiritsa ntchito libwayland C API.

Maphukusi okonzeka amapangidwira ogwiritsa ntchito a Manjaro Linux. Kuti mugwiritse ntchito KWinFT, ingoikani kwinft kuchokera kunkhokwe, ndikubwerera ku KWin wamba, yikani phukusi la kwin. Kugwiritsa ntchito Wrapland sikungokhala ku KDE, mwachitsanzo, kukhazikitsidwa kwa kasitomala kwakonzedwa kuti kugwiritsidwe ntchito wlroots protocol control control, kulola ma seva ophatikizika kutengera wlroots (Sway, Moto wamoto) gwiritsani ntchito KScreen kuti musinthe zomwe zatuluka.

Pakadali pano, pitilizani zosintha za polojekiti zidzasindikizidwa KWin-lowlatency, kupanga kope la woyang'anira gulu la KWin wokhala ndi zigamba kuti awonjezere kuyankha kwa mawonekedwe ndi kukonza mavuto okhudzana ndi liwiro la kuyankha kwa ogwiritsa ntchito, monga chibwibwi cholowetsa. Kuphatikiza pa DRM VBlank, KWin-lowlatency imathandizira kugwiritsa ntchito glXWaitVideoSync, glFinish kapena NVIDIA VSync kuti itetezedwe kuti isang'ambe popanda kusokoneza kuyankha (chitetezo choyambirira cha KWin chikugwiritsidwa ntchito pogwiritsa ntchito chowerengera nthawi ndipo chingayambitse kuchedwa kwakukulu (mpaka 50ms) ndipo, chifukwa chake, kuchedwa kuyankha pamene kulowetsa). Zotulutsa zatsopano za KWin-lowlatency zitha kugwiritsidwa ntchito m'malo mwa seva yamagulu amtundu wa KDE Plasma 5.18.

Source: opennet.ru

Kuwonjezera ndemanga