Neljän kuukauden kehityksen jälkeen Wayland 1.26 -protokollan, prosessien välisen kommunikaatiomekanismin ja kirjastojen vakaa versio on julkaistu. 1.26-haara on API- ja ABI-tasolla taaksepäin yhteensopiva 1.x-julkaisujen kanssa ja sisältää pääasiassa virheenkorjauksia ja pieniä protokollapäivityksiä. Projektin työ jaetaan MIT-lisenssillä. Referenssikomposiitti palvelin Weston, joka tarjoaa koodia ja työesimerkkejä Waylandin käyttöön työpöytä- ja sulautetuissa ympäristöissä, kehitetään erillisessä kehityssyklissä.
Tärkeimmät muutokset pöytäkirjaan:
- Lisätty wl_pointer.warp-tapahtuma, jonka avulla voit vastaanottaa ilmoituksia osoittimen uudesta sijainnista käsittelemättä käyttäjän toiminnan luomaa wl_pointer.motion-tapahtumaa.
- Lisätty wl_fixes.ack_global_remove-pyyntö, jonka tarkoituksena on lähettää vahvistus yhdistelmähallintaohjelmalle, että asiakas on lopettanut tapahtuman käsittelyn, jotta vältetään kilpailutilanteet globaaleja tapahtumia poistettaessa. Saatuaan vahvistuksen kaikilta asiakkailta, yhdistelmähallintaohjelma voi poistaa tapahtumaan liittyvän käsittelijän omalta puoleltaan.
- Lisätty wl_display_remove_socket_fd()-funktio aiemmin wl_display_add_socket_fd()-kutsun kautta lisättyjen sokettien poistamiseen.
- WAYLAND_DEBUG-virheenkorjaustilassa aika kirjataan muodossa "HH:MM:ss.xxxxxx", mikä yksinkertaistaa lokien jäsentämistä ja vertailua.
Waylandin edellisen julkaisun jälkeen lisätyt protokollalaajennukset, jotka täydentävät Waylandin ydinprotokollaa ja toimitetaan erillisessä Wayland-protokollasarjassa:
- xx-murtoluku - loogisen koordinaatiston skaalaamiseen, jossa arvot määritetään kokonaislukuina, paikannustarkkuuden parantamiseksi ja loogisten koordinaattien resoluution lisäämiseksi yksittäisiin pikseleihin asti. Tämä ominaisuus ratkaisee loogisen koordinaatiston rajallisen resoluution ongelman, joka ei riitä yksittäisten pikselien tasolla tapahtuvaan paikannukseen, mikä on välttämätöntä murtolukuisen skaalauksen täydelliselle toteuttamiselle.
- xx-leikkaukset — saadaksesi tietoja näytön leikkauksista (esimerkiksi älypuhelimen näytön etukameran alla olevasta alueesta).
- xx-vyöhykkeet — ylimmän tason ikkunoiden luomiseen ja lisäämiseen "vyöhykkeisiin" — ympäristöihin, joilla on oma koordinaatistotila. Protokolla mahdollistaa ikkunoiden loogisen järjestelyn, jossa jokainen ikkuna on sijoitettu suhteessa kaikkiin muihin ikkunoihin.
- xx-keyboard-filter — jotta asiakas voi siepata valittuja näppäimistötapahtumia, muokata syöttötapahtumia tai estää tiettyjen tapahtumien välittämisen Waylandin keskitetylle pinnalle.
- xdg-session-management-protokolla on lisätty testiympäristöön. Se mahdollistaa ikkunoiden tilan ja sijainnin palauttamisen keskeytetystä istunnosta Wayland-protokollaan perustuvissa ympäristöissä, esimerkiksi yhdistetyn kaatumisen jälkeen. palvelin tai sovelluksia.
- "linux-dmabuf"-protokollaa on päivitetty tukemaan usean näytönohjaimen järjestelmiä. Tällaisissa järjestelmissä asiakas voi neuvotella komposiittiprotokollasta palvelin mitä näytönohjainta tulisi käyttää.
- Color-management-v1 -protokollaa on päivitetty tukemaan BT.2100-kuvan metatietoja komposiittikuvauksessa. palvelin erityiset käsittelijät, jotka mahdollistavat luodun HDR-sisällön oikean näyttämisen Windows.
Merkittäviä Waylandiin liittyviä tapahtumia edellisen numeron julkaisun jälkeen:
- Kanelilla on täysi tuki Waylandille.
- Chromessa käytetyssä ANGLE-kirjastossa ja AndroidWaylandin tuki lisätty.
- KDE toteuttaa Waylandia käyttäessään istunnon palautustuen ja xx-fractional-scale-v2 Wayland -protokollan murtolukuista skaalausta varten.
- Synaptics X.Org -ajurin porttaus on luotu Wayland-pohjaisiin ympäristöihin.
- Visuaalisten efektien ja animaatioiden alustojen valmiustarkistus X11:n korvaamiseksi Waylandilla on aloitettu.
- Xfce-projektin Xfwl4-komposiittipalvelimen testaus on alkanut.
- Unityn käyttöliittymä on luotu uudelleen käyttämällä Wayfirea ja Libadwaitaa.
- Päivitetyt yhdistelmäpalvelimet ja työpöytäympäristöt: COSMIC 1.3.0, Weston 16, Phosh 0.56, Nourish 1.0.0, miracle-wm 0.10, KDE Plasma 6.7, labwc 0.20, Sway 1.2, Wayland Maker 0.8, Hyprland 0.55, Niri 26.04, LXQt 2.4.0, Cage 0.3.
Muistetaan, että Wayland on protokolla komposiittipalvelimen ja siinä suoritettavien sovellusten väliseen vuorovaikutukseen. Asiakkaat renderöivät ikkunansa itsenäisesti erilliseen puskuriin ja välittävät päivitystiedot komposiittipalvelimelle. palvelin, joka yhdistää yksittäisten sovelluspuskurien sisällön lopullisen tulosteen luomiseksi ottaen huomioon mahdolliset vivahteet, kuten ikkunoiden päällekkäisyyden ja läpinäkyvyyden. Toisin sanoen yhdistelmäpalvelin ei tarjoa API:a yksittäisten elementtien renderöintiin, vaan se toimii vain esirenderöidyissä ikkunoissa, mikä eliminoi kaksinkertaisen puskuroinnin käytettäessä korkean tason kirjastoja, kuten GTK ja Qt, jotka käsittelevät ikkunoiden sisällön kokoamisen työn.
Wayland ratkaisee monia X.Org Serverin X11-tietoturvaongelmia, koska toisin kuin jälkimmäinen, se eristää kunkin ikkunan syötteen ja tulosteen, ei salli asiakkaan pääsyä muiden asiakkaiden ikkunoiden sisältöön eikä salli muihin ikkunoihin liittyvien syötetapahtumien sieppaamista (XLibre XServer toteuttaa X11-laajennuksen Xnamespace, joka tarjoaa asiakkaan eristämisen erottamalla sen nimiavaruustasolla). Tuki suoralle työskentelylle Waylandin kanssa on toteutettu useimmille alustoille, joita käytetään... Linux grafiikkakirjastoja, kuten GTK, Qt, SDL, FLTK, wxWidgets, Clutter ja EFL (Enlightenment Foundation Library).
Vuorovaikutus Waylandin/Westonin laitteiston kanssa, kuten näytönohjainten alustus, videotilan vaihto (DRM-tilan asetus) ja muistinhallinta (GEM i915:lle ja TTM Radeonille ja Nouveaulle), voidaan suorittaa suoraan kernel-tason moduulin kautta, mikä poistaa superkäyttäjän oikeuksien tarpeen. Wayland-pohjaisessa ympäristössä vakio-X11-sovellusten suorittamisen varmistamiseksi käytetään XWayland (Device-Dependent X) DDX -komponenttia, joka toimii samalla tavalla kuin Xwin ja Xquartz Win32:lle ja... macOS.
Lähde: opennet.ru
