KWinFT, ndụdụ KWin lekwasịrị anya na Wayland, ewebata

Roman Gilg, na-ekere òkè na mmepe nke KDE, Wayland, Xwayland na X Server, webatara ọrụ ahụ KWinFT (KWin Fast Track), na-emepe njikwa windo mejupụtara na-agbanwe agbanwe ma dịkwa mfe iji maka Wayland na X11 dabere na codebase. KWIN. Na mgbakwunye na njikwa windo, ọrụ ahụ na-emepekwa ọbá akwụkwọ wrapland na mmejuputa atumatu n'elu libwayland maka Qt/C++, na-aga n'ihu mmepe KWayland, mana enwere onwe ya site na ijikọta na Qt. A na-ekesa koodu ahụ n'okpuru ikikere GPLv2 na LGPLv2.

Ebumnuche nke oru ngo a bụ iji megharịa KWin na KWayland
Teknụzụ ọgbara ọhụrụ na omume mmepe nke na-enye gị ohere ime ka mmepe nke ọrụ ahụ dị ngwa, megharịa koodu ahụ, gbakwunye njikarịcha ma mee ka mgbakwunye nke ihe ọhụrụ dị mfe, ntinye ya na KWin n'ụdị ya ugbu a siri ike. Enwere ike iji KWinFT na Wrapland dochie KWin na KWayland n'enweghị ihe ọ bụla, mana ha anaghị ejedebe site na mkpọchi KWin nke ọtụtụ ngwaahịa ebe ịnọgide na-enwe ndakọrịta zuru oke bụ ihe kacha mkpa na-egbochi mmepụta ihe ọhụrụ ịga n'ihu.

Site na KWinFT, ndị mmepe nwere aka efu iji nwalee njirimara ọhụrụ ka ha na-ejigide nkwụsi ike site na iji usoro mmepe ọgbara ọhụrụ. Dịka ọmụmaatụ, iji lelee koodu KWinFT, a na-eji usoro ntinye aka na-aga n'ihu, gụnyere nkwenye site na iji linters dị iche iche, mgbakọ na-akpaghị aka na ule dị ukwuu. N'ihe gbasara mmepe arụmọrụ, isi ihe KWinFT ga-elekwasị anya ga-abụ inye nkwado dị elu na nkwado zuru oke.
Wayland, gụnyere nrụgharị KWin ụkpụrụ ụlọ nke na-eme ka njikọta na Wayland sie ike.

N'ime ihe ọhụrụ ọhụrụ agbakwunyere na KWinFT bụ:

  • Emegharịrị usoro nhazi ahụ, nke megoro nke ọma n'ịsụgharị ọdịnaya na-agba X11 na Wayland. Na mgbakwunye, agbakwunyere ngụ oge iji belata igbu oge n'etiti imepụta onyonyo na ngosipụta ya na ihuenyo.
  • Tinyere ndọtị na protocol Wayland"onye nlere anya", na-ekwe ka onye ahịa rụọ ọrụ n'akụkụ ihe nkesa na ịkpụcha akụkụ elu. Ejikọtara ya na ntọhapụ XWayland na-esote, ndọtị ahụ ga-enye ikike iṅomi mgbanwe mkpebi ihuenyo maka egwuregwu ochie.
  • Nkwado zuru oke maka ntụgharị na ntugharị enyo maka nnọkọ dabere na Wayland.

Wrapland na-enye interface mmemme ụdị Qt nke na-enye ohere ịnweta ọrụ libwayland n'ụdị dị mfe iji na ọrụ C++. Ebubere atụmatụ imepụta Wrapland ka ọ bụrụ ndụdụ nke KWayland, mana n'ihi enweghị afọ ojuju nke koodu KWayland, a na-ewere ya ugbu a dị ka ọrụ iji mebie KWayland kpamkpam. Ọdịiche kachasị mkpa n'etiti Wrapland na KWayland bụ na ọ dịghịzi njikọ na Qt ma nwee ike iji ya mee ihe iche na-etinyeghị Qt. N'ọdịnihu, enwere ike iji Wrapland dịka ọbá akwụkwọ zuru ụwa ọnụ nwere C++ API, na-ewepụ mkpa maka ndị mmepe iji libwayland C API.

Emebere ngwugwu emebere maka ndị ọrụ Manjaro Linux. Iji jiri KWinFT, naanị tinye kwinft site na ebe nchekwa, wee tụgharịa na KWin ọkọlọtọ, wụnye ngwugwu kwin. Ojiji Wrapland ejedebeghị na KDE, dịka ọmụmaatụ, akwadola mmejuputa ndị ahịa maka ojiji wlroot Usoro njikwa mmepụta, na-enye ohere na sava ihe mejupụtara dabere na wlroots (Sway, Firegba ọkụ) jiri KScreen hazie mmepụta.

Ka ọ dị ugbu a, gaa n'ihu A ga-ebipụta mmelite oru ngo KWin-dị ala, na-emepụta mbipụta nke njikwa ihe mejupụtara KWin nwere patches iji mee ka nzaghachi nke interface ahụ dịkwuo elu ma dozie ụfọdụ nsogbu metụtara ọsọ nke nzaghachi na omume onye ọrụ, dị ka ntinye nsụ. Na mgbakwunye na DRM VBlank, KWin-lowlatency na-akwado iji glXWaitVideoSync, glFinish ma ọ bụ NVIDIA VSync iji nye nchebe pụọ n'ịdọka na-enweghị mmetụta na-adịghị mma (a na-emejuputa nchebe mbụ nke KWin site na iji ngụ oge ma nwee ike iduga na mmepụta nnukwu latencies (ihe ruru 50ms). na, n'ihi ya, igbu oge na nzaghachi mgbe ntinye). Enwere ike iji mwepụta ọhụrụ nke KWin-lowlatency kama ịbụ ihe nkesa mejupụtara ngwaahịa na KDE Plasma 5.18.

isi: opennet.ru

Tinye a comment