KWinFT, o se tui o KWin taulaʻi i Wayland, faʻafeiloaʻi

Roma Gilg, auai i le atinaʻeina o KDE, Wayland, Xwayland ma le X Server, faʻalauiloa le poloketi KWinFT (KWin Fast Track), atia'e se fa'aoga fetu'una'i ma faigofie ona fa'aogaina mo Wayland ma le X11 fa'avae i luga ole codebase Kwin. I le faaopoopo atu i le pule o le faamalama, o le poloketi foi e atiina ae se faletusi fanua afifi faʻatasi ai ma le faʻatinoina o se faʻamauina i luga o libwayland mo Qt / C ++, faʻaauauina atinaʻe KWayland, ae faasaoloto mai le fusia i Qt. O le fa'ailoga o lo'o tufatufaina i lalo ole laisene GPLv2 ma LGPLv2.

O le sini o le poloketi o le toe fa'aaogaina o KWin ma KWayland
tekinolosi faʻaonaponei ma faiga faʻavae e mafai ai e oe ona faʻavavevave le atinaʻeina o le poloketi, toe faʻaleleia le tulafono, faʻaopoopo faʻataʻitaʻiga ma faʻafaigofie le faʻaopoopoga o mea fou faʻavae, o le tuʻufaʻatasia lea i le KWin i lona tulaga o loʻo i ai nei e faigata. KWinFT ma Wrapland e mafai ona faʻaaogaina e sui ai KWin ma KWayland, ae e le faʻatapulaʻaina e le KWin loka-i totonu o le tele o oloa lea o le tausisia o le fetaui atoatoa o se mea e ave i ai le faamuamua e taofia ai le fou mai le agai i luma.

Faatasi ai ma le KWinFT, e maua e le au atinaʻe le lima saoloto e faʻataʻitaʻi ai foliga fou aʻo tumau pea le mautu e ala i le faʻaogaina o auala faʻaonaponei faʻaonaponei. Mo se faʻataʻitaʻiga, e siaki le code KWinFT, o loʻo faʻaaogaina se faiga faʻapipiʻi faʻaauau, e aofia ai le faʻamaonia o le faʻaaogaina o linters eseese, faʻatupuina otometi o faʻapotopotoga ma suʻega faʻapitoa. I tulaga o le atina'eina o galuega, o le taulaiga autu a le KWinFT o le a tu'uina atu le lagolago maualuga ma atoatoa
Wayland, e aofia ai le toe galueaina KWin faʻataʻitaʻiga faʻataʻitaʻiga e faʻalavelave faʻatasi ma Wayland.

Faatasi ai ma faʻataʻitaʻiga faʻafouga ua uma ona faʻaopoopoina i le KWinFT o:

  • Ua toe fa'aleleia le faiga o le tu'ufa'atasiga, lea ua fa'aleleia atili ai le tu'uina atu o mea o lo'o fa'aogaina X11 ma Wayland. E le gata i lea, ua faʻaopoopoina se taimi e faʻaitiitia ai le tuai i le va o le fausiaina o se ata ma lona faʻaaliga i luga o le lau.
  • Faʻatinoina se faʻaopoopoga i le Wayland protocol "tagata matamata“, fa'atagaina le tagata o tausia e fa'atino le fa'avasegaina o le itu-aumau ma le tipiina o pito i luga. Faʻatasi ma le isi faʻasalalauga tele o le XWayland, o le faʻaopoopoga o le a maua ai le malosi e faʻataʻitaʻi ai suiga o le faʻaiʻuga mo taʻaloga tuai.
  • Lagolago atoatoa mo le feliuliua'i ma fa'ata fa'ata'ita'iga mo sauniga fa'avae i Wayland.

Ua saunia e Wrapland se atinaʻe polokalame Qt-style e maua ai le avanoa i galuega a libwayland i se faiga faigofie e faʻaoga i galuega C ++. O le Wrapland na muai fuafuaina e fausia e avea o se tui o KWayland, ae ona o le tulaga le lelei o le code KWayland, ua manatu nei o se poloketi e toe faʻaleleia atoatoa KWayland. O le eseesega pito sili ona taua i le va o Wrapland ma KWayland o le le toe nonoa i Qt ma e mafai ona faʻaoga ese e aunoa ma le faʻapipiʻiina o Qt. I le lumanaʻi, e mafai ona faʻaaogaina le Wrapland e fai ma faletusi lautele ma le C++ API, faʻaumatia le manaʻoga mo tagata atiae e faʻaoga le libwayland C API.

O afifi ua saunia e faia mo tagata Manjaro Linux. Mo le fa'aogaina o le KWinFT, na'o le fa'apipi'i o le kwinft mai le fale teu oloa, ma toe fo'i i tua i le KWin masani, fa'apipi'i le afifi kwin. O le fa'aogaina o le Wrapland e le fa'atapula'aina ile KDE, mo se fa'ata'ita'iga, ua saunia se fa'atinoga o tagata fa'atau mo le fa'aogaina i totonu wlroots fa'atonuga fa'atonuga, fa'ataga i 'au'aunaga tu'ufa'atasi e fa'avae i luga o wlroots (Sway, Afi afi) fa'aaoga le KScreen e fa'avasega ai le gaioiga.

I le taimi nei, faaauau o le a fa'asalalauina fa'amatalaga o galuega KWin-maualalo, faia o se lomiga o le KWin composite manager ma patches e faʻateleina ai le tali atu o le atinaʻe ma faʻaleleia nisi o faʻafitauli e fesoʻotaʻi ma le saoasaoa o le tali atu i gaioiga a tagata faʻaoga, e pei o le faʻaogaina o le faʻaogaina. I le faaopoopo atu i le DRM VBlank, KWin-lowlatency e lagolagoina le faʻaogaina o le glXWaitVideoSync, glFinish poʻo le NVIDIA VSync e tuʻuina atu ai le puipuiga mai le saeia e aunoa ma le afaina ai o le tali atu (O le puipuiga muamua a le KWin e faʻaaogaina e faʻaaoga ai se taimi ma e mafai ona taʻitaʻia ai le tele o latencies (e oo atu i le 50ms) gaioiga. ma, o se taunuuga, o se tuai i le tali pe a faʻapipiʻi). O faʻasalalauga fou o le KWin-lowlatency e mafai ona faʻaogaina nai lo le faʻamaumauga tuʻufaʻatasia i KDE Plasma 5.18.

puna: opennet.ru

Faaopoopo i ai se faamatalaga