I-KWinFT, ifolokhwe ye-KWin egxile kwi-Wayland, yaziswa

Roman Gilg, ukuthatha inxaxheba kuphuhliso lwe KDE, Wayland, Xwayland kunye nomncedisi we X, wazisiwe iprojekthi KWinFT (KWin Fast Track), ukuphuhlisa ubhetyebhetye kwaye kulula ukuyisebenzisa umphathi wefestile weWayland kunye neX11 esekwe kwicodebase. Kwin. Ukongeza kumphathi wefestile, iprojekthi iphinda iphuhlise ithala leencwadi umhlaba ngokuphunyezwa kokubophelela kwi-libwayland ye-Qt/C++, uphuhliso oluqhubekayo Kwayland, kodwa ikhululwe ekubopheni ukuya Qt. Ikhowudi isasazwa phantsi kweelayisensi ze-GPLv2 kunye ne-LGPLv2.

Injongo yeprojekthi kukurisayikilisha i-KWin ne-KWayland kusetyenziswa
Itekhnoloji yale mihla kunye nezenzo zophuhliso ezikuvumela ukuba ukhawulezise uphuhliso lweprojekthi, uhlengahlengise ikhowudi, ukongeza ulungelelwaniso kunye nokwenza lula ukongezwa kwezinto ezintsha ezisisiseko, ukudityaniswa kwayo kwi-KWin kwimo yayo yangoku kunzima. I-KWinFT kunye ne-Wrapland zingasetyenziselwa ukuvala i-KWin kunye ne-KWayland ngaphandle komthungo, kodwa azikhawulelwanga yi-KWin yokutshixa-ngaphakathi kweemveliso ezininzi apho ukugcina ukuhambelana okupheleleyo kuyinto ephambili enqanda ukutsha ekuqhubeleni phambili.

Nge-KWinFT, abaphuhlisi banesandla sasimahla sokuvavanya izinto ezintsha ngelixa begcina uzinzo ngokusebenzisa iindlela zophuhliso zangoku. Ngokomzekelo, ukujonga ikhowudi ye-KWinFT, inkqubo yokudibanisa eqhubekayo isetyenzisiweyo, kubandakanywa ukuqinisekiswa usebenzisa iilitha ezahlukeneyo, ukuveliswa ngokuzenzekelayo kweendibano kunye novavanyo olubanzi. Ngokubhekiselele kuphuhliso lomsebenzi, eyona ngqwalasela iphambili ye-KWinFT iya kuba kukubonelela ngenkxaso yeprotocol ekumgangatho ophezulu nepheleleyo
I-Wayland, kuquka nokusebenza kwakhona kwe-KWin iimpawu zoyilo ezenza nzima ukudityaniswa ne-Wayland.

Phakathi kwezinto ezintsha zovavanyo esele zongezwe kwi-KWinFT zezi:

  • Inkqubo yokuhlanganisa iye yaphinda yasetyenziswa, eye yaphucula kakhulu unikezelo lomxholo oqhuba i-X11 kunye ne-Wayland. Ukongeza, isibali-xesha songezwe ukunciphisa ulibaziseko phakathi kokwenziwa komfanekiso kunye nokuboniswa kwawo kwiscreen.
  • Kwenziwa ulwandiso kwiprothokholi yaseWayland "umboniseli", ivumela umxhasi ukuba enze umlinganiselo wecala leseva kunye nokucutha imiphetho yomhlaba. Idityaniswe nokukhutshwa okukhulu okulandelayo kwe-XWayland, ulwandiso luya kubonelela ngokukwazi ukulinganisa utshintsho lwesisombululo sesikrini kwimidlalo emidala.
  • Inkxaso epheleleyo yokujikeleza kunye nemveliso yesipili kwiiseshoni ezise-Wayland-based.

I-Wrapland inikeza ujongano lwenkqubo ye-Qt-style ebonelela ngokufikelela kwimisebenzi ye-libwayland ngendlela ekulula ukuyisebenzisa kwiiprojekthi ze-C ++. I-Wrapland ekuqaleni yayicetywe ukuba iphuhliswe njengefolokhwe ye-KWayland, kodwa ngenxa yemeko enganelisiyo yekhowudi ye-KWayland, ngoku ithathwa njengeprojekthi yokulungisa ngokupheleleyo i-KWayland. Owona mahluko ubalulekileyo phakathi kwe-Wrapland kunye ne-KWayland kukuba ayisabotshelelwa kwi-Qt kwaye ingasetyenziswa ngokwahlukeneyo ngaphandle kokuhlohla i-Qt. Kwixesha elizayo, i-Wrapland ingasetyenziswa njengelayibrari yendalo yonke kunye ne-C ++ API, ukuphelisa imfuno yabaphuhlisi ukuba basebenzise i-libwayland C API.

Iiphakheji esele zilungile zenzelwe abasebenzisi beManjaro Linux. Ukusebenzisa i-KWinFT, faka nje kwinft kwindawo yokugcina, kunye nokuqengqeleka umva kumgangatho we-KWin, faka i-kwin package. Usebenziso lwe Wrapland alukhawulelwanga kwi KDE, umzekelo, uphumezo lomxhasi lulungiselelwe ukusetyenziswa kwi wlroots iprotocol yolawulo lwemveliso, evumela abancedisi abadibeneyo basekwe kwi wlroots (Sway, Umlilo wendlela) sebenzisa i KScreen ukwenza ngokusesikweni imveliso.

Okwangoku, qhubeka uhlaziyo lweprojekthi luya kupapashwa I-KWin-lowlatency, ukwenza uhlelo lomphathi we-KWin odibeneyo kunye neepetshi ukunyusa ukuphendula kojongano kunye nokulungisa iingxaki ezithile ezinxulumene nesantya sokuphendula kwizenzo zomsebenzisi, njengokuthintitha kwegalelo. Ukongeza kwi-DRM VBlank, i-KWin-lowlatency ixhasa ukusetyenziswa kwe-glXWaitVideoSync, i-glFinish okanye i-NVIDIA VSync ukubonelela ngokhuseleko lokukrazula ngaphandle kwefuthe elibi lokuphendula (ukhuseleko lwe-KWin lwantlandlolo lokukrazula luphunyezwa kusetyenziswa isibali-xesha kwaye kunokukhokelela ekuphumeni kwexesha elikhulu (ukuya kuthi ga kwi-50ms) kwaye, ngenxa yoko, ukulibaziseka kwimpendulo xa igalelo). Ukukhutshwa okutsha kwe-KWin-lowlatency kungasetyenziswa endaweni ye-stock composite server kwi-KDE Plasma 5.18.

umthombo: opennet.ru

Yongeza izimvo