Ar ôl 13 mis o ddatblygu, mae'r datganiad sefydlog o brotocol Wayland 1.24, mecanwaith cyfathrebu rhyngbroses, a llyfrgelloedd wedi'i ryddhau. Mae'r gangen 1.24 yn gydnaws yn ôl ar lefel yr API ac ABI gyda'r datganiadau 1.x ac mae'n cynnwys yn bennaf atgyweiriadau namau a diweddariadau protocol bach. Mae datblygiadau'r prosiect wedi'u dosbarthu o dan drwydded MIT. Mae gweinydd cyfansawdd cyfeirio Weston, sy'n darparu cod ac enghreifftiau gweithio ar gyfer defnyddio Wayland mewn amgylcheddau bwrdd gwaith ac atebion mewnosodedig, yn cael ei ddatblygu fel rhan o gylch datblygu ar wahân.
Newidiadau mawr yn y protocol:
- Mae'r rhyngwyneb wl_fixes wedi'i weithredu i fynd i'r afael â phroblemau gydag APIs protocol sylfaenol eraill na ellir eu datrys gan alluoedd brodorol y rhyngwynebau hynny. Er enghraifft, mae'r cais "wl_fixes::destroy_registry" yn caniatáu i'r gwrthrych wl_registry gael ei ddinistrio, ac ar ôl hynny ni fydd y cleient yn gallu ei ddefnyddio, a bydd y gweinydd cyfansawdd yn rhoi'r gorau i anfon digwyddiadau drwyddo.
- Mae'r API wl_keyboard::key yn gweithredu cyflwr ffug "ailadroddus", sy'n dynodi a yw allwedd wedi'i phwyso. Dim ond ar ôl mynd i mewn i'r cyflwr "wedi'i phwyso" y gellir rhoi allwedd yn y cyflwr "ailadroddus", ond cyn mynd i mewn i'r cyflwr "wedi'i ryddhau". Gellir cynhyrchu digwyddiadau sy'n gysylltiedig â'r cyflwr newydd sawl gwaith tra bod yr allwedd yn cael ei phwyso. Mae'r newid hwn yn caniatáu i weinyddion cyfansawdd drin gwasgiadau allweddi ailadroddus fel cyflyrau ar wahân, yn hytrach na dim ond ffrwd o ddigwyddiadau "wedi'u pwyso" ailadroddus, a all fod yn ddefnyddiol ar gyfer rheoli gwasgiadau allweddi. bwrdd gwaith o bell.
- Ychwanegwyd ffwythiannau wl_display_dispatch_queue_timeout() a wl_display_dispatch_timeout() ar gyfer anfon digwyddiadau mewn ciw gan ystyried yr amser terfyn (mae ffwythiannau wl_display_dispatch a wl_display_dispatch_queue yn dychwelyd 0 dim ond os nad oes digwyddiadau, ac mae'r amrywiadau *_timeiout hefyd yn dychwelyd XNUMX pan fydd amser terfyn yn digwydd).
- Ychwanegwyd y ffwythiannau wl_shm_buffer_ref() a wl_shm_buffer_unref() i gael mynediad at y cof a rennir sy'n gysylltiedig â'r byffer wl_shm_buffer ar ôl iddo gael ei ddinistrio (e.e. pan fydd y cleient yn terfynu). Mae'r ffwythiannau'n caniatáu i'r byffer wl_shm_buffer gael ei ddatgysylltu o oes yr adnodd wl_buffer sylfaenol pan fydd angen i'r gweinydd cyfansawdd ohirio'r trawsnewid i gyflwr newydd.
- Ychwanegwyd ffwythiannau wl_proxy_get_interface() a wl_resource_get_interface(), sy'n dychwelyd wl_interface ar gyfer yr adnodd penodedig, sydd mewn galw mewn rhwymiadau ar gyfer ieithoedd â theipio deinamig.
- Ychwanegwyd y ffwythiant wl_resource_post_error_vargs(), sy'n gweithredu fel dewis arall yn lle'r ffwythiant wl_resource_post_error() gyda'r gallu i basio rhestr o ddadleuon ar gyfer fformatio'r llinyn (va_list).
Y digwyddiadau mwyaf nodedig sy'n gysylltiedig â Wayland sydd wedi digwydd ers cyhoeddi'r rhifyn diwethaf:
- Cefnogaeth Wayland well mewn gyrwyr perchnogol NVIDIA.
- Mae KDE yn bwriadu cadw cefnogaeth Wayland yn unig. Gwahanu cod kwin_x11 a kwin_wayland.
- Ubuntu a Kubuntu bydd yn gadael cefnogaeth ar gyfer y sesiwn Wayland yn GNOME a KDE yn unig.
- Dim ond Wayland y mae GDM yn ei gefnogi yn ddiofyn.
- Mae GTK wedi dirymu'r backend X11.
- Bydd Fedora 43 yn tynnu pecynnau a ddefnyddir gan GNOME i redeg ar ben y gweinydd X o'r storfa. Bydd yn rhaid i bob defnyddiwr GNOME sy'n rhedeg X11 newid i sesiwn sy'n seiliedig ar Wayland.
- Dim ond cefnogaeth Wayland fydd gan amgylchedd bwrdd gwaith Budgie.
- Mae Xfce 4.20 yn cyflwyno cefnogaeth rhannol i Wayland.
- MATE 1.28 gyda chefnogaeth arbrofol i Wayland.
- Wayback - Gweinydd cyfansawdd Wayland ar gyfer rhedeg byrddau gwaith sy'n seiliedig ar X11
- Mae Valve wedi lansio Project Frog i gyflymu datblygiad y protocolau Wayland newydd.
- Mae Cosmoe yn llyfrgell GUI sy'n defnyddio Wayland ac API arddull BeOS.
- Galluogi gyrrwr Wayland yn ddiofyn yn Wine.
- Trosglwyddo system weithredu Raspberry Pi i Wayland.
- Rhyddhau pecyn cymorth graffeg FLTK 1.4.0 gyda chefnogaeth Wayland.
- Mae cyfres Wayland-Protocols wedi'i hymestyn gyda chyfnod hyrwyddo protocol ychwanegol, "arbrofol", gyda'r nod o ostwng y rhwystr i integreiddio protocolau, cyflymu'r broses o gyflwyno protocolau i ddatblygwyr, ac annog gweithredu cynnar mewn prosiectau presennol.
- Mae AMD yn datblygu ei weinydd cyfansawdd ACS ei hun gan ddefnyddio Wayland.
- Saith datganiad alffa o'r amgylchedd bwrdd gwaith COSMIC.
- Gweinyddion cyfansawdd wedi'u diweddaru: Weston 14.0, Niri 25.05, Wayland Maker 0.5, miracle-wm 0.5, Hyprland 0.49, labwc 0.8.3, Cage 0.2, Wayfire 0.9, Sway 1.11.
Estyniadau protocol a ychwanegwyd dros y flwyddyn ddiwethaf sy'n ategu'r protocol Wayland sylfaenol ac a gyflenwir mewn set Wayland-Protocols ar wahân:
- rheoli lliw — galluoedd ar gyfer rheoli lliw a chefnogaeth ar gyfer ystod ddeinamig estynedig o ddisgleirdeb (HDR, Ystod Ddynamig Uchel).
- cynrychiolaeth-liw-v1 — yn pennu cynrychiolaeth lliw arwyneb Wayland.
- xdg-toplevel-tag - Yn caniatáu i gleientiaid Wayland atodi tagiau i arwynebau lefel uchaf y gall y gweinydd cyfansoddi eu defnyddio i adnabod ffenestri ar ôl ailgychwyn y rhaglen.
- effaith-cefndir-estynnol - yn rhoi effeithiau ar rannau lled-dryloyw o arwyneb Wayland, fel aneglurder cefndir.
- pwyntydd-warp - Yn caniatáu i raglen symud y pwyntydd ar unwaith i safle penodol.
- rheoli-sesiwn-xx - yn adfer cyflwr ffenestri ar gyfer sesiynau a dorrwyd (er enghraifft, ar ôl damwain rheolwr cyfansawdd).
- xx-input-method — datblygu protocol newydd ar gyfer defnyddio dulliau mewnbwn testun. ext-data-control — yn caniatáu i gleientiaid breintiedig reoli trin data, er enghraifft i weithredu rheolwyr clipfwrdd.
- gweithle allanol — yn gweithredu'r cysyniad virtualnyx rabochikh stolov ac yn cynnig digwyddiadau gyda gwybodaeth am gyflwr byrddau gwaith, yn ogystal â'r gallu i actifadu a dadactifadu byrddau gwaith.
- xdg-system-bell - yn caniatáu ichi allbynnu signal system y gellir ei ddefnyddio, er enghraifft, fel rhybudd mewn efelychydd terfynell.
- xdg-toplevel-icon - ar gyfer atodi eicon i ffenestr lefel uchaf.
- ext-image-capture-source ac ext-image-copy-capture - cipio cynnwys a ddangosir ar y sgrin.
- fifo - yn gweithredu mecanwaith FIFO (cyntaf i mewn, cyntaf allan) ar gyfer prosesu'r ciw ar gyfer diweddaru cynnwys yr arwyneb a ddangosir.
- ymrwymo-amseru - yn eich galluogi i rwymo terfyn amser i'r cynnwys arwyneb (dylai'r gweinydd cyfansawdd adlewyrchu'r newid cynnwys os yn bosibl ar ôl yr amser penodedig, ond nid yn gynharach).
Gadewch inni gofio bod Wayland yn brotocol ar gyfer rhyngweithio rhwng gweinydd cyfansawdd a chymwysiadau sy'n gweithio gydag ef. Mae cleientiaid yn rhoi eu ffenestri eu hunain mewn byffer ar wahân, gan drosglwyddo diweddariadau i'r gweinydd cyfansawdd, sy'n cyfuno cynnwys byfferau cymwysiadau unigol i gynhyrchu allbwn terfynol sy'n ystyried arlliwiau posibl megis gorgyffwrdd ffenestri a thryloywder. Mewn geiriau eraill, nid yw'r gweinydd cyfansawdd yn darparu API ar gyfer rendro elfennau unigol, ond dim ond yn gweithredu ar ffenestri sydd eisoes wedi'u ffurfio, sy'n eich galluogi i gael gwared â byffro dwbl wrth ddefnyddio llyfrgelloedd lefel uchel fel GTK a Qt, sy'n cymryd y gwaith o gyfansoddi cynnwys ffenestri.
Mae Wayland yn datrys llawer o broblemau diogelwch X11, gan ei fod, yn wahanol i X11, yn ynysu mewnbwn ac allbwn ar gyfer pob ffenestr, yn atal cleient rhag cael mynediad at gynnwys ffenestri cleientiaid eraill, ac yn atal rhyng-gipio digwyddiadau mewnbwn sy'n gysylltiedig â ffenestri eraill. Mae cefnogaeth ar gyfer gweithio'n uniongyrchol gyda Wayland wedi'i weithredu ar gyfer y rhan fwyaf o systemau gweithredu a ddefnyddir yn Linux llyfrgelloedd graffeg gan gynnwys GTK, Qt, SDL, FLTK, wxWidgets, Clutter, ac EFL (Llyfrgell Sefydliad yr Oleuedigaeth).
Gellir perfformio rhyngweithio â chaledwedd yn Wayland/Weston, megis cychwyn, newid modd fideo (gosod modd DRM), a rheoli cof (GEM ar gyfer i915 a TTM ar gyfer Radeon a Nouveau) ar gyfer cardiau graffeg, yn uniongyrchol trwy fodiwl lefel cnewyllyn, gan ddileu'r angen am freintiau uwch-ddefnyddiwr. Er mwyn sicrhau bod cymwysiadau safonol X11 yn cael eu gweithredu mewn amgylchedd sy'n seiliedig ar Wayland, defnyddir y gydran DDX XWayland (Device-Dependent X), sy'n debyg o ran gweithrediad i Xwin ac Xquartz ar gyfer Win32 a macOS.


Ffynhonnell: opennet.ru
