Ko KWinFT, he marau o KWin i arotahi ki Wayland, i whakaurua

Roman Gilg, whai wāhi i te whakawhanaketanga o KDE, Wayland, Xwayland me X Server, whakaurua tauira KWinFT (KWin Tere Tere), te whakawhanake i tetahi kaiwhakahaere matapihi hiato ngawari me te ngawari ki te whakamahi mo Wayland me X11 i runga i te turanga waehere Kwin. I tua atu i te kaiwhakahaere matapihi, ka whakawhanakehia e te kaupapa he whare pukapuka whenua takai me te whakatinanatanga o te herenga ki runga i te libwayland mo Qt/C++, te whakawhanake tonu KWayland, engari ka wetekina mai i te here ki te Qt. Ka tohatohahia te waehere i raro i nga raihana GPLv2 me LGPLv2.

Ko te whainga o te kaupapa ko te hangarua i a KWin me KWayland te whakamahi
nga hangarau hou me nga mahi whakawhanaketanga e taea ai e koe te tere ake te whanaketanga o te kaupapa, te whakahou i te waehere, te taapiri i nga arotautanga me te whakangawari i te taapiri o nga mahi hou, he uaua te whakauru ki roto i te KWin i tona ahua o naianei. Ka taea te whakamahi i te KWinFT me te Wrapland ki te whakakapi marie i a KWin me KWayland, engari karekau i te herea e te maukati KWin o nga hua maha ko te pupuri i te hototahitanga te kaupapa matua hei aukati i te ahu whakamua.

Ma te KWinFT, ka whai waahi nga kaiwhakawhanake ki te whakamatau i nga ahuatanga hou i te wa e mau tonu ana ma te whakamahi i nga tikanga whanaketanga hou ake. Hei tauira, ki te tirotiro i te waehere KWinFT, ka whakamahia he punaha whakauru tonu, tae atu ki te manatoko ma te whakamahi i nga raina rereke, te whakaputa aunoa o nga huihuinga me nga whakamatautau nui. Mo te whanaketanga mahi, ko te kaupapa matua o KWinFT ko te whakarato i te tautoko kawa-kounga teitei me te whakaoti
Wayland, tae atu ki te mahi ano i nga ahuatanga hoahoanga a KWin e whakararu ana i te tuitui me Wayland.

I roto i nga whakahoutanga whakamatautau kua whakauruhia ki KWinFT ko:

  • Kua mahi ano te mahi tito, i tino pai ake te whakaputanga o nga ihirangi e whakahaere ana i te X11 me Wayland. I tua atu, kua taapirihia he matawā hei whakaiti i nga whakaroa i waenga i te hanga whakaahua me tona whakaaturanga ki te mata.
  • I whakatinanahia he toronga ki te kawa Wayland "kaitirotiro", ka tuku i te kiritaki ki te mahi i te whakatauine taha-tūmau me te kuti i nga taha o te mata. Ka honoa me te tukunga nui e whai ake nei o XWayland, ka whakawhiwhia e te toronga te kaha ki te whai i nga huringa taumira mata mo nga keemu tawhito.
  • Katoa te tautoko mo te hurihanga me te whakaata i nga putanga mo nga huihuinga-a-Wayland.

E whakarato ana a Wrapland i tetahi atanga hootaka ahua-Qt e uru ana ki nga mahi libwayland i roto i te ahua ngawari ki te whakamahi i roto i nga kaupapa C++. Ko te Wrapland i whakaritea i te tuatahi kia whakawhanakehia hei marau mo KWayland, engari na te kore pai o te waehere KWayland, kei te whakaarohia inaianei hei kaupapa ki te whakatikatika katoa i a KWayland. Ko te rereketanga nui i waenga i a Wrapland me KWayland kua kore e herea ki te Qt ka taea te whakamahi wehe me te kore e whakauru i te Qt. I te wa kei te heke mai, ka taea te whakamahi a Wrapland hei whare pukapuka mo te ao me te C++ API, ka whakakore i te hiahia mo nga kaihanga ki te whakamahi i te libwayland C API.

Ka hangaia nga kete kua rite mo nga kaiwhakamahi Manjaro Linux. Hei whakamahi i te KWinFT, whakauruhia te kwinft mai i te putunga, ka hoki ki te KWin paerewa, whakauruhia te kete kwin. Ko te whakamahinga o Wrapland ehara i te mea iti ki te KDE, hei tauira, kua whakaritea he whakatinanatanga a te kiritaki hei whakamahi i roto wlroots kawa mana whakaputa, ka taea i roto i nga tūmau hiato i runga i nga wlroots (Tuhinga, Puke) whakamahi KScreen ki te whakarite i te putanga.

I taua wa haere tonu ka whakaputaina nga whakahou kaupapa KWin-iti, te hanga i te putanga o te kaiwhakahaere hiato KWin me nga papaki hei whakanui ake i te urupare o te atanga me te whakatika i etahi raruraru e pa ana ki te tere o te whakautu ki nga mahi a te kaiwhakamahi, penei i te pupuhi whakauru. I tua atu i te DRM VBlank, ka tautokohia e KWin-lowlatency te whakamahi i te glXWaitVideoSync, glFinish, NVIDIA VSync ranei hei whakamarumaru ki te haehae me te kore e pa kino ki te urupare (kua whakatinanahia te whakamarumaru haehae taketake a KWin ma te whakamahi i te taima ka taea te arahi ki nga waahi nui (tae atu ki te 50ms) putanga a, ko te mutunga, he roa te whakautu i te wa e whakauru ana). Ko nga putanga hou o te KWin-lowlatency ka taea te whakamahi hei utu mo te tūmau hiato kararehe i KDE Plasma 5.18.

Source: opennet.ru

Tāpiri i te kōrero