Թողարկվել է wayland-protocols 1.49 փաթեթը, որը պարունակում է Wayland-ի հիմնական արձանագրությունը լրացնող արձանագրությունների և ընդլայնումների մի շարք և ապահովում է կոմպոզիտային սերվերներ և օգտագործողի միջավայրեր կառուցելու համար անհրաժեշտ հնարավորությունները։
Նոր տարբերակում.
- Ավելացվել է փորձարարական xx-կոտորակային մասշտաբի արձանագրությունը: Այն հնարավորություն է տալիս մասշտաբավորել ամբողջ թվերի վրա հիմնված տրամաբանական կոորդինատային համակարգերը՝ բարելավելու դիրքորոշման ճշգրտությունը և մեծացնելու տրամաբանական կոորդինատների լուծաչափը մինչև առանձին պիքսելներ: Այս գործառույթը լուծում է տրամաբանական կոորդինատային համակարգերի սահմանափակ լուծաչափը, որը բավարար չէ պիքսելային մակարդակի դիրքորոշման համար, ինչը անհրաժեշտ է կոտորակային մասշտաբի լիարժեք իրականացման համար:
- «linux-dmabuf» արձանագրությունը թարմացվել է՝ բազմա-գրաֆիկական պրոցեսորներով համակարգերը աջակցելու համար։ Նման համակարգերում հաճախորդը կարող է բանակցել կոմպոզիտային սերվեր որ GPU-ն պետք է օգտագործվի։
- Գույների կառավարման v1 արձանագրությունը թարմացվել է՝ BT.2100 պատկերի մետատվյալները կոմպոզիտային պատկերներում օգտագործելու համար աջակցելու համար։ սերվեր հատուկ մշակիչներ, որոնք թույլ են տալիս ճիշտ ցուցադրել ստեղծված HDR բովանդակությունը Windows.
Բոլոր արձանագրությունները հաջորդաբար անցնում են մշակման, փորձարկման և կայունացման փուլերով։ Մշակման փուլն ավարտելուց հետո («անկայուն» կատեգորիա), արձանագրությունը տեղադրվում է «փուլային» ճյուղում և պաշտոնապես ներառվում է wayland-protocols հավաքածուի մեջ։ Փորձարկումն ավարտվելուց հետո այն տեղափոխվում է կայուն կատեգորիա։ «Փուլային» կատեգորիայի արձանագրությունները կարող են օգտագործվել կոմպոզիտներում։ սերվերներ և հաճախորդներ, որոնք պահանջում են համապատասխան ֆունկցիոնալություն: Ի տարբերություն «անկայուն» կատեգորիայի, «փուլային» տարբերակը արգելում է համատեղելիությունը խաթարող փոփոխությունները: Այնուամենայնիվ, եթե փորձարկման ընթացքում հայտնաբերվեն խնդիրներ կամ թերություններ, չի կարելի բացառել փոխարինումը նոր, նշանակալի արձանագրության տարբերակով կամ Wayland-ի մեկ այլ ընդլայնմամբ:
Արձանագրությունների առաքումը մշակողներին արագացնելու և առկա նախագծերում արձանագրությունների վաղ ներդրումը խրախուսելու համար, սկսած նախորդ թողարկումից, ավելացվել է «փորձարարական» փուլ, որը թույլ է տալիս փոփոխություններ կատարել, որոնք խախտում են համատեղելիությունը և ավելացնել «հում» արձանագրություններ, որոնք աստիճանաբար կարող են հասցվել պատշաճ մակարդակի: Թեև արձանագրությունը պետք է ձևավորի աջակցող թիմ և ստանա որոշակի թվով հաստատումներ (ACKs) վերանայողներից՝ բեմականացման փուլ մտնելու համար, այն պետք է չստանա միայն առարկություններ (NACKs) երկշաբաթյա վերանայման ժամանակահատվածում՝ փորձնական փուլ մտնելու համար:
«Wayland-protocols» փաթեթը ներկայումս ներառում է հետևյալ կայուն արձանագրությունները, որոնք հետին համատեղելի են.
- «viewporter» - թույլ է տալիս հաճախորդին կատարել գործողություններ կողքի մակերեսի եզրերը մասշտաբավորելու և կտրելու վերաբերյալ։ սերվեր.
- «ներկայացման ժամանակ» - ապահովում է տեսանյութի ցուցադրում:
- «xdg-shell»-ը ինտերֆեյս է մակերեսների ստեղծման և փոխազդեցության համար՝ որպես պատուհաններ, որոնք թույլ են տալիս դրանք տեղափոխել էկրանի շուրջը, փլուզել, ընդլայնել, չափափոխել և այլն:
- «linux-dmabuf» - ապահովում է DMA-BUF-ի վրա հիմնված wl_buffers ստեղծելու հնարավորություններ:
- «պլանշետ» - գրաֆիկական պլանշետներից մուտքագրման կազմակերպում:
Արձանագրությունները փորձարկվել են «բեմականացման» ճյուղում.
- drm-lease - տրամադրում է ռեսուրսներ, որոնք անհրաժեշտ են ստերեո պատկեր ստեղծելու համար՝ տարբեր բուֆերներով ձախ և աջ աչքերի համար՝ վիրտուալ իրականության ականջակալներ արտածելիս:
- «ext-session-lock» - սահմանում է նիստը կողպելու միջոց, օրինակ, երբ էկրանապահիչը աշխատում է կամ նույնականացման երկխոսությունը ցուցադրվում է:
- «single-pixel-buffer» - թույլ է տալիս ստեղծել մեկ պիքսելանոց բուֆերներ, որոնք ներառում են չորս 32-բիթանոց RGBA արժեքներ:
- «xdg-activation» - թույլ է տալիս փոխանցել ֆոկուսը տարբեր առաջին մակարդակի մակերեսների միջև (օրինակ՝ օգտագործելով
xdg-ակտիվացումը մեկ հավելվածը կարող է կենտրոնացումը փոխել մյուսի վրա): - բովանդակության տեսակ - թույլ է տալիս հաճախորդներին փոխանցել կոմպոզիտային սերվեր Ցուցադրվող բովանդակության մասին տեղեկատվություն, որը կարող է օգտագործվել բովանդակությանը համապատասխանող վարքագիծը օպտիմալացնելու համար, օրինակ՝ որոշակի DRM հատկությունների սահմանում, ինչպիսին է «բովանդակության տեսակը»: Հայտարարված է հետևյալ բովանդակության տեսակների աջակցությունը՝ ոչ մեկը (տվյալների տեսակի տեղեկատվություն չկա), լուսանկար (թվային լուսանկարի արդյունք, որը պահանջում է նվազագույն մշակում), տեսանյութ (տեսանյութ կամ անիմացիա, որը պահանջում է ավելի ճշգրիտ համաժամեցում՝ կակազումից խուսափելու համար) և խաղ (խաղի մեկնարկ, որը պահանջում է արդյունք նվազագույն լատենտությամբ):
- ext-idle-notify - Թույլ է տալիս կոմպոզիտային սերվերներին ծանուցումներ ուղարկել հաճախորդներին օգտվողի անգործության մասին, որոնք կարող են օգտագործվել անգործության որոշակի ժամանակից հետո լրացուցիչ էներգիայի խնայողության ռեժիմներ ակտիվացնելու համար:
- պատռվածքի կառավարում - թույլ է տալիս անջատել ուղղահայաց համաժամացումը (VSync) ուղղահայաց մարման զարկերակով ամբողջ էկրանով ծրագրերում, որն օգտագործվում է ելքի պատռումից պաշտպանվելու համար: Մուլտիմեդիա հավելվածներում պատռվելու պատճառով արտեֆակտները անցանկալի էֆեկտ են, սակայն խաղային ծրագրերում արտեֆակտները կարող են հանդուրժվել, եթե դրանց հետ գործ ունենալը լրացուցիչ ուշացումներ է առաջացնում:
- ext-foreign-toplevel-list - Առբերում է վերին մակարդակում տեղադրված մակերևույթների մասին տեղեկությունները, որոնք թույլ են տալիս կազմակերպել պատուհանները, որպեսզի ամրացվեն այլ բովանդակության վրա, օրինակ՝ կցելու ձեր սեփական վահանակները և պատուհանների անջատիչները:
- անվտանգության համատեքստ - թույլ է տալիս բացահայտել հաճախորդներին՝ օգտագործելով sandbox մեկուսացումը: Հաճախորդը կարող է գրանցել նոր կապ Wayland-ի վրա հիմնված կոմպոզիտային սերվերի հետ և դրան կցել անվտանգության համատեքստ, որից հետո կոմպոզիտային կառավարիչը կսահմանափակի հաստատված կապի համար հասանելի հնարավորությունները՝ ելնելով նշված անվտանգության համատեքստից:
- կուրսոր-ձևը կուրսորի տեսքը հարմարեցնելու այլընտրանքային միջոց է, որը հիմնված է մի շարք կուրսորային պատկերներ փոխանցելու վրա՝ մակերեսին կտրելու փոխարեն (wl_surface):
- «ext-transient-seat» - նախագծված է ստեղծելու ժամանակավոր անկախ նիստեր (նստատեղեր), որոնք նախատեսված են վիրտուալ մուտքային սարքերի հետ օգտագործելու համար: Օրինակ, հեռավոր աշխատասեղանին միանալու հնարավորությունն իրականացնելիս արձանագրությունը թույլ է տալիս վիրտուալ ստեղնաշարով և մկնիկով ստեղծել առանձին նիստ յուրաքանչյուր օգտագործողի համար:
- «xdg-toplevel-drag» - ընդլայնում է «drag & drop» մեխանիզմը՝ վերին մակարդակի պատուհանները քաշելու գործողությանը կցելու ունակությամբ, որը կարող է օգտագործվել, օրինակ, կազմակերպելու գործիքների տողերը կամ դիտարկիչի ներդիրները մկնիկի միջոցով քաշելը: Նոր արձանագրությունը թույլ է տալիս ստեղծել պատուհանի անջատվող մասեր, որոնք, երբ քաշվում են այդ պատուհանից, դառնում են նոր պատուհաններ և կարող են տեղափոխվել առկա պատուհանի վերևում, նախքան նորից կցվելը:
- «xdg-dialog» - թույլ է տալիս վերին մակարդակի մակերևույթներին վերագրել երկխոսության հատուկ ատրիբուտներ, օրինակ՝ կարող եք ստեղծել մոդալ երկխոսություններ, որոնք արգելափակում են օգտատիրոջ փոխազդեցությունը ինտերֆեյսի մնացած հատվածի հետ:
- «linux-drm-syncobj» - տրամադրում է գործիքներ բացահայտ բուֆերային համաժամացման համար՝ օգտագործելով DRM (Direct Rendering Manager) համաժամացման օբյեկտները: Ենթադրվում է, որ բուֆերին մատուցելու ժամանակ համաժամացման համատեքստում առաջարկվող արձանագրությունը կբարելավի աշխատանքը վարորդների հետ՝ հիմնված Vulkan և OpenGL գրաֆիկական API-ների վրա (իրականացումը հիմնված է դրայվերների մշակողների վրա): Նոր արձանագրությունը հնարավորություն է տալիս համոզվել, որ բուֆերի գծագրման գործողությունն ավարտված է մինչև կոմպոզիտացիոն կառավարիչը ցուցադրի այդ բուֆերը:
- alpha-modifier, որը թույլ է տալիս հաճախորդներին փոխել մակերեսի թափանցիկության մակարդակը և փոխանցել գործողությունները՝ ապահովելու թափանցիկությունը կոմպոզիտային սերվերի կողմում, որն իր հերթին կարող է վերահղել այդ գործողությունները KMS-ին:
- xdg-toplevel-icon - պատկերակը կապում է վերին մակարդակի պատուհանին:
- ext-image-capture-source և ext-image-copy-capture - կազմակերպում է էկրանին ցուցադրվող բովանդակության գրավումը:
- xdg-system-bell - թույլ է տալիս թողարկել համակարգի ազդանշան, որը կարող է օգտագործվել, օրինակ, որպես նախազգուշացում տերմինալի էմուլյատորում: Ազդանշանի ելքի ձևը որոշվում է կոմպոզիտային մենեջերի հայեցողությամբ, այն կարող է լինել ոչ միայն ձայն, այլև տեսողական արձագանք.
- fifo - իրականացնում է FIFO (առաջին մուտք, առաջին դուրս) մեխանիզմ՝ ցուցադրվող մակերեսի բովանդակության թարմացման հերթը մշակելու համար: Գործնականում արձանագրությունը թույլ է տալիս արդյունքին սպասել ուղղահայաց սկանավորման ավարտին (vblank)՝ ամեն անգամ, երբ պատրաստ է նոր շրջանակ ցուցադրել, հետադարձ զանգեր օգտագործելու փոխարեն, որը լուծում է GPU-ի բարձր բեռնվածության խնդիրը VSync-ի օգտագործման ժամանակ:
- commit-time — թույլ է տալիս ժամանակային սահմանափակում սահմանել մակերեսի բովանդակության համար (կոմպոզիտային) սերվեր պետք է ցուցադրի բովանդակության փոփոխությունը, եթե հնարավոր է, նշված ժամանակից հետո, բայց ոչ դրանից առաջ):
- ext-data-control - Թույլ է տալիս արտոնյալ հաճախորդներին վերահսկել տվյալների մշակումը, օրինակ՝ իրականացնել clipboard-ի կառավարիչներ:
- ext-workspace — իրականացնում է հայեցակարգը վիրտուալ աշխատասեղաններ և առաջարկում է իրադարձություններ՝ աշխատասեղանների վիճակի, ինչպես նաև աշխատասեղանները ակտիվացնելու և անջատելու հնարավորության մասին տեղեկատվությամբ: Արձանագրությունը կարող է օգտագործվել վահանակներ և ցուցիչներ ստեղծելու համար, որոնք ցուցադրում են հասանելի վիրտուալ աշխատասեղանների ցանկը և թույլ են տալիս անցնել դրանց միջև:
- գույների կառավարում — ապահովում է գունային կառավարման հնարավորություններ և աջակցում է պայծառության ընդլայնված դինամիկ տիրույթին (HDR, բարձր դինամիկ տիրույթ): Ավելացված ընդլայնմամբ հաճախորդի հավելվածները կարող են տեղեկատվություն ստանալ ելքային սարքերի գույնի հետ կապված հատկությունների մասին և կոմպոզիտային սերվերին փոխանցել իրենց սեփական բովանդակության գույնի հետ կապված հատկությունների մասին տվյալներ: Կոմպոզիտային սերվերում այս տեղեկատվությունը կարող է օգտագործվել տարբեր ելքային սարքերում բովանդակություն ցուցադրելիս գույնը ավտոմատ կերպով կառավարելու համար, օրինակ՝ բովանդակությունը HDR մոնիտորների վրա ցուցադրման համար հարմար ներկայացման վերածելու համար: ICC պրոֆիլները օգտագործվում են գունային տարածությունները նկարագրելու համար:
- xdg-toplevel-tag — Թույլ է տալիս Wayland հաճախորդներին կցել պիտակներ վերին մակարդակի մակերեսներին, որոնք կոմպոզիցիոն սերվերը կարող է օգտագործել ծրագրի վերագործարկումից հետո պատուհանները նույնականացնելու համար (օրինակ՝ ծրագիրը կարող է սահմանել «գլխավոր պատուհան» և «կարգավորումներ» պիտակներ գլխավոր պատուհանի և կարգավորումների պատուհանի համար): Այսպիսի նույնականացումը օգտակար է վերագործարկումից հետո պատուհանների դիրքը, չափը և հատկությունները վերականգնելու, ինչպես նաև պատուհանների առանձին տեսակների համար հատուկ կանոններ սահմանելու համար։
- գունային ներկայացում — սահմանում է Ուեյլենդի մակերեսի գունային ներկայացումը: Ուեյլենդի հաճախորդները կարող են փոխանցել մետատվյալներ, որոնք անհրաժեշտ են թափանցիկությունը, գունային մոդելը, ենթանմուշառումը և քվանտացման միջակայքը սահմանելու համար, և օգտագործվում են YCbCr գունային մոդելին համապատասխանող տվյալներով բուֆերը RGB ներկայացման փոխակերպելիս:
- ext-background-effect - կիրառում է էֆեկտներ Ուեյլենդի մակերեսի կիսաթափանցիկ մասերի վրա, ինչպիսիք են ֆոնի մշուշոտումը։
- pointer-warp - Թույլ է տալիս ծրագրին անմիջապես տեղափոխել ցուցիչը նշված դիրքի վրա։
- xdg-session-management — ընդհատված սեսիայի պատուհանների վիճակը և դիրքը վերականգնելու հնարավորություններ, օրինակ՝ կոմպոզիտային սերվերի կամ ծրագրի խափանումից հետո։
Փորձարարական ճյուղում մշակվող արձանագրություններ՝
- xx-session-management - վերականգնում է ընդհատված նիստերի պատուհանների վիճակը (օրինակ՝ Composite Manager-ի խափանումից հետո):
- xx-մուտքագրման-մեթոդ — թույլ է տալիս ծրագրերին իրականացնել տեքստի մուտքագրման մեթոդներ կոմպոզիտային սերվերների համար և ստեղծել մուտքագրված տեքստ, որը կարող է օգտագործվել, օրինակ, վիրտուալ ստեղնաշարեր և IME (մուտքագրման մեթոդի խմբագիր) շերտեր ստեղծելու համար՝ մուտքագրման մշակման համար։
- xx-տեքստի մուտքագրում — թույլ է տալիս կոմպոզիտային սերվերներին իրականացնել մուտքագրման մեթոդներ և տեքստ ուղարկել հավելվածներին: Արձանագրությունը ստանդարտացնում է կոմպոզիտային սերվերների և հավելվածների միջև փոխազդեցությունները և թույլ է տալիս վերահսկել այնպիսի գործառույթներ, ինչպիսիք են մուտքագրման տեքստի փոխանցումը, մուտքագրման կենտրոնացման իրադարձությունների մշակումը և մուտքագրման դաշտի առանձնահատկությունները (լեզու, տեքստի ընտրություն, բովանդակության տեսակ) հաշվի առնելը:
- xx-կտրվածքներ — էկրանին կտրվածքների մասին տեղեկատվություն ստանալու համար (օրինակ՝ սմարթֆոնի էկրանին առջևի տեսախցիկի տակ գտնվող տարածքը):
- xx-գոտիներ՝ «գոտիներին»՝ իրենց սեփական կոորդինատային տարածություն ունեցող միջավայրերին, վերին մակարդակի պատուհաններ ստեղծելու և ավելացնելու համար։ Արձանագրությունը թույլ է տալիս պատուհանների տրամաբանական դասավորություն, որտեղ յուրաքանչյուր պատուհան դիրքավորվում է մյուս բոլոր պատուհանների նկատմամբ։
- xx-keyboard-filter — հաճախորդի համար՝ ընտրված ստեղնաշարի իրադարձությունները ընդհատելու, մուտքագրման իրադարձությունները փոփոխելու կամ որոշակի իրադարձությունների կենտրոնացված Ուեյլենդի մակերեսին փոխանցումը արգելափակելու համար։
«Անկայուն» ճյուղում մշակվող արձանագրությունները.
- «ամբողջ էկրանով կեղև» - աշխատանքի վերահսկում ամբողջ էկրանով ռեժիմում:
- «input-method» - ներածման մեթոդների մշակում:
- «idle-inhibit» - արգելափակում է էկրանապահչի գործարկումը (էկրանապահ):
- «input-timestamps» - մուտքագրման իրադարձությունների ժամանակային դրոշմանիշներ:
- «keyboard-shortcuts-inhibit» - վերահսկում է ստեղնաշարի դյուրանցումների և թեժ ստեղների կցումը:
- «linux-explicit-synchinize»-ը հատուկ է Linux Մակերևույթի նկատմամբ բուֆերների համաժամեցման մեխանիզմ։
- «ցուցիչ-ժեստեր» - կառավարում սենսորային էկրաններից:
- «ցուցիչի սահմանափակումներ» - ցուցիչի սահմանափակումներ (արգելափակում):
- «առաջնային ընտրություն» - X11-ի անալոգիայով այն ապահովում է առաջնային clipboard-ի աշխատանքը (առաջնային ընտրություն), որից տեղեկատվությունը սովորաբար տեղադրվում է մկնիկի միջին կոճակով:
- «հարաբերական ցուցիչ իրադարձություններ»՝ հարաբերական ցուցիչի իրադարձություններ:
- «տեքստի մուտքագրում» - տեքստի մուտքագրման կազմակերպում:
- «xdg-foreign»-ը ինտերֆեյս է «հարևան» հաճախորդի մակերեսների հետ փոխազդելու համար:
- «xdg-decoration» - պատուհանի դեկորացիաների մատուցում սերվերի կողմից:
- «xdg-output» - լրացուցիչ տեղեկատվություն տեսանյութի ելքի մասին (օգտագործվում է կոտորակային մասշտաբավորման համար):
- «xwayland-keyboard-grab» - մուտքագրել XWayland հավելվածներում:
Source: opennet.ru
