I-KWinFT, imfoloko ye-KWin egxile ku-Wayland, yethulwe

Roman Gilg, ukubamba iqhaza ekuthuthukisweni kwe-KDE, Wayland, Xwayland kanye ne-X Server, kwethulwa iphrojekthi I-KWinFT (I-KWin Fast Track), ithuthukisa imenenja yewindi eyinhlanganisela eguquguqukayo nesebenziseka kalula ye-Wayland ne-X11 ngokusekelwe ku-codebase. Kwin. Ngokungeziwe kumphathi wewindi, iphrojekthi iphinde ithuthukise umtapo wolwazi ukugoqa ngokusetshenziswa kokubophezela phezu kwe-libwayland ye-Qt/C++, intuthuko eqhubekayo Kwayland, kodwa ikhululiwe ekubopheni i-Qt. Ikhodi isatshalaliswa ngaphansi kwamalayisensi e-GPLv2 kanye ne-LGPLv2.

Umgomo wephrojekthi uwukusebenzisa kabusha i-KWin ne-KWayland kusetshenziswa
Ubuchwepheshe besimanje kanye nezinqubo zokuthuthukisa ezikuvumela ukuthi usheshise ukuthuthukiswa kwephrojekthi, wenze kabusha ikhodi, ungeze ukulungiselelwa nokwenza lula ukungezwa kwezinto ezintsha eziyisisekelo, ukuhlanganiswa kwakho ku-KWin ngendlela yayo yamanje kunzima. I-KWinFT ne-Wrapland zingasetshenziswa ukufaka esikhundleni se-KWin ne-KWayland ngaphandle komthungo, kodwa azikhawulwanga ukukhiya kwe-KWin kwemikhiqizo eminingi lapho ukugcina ukuhambisana okugcwele kuyinto ehamba phambili evimbela ukuqanjwa kabusha ukuthi kuqhubekele phambili.

Nge-KWinFT, abathuthukisi banesandla samahhala sokuhlola izici ezintsha kuyilapho begcina ukuzinza ngokusebenzisa amasu okuthuthukisa yesimanjemanje. Isibonelo, ukuhlola ikhodi ye-KWinFT, isistimu yokuhlanganisa eqhubekayo isetshenziswa, kuhlanganise nokuqinisekisa kusetshenziswa ama-linter ahlukene, ukukhiqiza okuzenzakalelayo kwemihlangano nokuhlola okuthuthukile. Mayelana nokuthuthukiswa kokusebenza, ukugxila okuyinhloko kwe-KWinFT kuzoba ekunikezeni ukwesekwa kwephrothokholi kwekhwalithi ephezulu nokuphelele
I-Wayland, okuhlanganisa izici zokwakha kabusha ze-KWin ezihlanganisa ukuhlanganiswa ne-Wayland.

Phakathi kwezinto ezintsha zokuhlola esezingezwe ku-KWinFT yilezi:

  • Inqubo yokuhlanganisa isisetshenzwe kabusha, okuthuthukise kakhulu ukunikezwa kokuqukethwe okusebenzisa i-X11 ne-Wayland. Ukwengeza, isibali sikhathi sengeziwe ukuze kuncishiswe ukubambezeleka phakathi kokudalwa kwesithombe nokuboniswa kwaso esikrinini.
  • Kwenze isandiso sephrothokholi ye-Wayland "isibukeliβ€œ, okuvumela iklayenti ukuthi lenze ukukala kohlangothi lweseva nokusikwa konqenqema olungaphezulu. Kuhlanganiswe nokukhishwa okukhulu okulandelayo kwe-XWayland, isandiso sizonikeza amandla okulingisa izinguquko zokulungiswa kwesikrini kumageyimu amadala.
  • Ukusekelwa okugcwele kokuphumayo okuzungezisayo nokwenza isibuko kumaseshini asekelwe ku-Wayland.

I-Wrapland inikeza isixhumi esibonakalayo sokuhlela sesitayela se-Qt esinikeza ukufinyelela kumisebenzi ye-libwayland ngendlela esebenziseka kalula kumaphrojekthi we-C++. I-Wrapland ekuqaleni yayihlelelwe ukuthi ithuthukiswe njengemfoloko ye-KWayland, kodwa ngenxa yesimo esingagculisi sekhodi ye-KWayland, manje isithathwa njengephrojekthi yokulungisa ngokuphelele i-KWayland. Umehluko obaluleke kakhulu phakathi kwe-Wrapland ne-KWayland ukuthi ayisaboshiwe ku-Qt futhi ingasetshenziswa ngokuhlukana ngaphandle kokufaka i-Qt. Ngokuzayo, i-Wrapland ingasetshenziswa njengelabhulali yomhlaba wonke ene-C++ API, esusa isidingo sokuba onjiniyela basebenzise i-libwayland C API.

Amaphakheji enziwe aselungile adalelwa abasebenzisi beManjaro Linux. Ukuze usebenzise i-KWinFT, vele ufake i-kwinft kusuka endaweni yokugcina, futhi ukubuyela emuva ku-KWin evamile, faka iphakheji ye-kwin. Ukusetshenziswa kwe-Wrapland akukhawulelwe ku-KDE, isibonelo, ukusetshenziswa kweklayenti kulungiselelwe ukusetshenziswa kuyo ama-wlroots Iphrothokholi yokulawula okukhiphayo, evumela amaseva ayinhlanganisela asekelwe kuma-wlroots (Sway, Indlela yomlilo) sebenzisa i-KScreen ukwenza ngokwezifiso okukhiphayo.

Okwamanje, qhubeka izibuyekezo zephrojekthi zizoshicilelwa I-KWin-lowlatency, enza uhlelo lomphathi oyinhlanganisela ye-KWin enamapeshi ukuze kukhuliswe ukusabela kwesixhumi esibonakalayo futhi kulungiswe izinkinga ezithile ezihlobene nesivinini sokuphendula izenzo zomsebenzisi, njengokungingiza okokufaka. Ngaphezu kwe-DRM VBlank, i-KWin-lowlatency isekela ukusetshenziswa kwe-glXWaitVideoSync, i-glFinish noma i-NVIDIA VSync ukuze inikeze isivikelo ekudwebeni ngaphandle kokuba nomthelela omubi ekuphenduleni (ukuvikelwa kokudabula kwangempela kwe-KWin kwenziwa kusetshenziswa isibali sikhathi futhi kungaholela ekuphumeni okukhulu (kufika ku-50ms) futhi, ngenxa yalokho, ukubambezeleka kwempendulo lapho kufakwa). Ukukhishwa okusha kwe-KWin-lowlatency kungasetshenziswa esikhundleni seseva eyinhlanganisela yesitoko ku-KDE Plasma 5.18.

Source: opennet.ru

Engeza amazwana