Efter Ätta mÄnaders utveckling har den stabila versionen av Wayland-protokollet, dess mekanism för interprocesskommunikation och biblioteken 1.25 presenterats. Grenen 1.25 Àr bakÄtkompatibel pÄ API- och ABI-nivÄ med versionerna 1.x och innehÄller frÀmst buggfixar och mindre uppdateringar av protokollet. Projektets arbeten distribueras under MIT-licensen. Referenskompositservern Weston, som tillhandahÄller kod och arbetsprover för att anvÀnda Wayland i skrivbordsmiljöer och inbyggda lösningar, utvecklas inom ramen för en separat utvecklingscykel.
Huvudsakliga förÀndringar i protokollet:
- Dokumentationen har konverterats frÄn DocBook-formatet till mdBook (Markdown).
- Wayland XML-dialekten, innehÄllsuppdateringsmodellen och möjligheterna för fÀrghantering Àr helt dokumenterade.
- En ny egenskap 'frozen' har lagts till för grÀnssnitt med flera förÀldragrÀnssnitt.
- En ny begÀran wl_surface.get_release har lagts till för att fÄ en avisering om frigörandet av en buffert som kopplats av klienten via wl_surface.attach. Till skillnad frÄn wl_buffer.release Àr aviseringen i wl_surface.get_release kopplad till en specifik renderingstillfÀlle.
- Funktionen wl_display_dispatch_pending_single() har lagts till, vilket gör att ett enda hÀndelse kan hÀmtas frÄn hÀndelsekön och behandlas, istÀllet för att hantera alla ackumulerade hÀndelser som wl_display_dispatch_pending() gör.
- FÀrgerna för debug-utdata WAYLAND_DEBUG har sÀkerstÀllts.
De tillagda protokollutvidgningarna sedan Wayland 1.25:s utgivning, som kompletterar det grundlÀggande Wayland-protokollet och levereras i ett separat paket Wayland-Protocols:
- xx-input-method â gör det möjligt för applikationer att implementera textinmatningsmetoder för kompositörer servrar och formar den inmatade texten, vilket kan anvĂ€ndas för att skapa virtuella tangetbord och IME-lager (Input Method Editor) för att hantera inmatning.
- xx-text-input â tillĂ„ter kompositservrar att implementera metoder för inmatning och skicka text till applikationer. Protokollet standardiserar interaktionen mellan kompositen servern och applikationer, och möjliggör hantering av funktioner som överföring av inmatad text, behandling av hĂ€ndelser om fokusĂ€ndringar och hĂ€nsyn till specifika inmatningsfĂ€lt (sprĂ„k, textmarkering, innehĂ„llstyp).
- Protokollen color-management-v1 och color-representation-v1 har förbÀttrats, vilket ger möjligheter för fÀrghantering, HDR-stöd och definiering av fÀrgrepresentationen för Wayland-yta.
De mest anmÀrkningsvÀrda hÀndelserna relaterade till Wayland som intrÀffat sedan publiceringen av den senaste versionen:
- I GNOME 50 har stödet för X11 tagits bort. I KDE Plasma 6.8 har man beslutat att upphöra med stödet för X11.
- JetBrains övergÄr IDE IntelliJ till att anvÀnda Wayland som standard.
- Xfce har tillkÀnnagett kompositservern Xfwl4, som anvÀnder Wayland.
- Skrivbordsmiljön Budgie 10.10 har överförts till Wayland.
- QNX Developer Desktop baserat pÄ Wayland.
- Marathon OS â en mobil OS baserat pĂ„ Wayland.
- UtgÄvan Wayback, ett lager för att köra X11-skrivbord med Wayland-komponenter.
- Cinnamon har lagt till en valfri möjlighet att installera sessionsfiler för Wayland och har implementerat funktionen att byta tangentbordslayout vid anvÀndning av Wayland.
- I drivrutinen wine har stöd för urklipp, inmatningsmetoder, icke-rektangulÀra fönster och transparens implementerats nÀr man arbetar i miljöer baserade pÄ Wayland.
- Cairo-Dock har fÄtt stöd för Wayland.
- Uppdatering av komposit-serverar: Weston 15.0, River 0.4.0, Hyprland 0.54, labwc 0.9.4, Niri 25.11, miracle-wm 0.8, Wayfire 0.10, wlmaker 0.6, labwc 0.9.0.
Det Àr vÀrt att pÄminna om att Wayland Àr ett protokoll för interaktion mellan kompositorer servern och applikationer som anvÀnder det. Klienterna renderar sjÀlva sina fönster i en separat buffer och skickar information om uppdateringar till kompositorn. servern, som kombinerar innehÄllet frÄn de individuella applikationernas buffertar för att skapa den slutliga utdata med beaktande av möjliga detaljer, sÄsom fönsteröverlÀgg och transparens. Med andra ord erbjuder kompositservern ingen API för att rita enskilda element, utan hanterar endast redan bildade fönster, vilket möjliggör att man slipper dubbla buffertar vid anvÀndning av högre nivÄbibliotek, som GTK och Qt, som tar pÄ sig uppgiften att kompilera innehÄllet i fönstren.
Wayland löser mÄnga sÀkerhetsproblem med X11, eftersom den isolerar in- och utdata för varje fönster, hindrar klienter frÄn att fÄ tillgÄng till innehÄllet i andra kunders fönster och förhindrar fÄngst av inmatningsevent kopplade till andra fönster. Stöd för direkt arbete med Wayland har implementerats för de flesta grafiska bibliotek som anvÀnds i Linux, inklusive GTK, Qt, SDL, FLTK, wxWidgets, Clutter och EFL (Enlightenment Foundation Library).
Interaktionen med hÄrdvaran i Wayland/Weston, till exempel initiering, videolÀgesvÀxling (drm modesetting) och minneshantering (GEM för i915 och TTM för radeon och nouveau) av grafikkort kan ske direkt genom en modul som arbetar pÄ kÀrnnivÄ, vilket gör det möjligt att undvika superanvÀndarbehörighet. För att möjliggöra körning av vanliga X11-applikationer i en Wayland-baserad miljö anvÀnds DDX-komponenten XWayland (Device-Dependent X), som liknar hur Xwin och Xquartz fungerar för plattformar som Win32 och macOS.


KĂ€lla: opennet.ru
