Post kvar monatoj da disvolviĝo, la stabila eldono de la protokolo Wayland 1.26, interproceza komunikada mekanismo, kaj bibliotekoj estis publikigita. La branĉo 1.26 estas retrokongrua je la API kaj ABI nivelo kun la eldonoj 1.x kaj enhavas ĉefe cimo-korektojn kaj negravajn protokol-ĝisdatigojn. La laboro de la projekto estas distribuita sub la MIT-licenco. Referenca kombinaĵo servilo Weston, kiu provizas kodon kaj funkciajn ekzemplojn por uzi Wayland en skribtablaj kaj enigitaj medioj, estas evoluigita en aparta evoluiga ciklo.
Gravaj ŝanĝoj en la protokolo:
- Aldonis la eventon wl_pointer.warp, kiu permesas al vi ricevi sciigojn pri la nova pozicio de la montrilo sen pritrakti la eventon wl_pointer.motion generitan de uzantagado.
- Aldonis la peton wl_fixes.ack_global_remove, kiu celas sendi konfirmon al la komponita administrilo, ke la kliento ĉesis prilabori la okazaĵon, por eviti konkurenckondiĉojn dum forigo de tutmondaj okazaĵoj. Post ricevo de konfirmo de ĉiuj klientoj, la komponita administrilo povas forigi la traktilon asociitan kun la okazaĵo ĉe sia flanko.
- Aldonis la funkcion wl_display_remove_socket_fd() por forigi ingojn antaŭe aldonitajn per la alvoko wl_display_add_socket_fd().
- En la erarserĉa reĝimo WAYLAND_DEBUG, tempo estas registrita en la formato "HH:MM:ss.xxxxxx", simpligante la protokolanalizon kaj komparon.
Protokolaj etendaĵoj aldonitaj ekde la antaŭa eldono de Wayland, kiuj kompletigas la kernan Wayland-protokolon kaj estas liveritaj en aparta Wayland-Protokola aro:
- xx-frakcia-skalo — por skali logikan koordinatsistemon, en kiu valoroj estas specifitaj kiel entjeroj, por plibonigi poziciigan precizecon kaj pliigi la distingivon de logikaj koordinatoj ĝis individuaj pikseloj. Ĉi tiu funkcio solvas la problemon de la limigita distingivo de la logika koordinatsistemo, kiu ne sufiĉas por poziciigo je la individua piksela nivelo, kio estas necesa por la plena efektivigo de frakcia skalado.
- xx-eltondaĵoj — por ricevi informojn pri eltondaĵoj sur la ekrano (ekzemple, la areo sub la antaŭa fotilo sur la ekrano de la inteligenta telefono).
- xx-zonoj — por krei kaj aldoni ĉefnivelajn fenestrojn al "zonoj" — medioj kun propra koordinata spaco. La protokolo permesas logikan aranĝon de fenestroj, en kiu ĉiu fenestro estas poziciigita relative al ĉiu alia fenestro.
- xx-keyboard-filter — por ke la kliento interkaptu elektitajn klavarajn eventojn, modifu enigajn eventojn, aŭ bloku certajn eventojn de pasado al la fokusita Wayland-surfaco.
- La protokolo xdg-session-management estis aldonita al la stariga kategorio, provizante la kapablon restarigi la staton kaj pozicion de fenestroj post interrompita sesio en medioj bazitaj sur la protokolo Wayland, ekzemple, post komponita kraŝo. servilo aŭ aplikoj.
- La protokolo "linux-dmabuf" estis ĝisdatigita por subteni plur-GPU-sistemojn. Ĉe tiaj sistemoj, la kliento povas negoci kompozitan servilo kiun GPU-on oni uzu.
- La protokolo "color-management-v1" estis ĝisdatigita por subteni bildmetadatenojn BT.2100 por uzo en kompozita arkitekturo. servilo specifaj traktiloj kiuj ebligas la ĝustan montradon de HDR-enhavo kreita por Windows.
Rimarkindaj eventoj rilataj al Wayland ekde la publikigo de la lasta numero:
- Cinamo plene subtenas Wayland.
- En la biblioteko ANGLE uzata en Chrome kaj Android, Aldonita subteno por Wayland.
- KDE, uzante Wayland, efektivigas subtenon por seancrestarigo kaj la protokolon xx-fractional-scale-v2 Wayland por frakcia skalado.
- Pordo de la pelilo Synaptics X.Org estis kreita por Wayland-bazitaj medioj.
- Preteckontrolo por platformoj por vidaj efikoj kaj animacioj por anstataŭigi X11 per Wayland estas komencita.
- Komenciĝis la testado de la kompozita servilo Xfwl4 el la projekto Xfce.
- La uzantinterfaco de Unity estis rekreita uzante Wayfire kaj Libadwaita.
- Ĝisdatigitaj komponitaj serviloj kaj grafikaj labortabloj: 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.
Ni memoru, ke Wayland estas protokolo por interagado inter kompozita servilo kaj aplikaĵoj funkciantaj sur ĝi. Klientoj bildigas siajn fenestrojn sendepende en aparta bufro, pasante ĝisdatigajn informojn al la kompozita servilo. servilo, kiu kombinas la enhavon de individuaj aplikaĵaj bufroj por generi la finan rezulton, konsiderante eblajn nuancojn kiel fenestra interkovro kaj travidebleco. Alivorte, la kompozita servilo ne provizas API-on por bildigi individuajn elementojn, sed funkcias nur sur antaŭ-bildigitaj fenestroj, eliminante duoblan bufradon dum uzado de altnivelaj bibliotekoj kiel GTK kaj Qt, kiuj prizorgas la laboron de verkado de fenestra enhavo.
Wayland solvas multajn el la sekurecaj problemoj de X11 en X.Org Server, ĉar, male al ĉi-lasta, ĝi izolas enigojn kaj eligojn por ĉiu fenestro, ne permesas al kliento aliri la enhavon de la fenestroj de aliaj klientoj, kaj ne permesas interkapton de enigaj eventoj rilataj al aliaj fenestroj (XLibre XServer efektivigas la X11-etendaĵon Xnamespace, kiu provizas klientan izoladon per apartigo je la nomspaca nivelo). Subteno por rekta laboro kun Wayland estas efektivigita por la plej multaj el la platformoj uzataj en Linux grafikaj bibliotekoj inkluzive de GTK, Qt, SDL, FLTK, wxWidgets, Clutter, kaj EFL (Enlightenment Foundation Library).
Interagado kun aparataro en Wayland/Weston, kiel ekzemple inicialigo, ŝanĝo de videoreĝimo (DRM-reĝimagordo), kaj memoradministrado (GEM por i915 kaj TTM por Radeon kaj Nouveau) por grafikaj kartoj, povas esti plenumata rekte per kerna-nivela modulo, forigante la bezonon de superuzanto-privilegioj. Por certigi la plenumon de normaj X11-aplikaĵoj en Wayland-bazita medio, la XWayland (Device-Dependent X) DDX-komponento estas uzata, kiu funkcias simile al Xwin kaj Xquartz por Win32 kaj macOS.
fonto: opennet.ru
