Baada ya miezi 13 ya maendeleo, utolewaji thabiti wa itifaki ya Wayland 1.24, utaratibu wa mawasiliano ya mchakato, na maktaba umetolewa. Tawi la 1.24 linaoana nyuma katika kiwango cha API na ABI pamoja na matoleo ya 1.x na lina urekebishaji wa hitilafu na masasisho madogo ya itifaki. Maendeleo ya mradi huo yanasambazwa chini ya leseni ya MIT. Seva ya marejeleo ya Weston, ambayo hutoa msimbo na mifano ya kazi ya kutumia Wayland katika mazingira ya eneo-kazi na suluhu zilizopachikwa, inatengenezwa kama sehemu ya mzunguko tofauti wa maendeleo.
Mabadiliko makubwa katika itifaki:
- Kiolesura cha wl_fixes kimetekelezwa ili kushughulikia masuala na API nyingine za msingi za itifaki ambazo haziwezi kutatuliwa na uwezo asili wa violesura hivyo. Kwa mfano, ombi la "wl_fixes::destroy_registry" huruhusu kitu cha wl_registry kuharibiwa, baada ya hapo mteja hataweza kukitumia, na seva ya mchanganyiko itaacha kutuma matukio kupitia kwayo.
- API ya wl_keyboard::key hutekeleza hali bandia "inayorudiwa", ambayo inaashiria kama ufunguo umebonyezwa. Ufunguo unaweza kuwekwa katika hali ya "kurudiwa" tu baada ya kuingia katika hali ya "kubonyezwa", lakini kabla ya kuingia katika hali ya "kutolewa". Matukio yanayohusiana na hali mpya yanaweza kuzalishwa mara nyingi wakati ufunguo umebonyezwa. Mabadiliko haya huruhusu seva mchanganyiko kushughulikia mibonyezo ya vitufe inayorudiwa kama hali tofauti, badala ya mkondo tu wa matukio "yaliyobonyezwa" yanayorudiwa, ambayo yanaweza kuwa muhimu kwa kudhibiti mibonyezo ya vitufe. eneo-kazi la mbali.
- Vitendaji vilivyoongezwa wl_display_dispatch_queue_timeout() na wl_display_dispatch_timeout() kwa ajili ya kutuma matukio katika foleni kwa kuzingatia muda wa kuisha (kazi za wl_display_dispatch na wl_display_dispatch_queue kurejesha 0 tu ikiwa hakuna matukio ya muda *_kuisha).
- Vitendaji vya wl_shm_buffer_ref() na wl_shm_buffer_unref() vimeongezwa ili kufikia kumbukumbu iliyoshirikiwa inayohusishwa na wl_shm_buffer bafa baada ya kuharibiwa (k.m. mteja anapoisha). Chaguo za kukokotoa huruhusu wl_shm_buffer bafa kutenganishwa kutoka kwa maisha ya msingi ya rasilimali ya wl_buffer wakati seva ya mchanganyiko inahitaji kuchelewesha kuhama hadi hali mpya.
- Vitendaji vilivyoongezwa wl_proxy_get_interface() na wl_resource_get_interface(), ambavyo hurejesha wl_interface kwa rasilimali iliyobainishwa, ambayo inahitajika katika vifungo vya lugha zenye uchapaji unaobadilika.
- Aliongeza chaguo za kukokotoa wl_resource_post_error_vargs(), ambayo hutumika kama mbadala wa chaguo za kukokotoa wl_resource_post_error() yenye uwezo wa kupitisha orodha ya hoja za kuumbiza mfuatano (va_list).
Matukio mashuhuri zaidi kuhusiana na Wayland ambayo yametokea tangu toleo la mwisho lilipochapishwa:
- Usaidizi ulioboreshwa wa Wayland katika viendeshaji wamiliki wa NVIDIA.
- KDE inapanga kuweka usaidizi wa Wayland pekee. Kutenganishwa kwa msimbo wa kwin_x11 na kwin_wayland.
- Ubuntu и Kubuntu оставят только поддержку сеанса Wayland в GNOME и KDE.
- GDM inaauni Wayland kwa chaguomsingi pekee.
- GTK imeacha kutumika nyuma ya X11.
- Fedora 43 itaondoa vifurushi vinavyotumiwa na GNOME kukimbia juu ya seva ya X kutoka kwa hazina. Watumiaji wote wa GNOME wanaoendesha X11 watalazimika kubadili kwa kipindi cha Wayland.
- Mazingira ya eneo-kazi la Budgie yatabaki na usaidizi wa Wayland pekee.
- Xfce 4.20 inatanguliza usaidizi wa sehemu kwa Wayland.
- MATE 1.28 kwa usaidizi wa majaribio wa Wayland.
- Wayback - Seva ya mchanganyiko wa Wayland ya kuendesha kompyuta za mezani zenye msingi wa X11
- Valve imezindua Project Frog ili kuharakisha uendelezaji wa itifaki mpya za Wayland.
- Cosmoe ni maktaba ya GUI inayotumia Wayland na API ya mtindo wa BeOS.
- Washa kiendesha Wayland kwa chaguo-msingi katika Mvinyo.
- Kubadilisha Raspberry Pi OS hadi Wayland.
- Kutolewa kwa seti ya zana za michoro ya FLTK 1.4.0 kwa usaidizi wa Wayland.
- Safu ya Wayland-Protocols imepanuliwa kwa awamu ya ziada ya ukuzaji wa itifaki, "majaribio", yenye lengo la kupunguza kizuizi cha ujumuishaji wa itifaki, kuharakisha uwasilishaji wa itifaki kwa wasanidi programu, na kuhimiza utekelezaji wa mapema katika miradi iliyopo.
- AMD inatengeneza seva yake ya mchanganyiko ya ACS kwa kutumia Wayland.
- Matoleo saba ya alpha ya mazingira ya eneo-kazi la COSMIC.
- Seva za mchanganyiko zimesasishwa: 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.
Viendelezi vya itifaki vilivyoongezwa katika mwaka jana ambavyo vinakamilisha itifaki ya msingi ya Wayland na hutolewa katika seti tofauti ya Wayland-Protocols:
- usimamizi wa rangi - uwezo wa usimamizi wa rangi na usaidizi wa anuwai ya ung'avu iliyopanuliwa (HDR, Safu ya Juu ya Nguvu).
- color-representation-v1 - inabainisha uwakilishi wa rangi ya uso wa Wayland.
- xdg-toplevel-tag - Huruhusu wateja wa Wayland kuambatisha lebo kwenye nyuso za kiwango cha juu ambazo seva ya utungaji inaweza kutumia kutambua madirisha baada ya programu kuanza upya.
- ext-background-effect - inatumika madoido kwa sehemu zenye uwazi nusu za uso wa Wayland, kama vile ukungu wa usuli.
- pointer-warp - Huruhusu programu kusogeza pointer papo hapo kwenye nafasi maalum.
- xx-session-management - hurejesha hali ya madirisha kwa vipindi vilivyoingiliwa (kwa mfano, baada ya ajali ya msimamizi wa utunzi).
- xx-input-method — uundaji wa itifaki mpya ya kutumia mbinu za kuingiza maandishi. ext-data-control - inaruhusu wateja waliobahatika kudhibiti utunzaji wa data, kwa mfano kutekeleza wasimamizi wa ubao wa kunakili.
- nafasi ya ziada ya kazi — hutekeleza dhana kompyuta pepe na hutoa matukio yenye taarifa kuhusu hali ya kompyuta za mezani, pamoja na uwezo wa kuwasha na kuzima kompyuta za mezani.
- xdg-system-kengele - hukuruhusu kutoa ishara ya mfumo ambayo inaweza kutumika, kwa mfano, kama onyo katika emulator ya terminal.
- xdg-toplevel-ikoni - kwa kuambatisha ikoni kwenye dirisha la kiwango cha juu.
- ext-image-capture-source na ext-picha-copy-capture - kunasa maudhui yanayoonyeshwa kwenye skrini.
- fifo - hutumia utaratibu wa FIFO (kwanza ndani, wa kwanza) kwa usindikaji wa foleni ya kusasisha yaliyomo kwenye uso unaoonyeshwa.
- kuweka muda - hukuruhusu kuweka kikomo cha muda kwa yaliyomo kwenye uso (seva ya mchanganyiko inapaswa kuonyesha mabadiliko ya yaliyomo ikiwezekana baada ya muda uliowekwa, lakini sio mapema).
Tukumbuke kwamba Wayland ni itifaki ya mwingiliano kati ya seva ya mchanganyiko na programu zinazofanya kazi nayo. Wateja hutoa madirisha yao wenyewe katika bafa tofauti, wakipitisha masasisho kwa seva ya mchanganyiko, ambayo inachanganya maudhui ya vibafa vya programu mahususi ili kutoa matokeo ya mwisho ambayo yanazingatia nuances iwezekanavyo kama vile mwingiliano wa dirisha na uwazi. Kwa maneno mengine, seva ya mchanganyiko haitoi API ya kutoa vitu vya mtu binafsi, lakini inafanya kazi tu kwenye windows zilizoundwa tayari, ambayo hukuruhusu kuondoa buffering mara mbili wakati wa kutumia maktaba za kiwango cha juu kama GTK na Qt, ambayo inachukua kazi ya kutunga yaliyomo kwenye madirisha.
Wayland hutatua matatizo mengi ya usalama ya X11, kwani tofauti na X11, hutenganisha ingizo na matokeo kwa kila dirisha, huzuia mteja kufikia yaliyomo kwenye madirisha ya wateja wengine, na huzuia kuingiliwa kwa matukio ya ingizo yanayohusiana na madirisha mengine. Usaidizi wa kufanya kazi moja kwa moja na Wayland unatekelezwa kwa mifumo mingi ya uendeshaji inayotumika katika Linux maktaba za michoro ikiwa ni pamoja na GTK, Qt, SDL, FLTK, wxWidgets, Clutter, na EFL (Maktaba ya Wakfu wa Mwangaza).
Mwingiliano na vifaa huko Wayland/Weston, kama vile uanzishaji, ubadilishaji wa hali ya video (DRM modesetting), na usimamizi wa kumbukumbu (GEM kwa i915 na TTM kwa Radeon na Nouveau) kwa kadi za michoro, unaweza kufanywa moja kwa moja kupitia moduli ya kiwango cha kernel, na kuondoa hitaji la marupurupu ya mtumiaji mkuu. Ili kuhakikisha utekelezaji wa programu za kawaida za X11 katika mazingira yanayotegemea Wayland, sehemu ya DDX ya XWayland (Device-Dependent X) inatumika, ambayo inafanana katika uendeshaji na Xwin na Xquartz kwa Win32 na macOS.


Chanzo: opennet.ru
