Wayland протоколдарының 1.48 нұсқасы шығарылды, ол негізгі Wayland протоколын толықтыратын және құрама серверлер мен пайдаланушы орталарын құруға қажетті мүмкіндіктерді қамтамасыз ететін хаттамалар мен кеңейтімдер жиынтығын қамтиды.
Жаңа нұсқада:
- xdg-session-management протоколы кезеңдік санатқа қосылды, бұл Wayland негізіндегі орталарда үзілген сессиядан, мысалы, композиттік сервер немесе қолданба істен шыққаннан кейін терезелердің күйі мен орнын қалпына келтіру мүмкіндігін береді.
- Мәтін енгізу хаттамасы кеңейтілді, бұл құрама серверлерге енгізу әдістерін енгізуге және қолданбаларға мәтін жіберуге мүмкіндік береді. Мысалы, эмодзисіз енгізу үшін no_emoji жалаушасы қосылды, мәтін енгізуден басқа қосымша әрекеттерді қолдау енгізілді, тілдік ақпаратты беру үшін тіл жалаушасы қосылды, енгізу панелін көрсету және жасыру сұраныстары қосылды және алдын ала өңдеу стилін теңшеу үшін preedit_hint жалаушасы қосылды.
- Экрандағы кесінділер туралы ақпарат алу үшін эксперименттік xx-cutouts хаттамасы қосылды (мысалы, смартфон экранындағы алдыңғы камераның астындағы аймақ).
- «Аймақтарға» — өзіндік координаталық кеңістігі бар орталарға — жоғарғы деңгейлі терезелерді жасау және қосу үшін эксперименттік xx-zones хаттамасы қосылды. Бұл хаттама әрбір терезенің басқа терезелерге қатысты орналасуымен терезелердің логикалық орналасуына мүмкіндік береді.
- Клиентке таңдалған пернетақта оқиғаларын ұстап алуға, енгізу оқиғаларын өзгертуге немесе белгілі бір оқиғалардың фокусталған Wayland бетіне өтуін бұғаттауға мүмкіндік беретін xx-keyboard-filter эксперименттік хаттамасы қосылды.
Барлық хаттамалар кезекпен әзірлеу, тестілеу және тұрақтандыру кезеңдерінен өтеді. Әзірлеу кезеңін («тұрақсыз» санат) аяқтағаннан кейін хаттама «кезеңмен» тармағына орналастырылады және ресми түрде wayland-protocols жиынтығына енгізіледі. Тестілеу аяқталғаннан кейін ол тұрақты санатқа ауыстырылады. Содан кейін «кезеңмен» санатындағы хаттамаларды композиттерде пайдалануға болады. серверлер және байланысты функционалдылықты қажет ететін клиенттер. «Тұрақсыз» санатынан айырмашылығы, «кезеңділік» үйлесімділікті бұзатын өзгерістерге тыйым салады. Дегенмен, егер тестілеу кезінде мәселелер немесе кемшіліктер анықталса, жаңа, маңызды хаттама нұсқасымен немесе басқа Wayland кеңейтімімен ауыстыруды жоққа шығаруға болмайды.
Әзірлеушілерге хаттамаларды жеткізуді жеделдету және бұрынғы шығарылымнан бастап қолданыстағы жобаларда хаттамаларды ертерек енгізуді ынталандыру үшін үйлесімділікті бұзатын өзгерістерге және біртіндеп тиісті деңгейге жеткізуге болатын «шикі» хаттамаларды қосуға мүмкіндік беретін «эксперименттік» кезең қосылды. Протокол қою кезеңіне өту үшін қолдау тобын құруы және рецензенттерден белгілі бір растау (ACKs) алуы қажет болғанымен, эксперименттік кезеңге өту үшін екі апталық шолу кезеңінде тек қарсылықтарды (NACK) алу қажет.
Қазіргі уақытта wayland-protocols жинағы кері үйлесімді келесі тұрақты протоколдарды қамтиды:
- «viewporter» - клиентке беттің шеттерін бүйір жағынан масштабтау және қию бойынша әрекеттерді орындауға мүмкіндік береді сервер.
- «тұсаукесер уақыты» - бейне көрсетуді қамтамасыз етеді.
- «xdg-shell» - терезелер ретінде беттерді құруға және олармен әрекеттесуге арналған интерфейс, оларды экранда жылжытуға, жиыруға, кеңейтуге, өлшемін өзгертуге және т.б.
- "linux-dmabuf" - DMA-BUF негізінде wl_buffers құру мүмкіндіктерін береді.
- «планшет» - графикалық планшеттерден енгізуді ұйымдастыру.
«Саттау» бөлімінде сынақтан өткен хаттамалар:
- drm-lease - виртуалды шындық гарнитураларына шығару кезінде сол және оң көздер үшін әртүрлі буферлері бар стерео кескінді жасау үшін қажетті ресурстарды қамтамасыз етеді.
- «ext-session-lock» - сеансты құлыптау құралын анықтайды, мысалы, экран сақтағышы жұмыс істеп тұрғанда немесе аутентификация диалогы көрсетілген кезде.
- «бір пиксельді буфер» - төрт 32-биттік RGBA мәнін қамтитын бір пиксельді буферлерді жасауға мүмкіндік береді.
- “xdg-activation” – фокусты әртүрлі бірінші деңгейлі беттер арасында тасымалдауға мүмкіндік береді (мысалы, xdg-activation көмегімен бір қолданба фокусты екіншісіне ауыстыра алады).
- мазмұн түрі - клиенттерге композитті өтуге мүмкіндік береді сервер Мазмұнға сезімталдықты оңтайландыру үшін пайдаланылуы мүмкін көрсетілетін мазмұн туралы ақпарат, мысалы, «мазмұн түрі» сияқты нақты DRM қасиеттерін орнату. Келесі мазмұн түрлеріне қолдау көрсетіледі: жоқ (деректер түрі туралы ақпарат жоқ), фото (минималды өңдеуді қажет ететін сандық фото шығысы), бейне (кекештенуді болдырмау үшін дәлірек синхрондауды қажет ететін бейне немесе анимация) және ойын (ойынды іске қосу, минималды кідіріспен шығысты қажет етеді).
- ext-idle-notify - Құрама серверлерге пайдаланушының әрекетсіздігі туралы клиенттерге хабарландырулар жіберуге мүмкіндік береді, оны белгілі бір әрекетсіздік уақытынан кейін қосымша қуат үнемдеу режимдерін қосу үшін пайдалануға болады.
- жыртуды басқару - шығыста жыртылудан қорғау үшін пайдаланылатын толық экранды қолданбаларда тік демпферлік импульспен тік синхрондауды (VSync) өшіруге мүмкіндік береді. Мультимедиялық қолданбаларда жыртылу нәтижесінде пайда болған артефактілер жағымсыз әсер болып табылады, бірақ ойын бағдарламаларында артефактілермен жұмыс істеу қосымша кідірістерді тудырса, оларға жол беруге болады.
- ext-foreign-toplevel-list - жоғарғы деңгейде орналастырылған беттер туралы ақпаратты шығарып алады, бұл терезелерді басқа мазмұнның үстіне бекіту үшін ұйымдастыруға мүмкіндік береді, мысалы, жеке панельдер мен терезе қосқыштарын бекіту.
- қауіпсіздік-контекст - құм жәшігінің оқшаулануын пайдаланып клиенттерді анықтауға мүмкіндік береді. Клиент Wayland негізіндегі құрама серверге жаңа қосылымды тіркей алады және оған қауіпсіздік контекстін тіркей алады, содан кейін құрама менеджер көрсетілген қауіпсіздік контекстіне негізделген орнатылған қосылымға қолжетімді мүмкіндіктерді шектейді.
- курсор пішіні - бетке (wl_surface) түсірудің орнына курсор кескіндерінің қатарын беруге негізделген курсордың сыртқы түрін теңшеудің баламалы жолы.
- «Ex-transient-seat» - виртуалды енгізу құрылғыларымен пайдалануға арналған уақытша тәуелсіз сеанстарды (орындарды) жасауға арналған. Мысалы, қашықтағы жұмыс үстеліне қосылу мүмкіндігін жүзеге асырған кезде, протокол виртуалды пернетақта мен тінтуірдің көмегімен әрбір пайдаланушы үшін жеке сеанс жасауға мүмкіндік береді.
- «xdg-toplevel-drag» - «сүйреп апару» механизмін, мысалы, құралдар тақталарын немесе шолғыш қойындыларын тінтуірмен апаруды ұйымдастыру үшін пайдалануға болатын сүйреп апару операциясына жоғарғы деңгейлі терезелерді қосу мүмкіндігімен кеңейтеді. Жаңа протокол сол терезеден сүйреп апарған кезде жаңа терезелерге айналатын және қайта тіркемес бұрын бұрыннан бар терезенің үстіне жылжытылатын терезенің ажыратылатын бөліктерін жасауға мүмкіндік береді.
- «xdg-dialog» - жоғарғы деңгейлі беттерге диалогтық терезеге тән атрибуттарды тағайындауға мүмкіндік береді, мысалы, интерфейстің қалған бөлігімен пайдаланушының әрекеттесуін блоктайтын модальды диалогтарды жасауға болады.
- "linux-drm-syncobj" - DRM (Direct Rendering Manager) синхрондау нысандарын пайдаланып айқын буферді синхрондау құралдарын қамтамасыз етеді. Буферге көрсету кезінде синхрондау контекстінде ұсынылған хаттама Vulkan және OpenGL графикалық API негізіндегі драйверлермен жұмысты жақсартады деп болжанады (іске асыру драйверлердегі өңдеушілерге негізделген). Жаңа протокол құрастыру менеджері осы буферді көрсеткенге дейін буферге тарту әрекетінің аяқталуын қамтамасыз етуге мүмкіндік береді.
- альфа-модификатор, ол клиенттерге бетінің мөлдірлік деңгейін өзгертуге және композиттік сервер жағына мөлдірлікті қамтамасыз ету үшін операцияларды тасымалдауға мүмкіндік береді, бұл өз кезегінде бұл операцияларды KMS-ке қайта бағыттай алады.
- xdg-toplevel-icon - белгішені жоғарғы деңгейдегі терезеге байланыстырады.
- ext-image-capture-source және ext-image-copy-capture – экранда көрсетілетін мазмұнды түсіруді ұйымдастыру.
- xdg-system-bell - жүйелік сигналды шығаруға мүмкіндік береді, оны, мысалы, терминал эмуляторында ескерту ретінде пайдалануға болады. Сигналдың шығу формасы композиттік менеджердің қалауы бойынша анықталады, ол тек дыбыстық емес, визуалды жауап болуы мүмкін;
- fifo - көрсетілетін беттің мазмұнды жаңарту кезегін өңдеу үшін FIFO (бірінші кірген, бірінші шыққан) механизмін жүзеге асырады. Тәжірибелік жағынан, протокол VSync пайдалану кезінде жоғары GPU жүктемесі мәселесін шешетін жаңа кадрды көрсетуге дайын болған сайын кері шақыруларды пайдаланудың орнына тік сканерлеудің аяқталуын күтуге (vblank) мүмкіндік береді.
- commit-timeing - уақыт шегін беткі мазмұнға байланыстыруға мүмкіндік береді (композиттік сервер мүмкін болса, көрсетілген уақыттан кейін мазмұнның өзгеруін көрсетуі керек, бірақ ертерек емес).
- ext-data-control - Артықшылықтары бар клиенттерге деректерді өңдеуді басқаруға мүмкіндік береді, мысалы, алмасу буферінің басқарушыларын енгізу.
- сыртқы жұмыс кеңістігі — тұжырымдаманы жүзеге асырады виртуалды үстелдер және жұмыс үстелдерінің күйі туралы ақпаратпен, сондай-ақ жұмыс үстелдерін белсендіру және өшіру мүмкіндігімен оқиғаларды ұсынады. Хаттаманы қолжетімді виртуалды жұмыс үстелдерінің тізімін көрсететін және олардың арасында ауысуға мүмкіндік беретін басқару тақталары мен индикаторларын жасау үшін пайдалануға болады.
- түстерді басқару — түстерді басқару мүмкіндіктерін және жоғары динамикалық диапазонды (HDR) қолдауды қамтамасыз етеді. Бұл кеңейтім клиенттік қолданбаларға шығыс құрылғыларының түске қатысты қасиеттері туралы ақпарат алуға және өз мазмұнының түс қасиеттері туралы деректерді құрама серверге жіберуге мүмкіндік береді. Құрама режимде, сервер Бұл ақпаратты әртүрлі шығыс құрылғыларында мазмұнды көрсеткен кезде автоматты түрде түс басқару үшін пайдалануға болады, мысалы, мазмұнды HDR мониторларында көрсетуге жарамды презентацияға түрлендіру үшін. ICC профильдері түс кеңістіктерін сипаттау үшін қолданылады.
- xdg-toplevel-tag — Wayland клиенттеріне қолданбаны қайта іске қосқаннан кейін терезелерді анықтау үшін біріктіру сервері пайдалана алатын жоғарғы деңгейлі беттерге тегтерді тіркеуге мүмкіндік береді (мысалы, қолданба негізгі терезе мен параметрлер терезесі үшін «негізгі терезе» және «параметрлер» тегтерін орнатуы мүмкін). Мұндай сәйкестендіру қайта іске қосылғаннан кейін терезелердің орнын, өлшемін және сипаттарын қалпына келтіру үшін және терезелердің жеке түрлері үшін арнайы ережелерді анықтау үшін пайдалы.
- color-representation — Wayland бетінің түс көрінісін анықтайды. Wayland клиенттері мөлдірлікті, түс үлгісін, ішкі үлгіні және кванттау ауқымын анықтау үшін қажетті метадеректерді жібере алады және YCbCr түс үлгісіне сәйкес деректері бар буферді RGB көрінісіне түрлендіру кезінде пайдаланылады.
- ext-background-effect - фондық бұлыңғырлық сияқты Wayland бетінің жартылай мөлдір бөліктеріне әсерлерді қолданады.
- pointer-warp - қолданбаға меңзерді көрсетілген орынға лезде жылжытуға мүмкіндік береді.
Эксперименттік бөлімде әзірленетін хаттамалар:
- xx-session-management - үзілген сеанстар үшін терезелердің күйін қалпына келтіреді (мысалы, композиттік менеджердің бұзылуынан кейін).
- xx-input-method — қолданбаларға композиттік мәтін енгізу әдістерін енгізуге мүмкіндік береді серверлер және енгізілген мәтінді жасаңыз, оны, мысалы, енгізуді өңдеу үшін виртуалды пернетақталар мен IME қабаттарын (енгізу әдісінің редакторы) жасау үшін пайдалануға болады.
- xx-text-input — құрама серверлерге енгізу әдістерін енгізуге және қолданбаларға мәтін жіберуге мүмкіндік береді. Хаттама құрама серверлер арасындағы өзара әрекеттесуді стандарттайды сервер және қолданбаларды қамтиды және кіріс мәтінін жіберу, кіріс фокусының өзгеру оқиғаларын өңдеу және енгізу өрістерінің ерекшеліктерін (тіл, мәтінді таңдау, мазмұн түрі) ескеру сияқты мүмкіндіктерді басқаруға мүмкіндік береді.
«Тұрақсыз» филиалда әзірленетін хаттамалар:
- «толық экран-қабық» - толық экран режимінде жұмысты басқару.
- «енгізу әдісі» - енгізу әдістерін өңдеу.
- «idle-inhibit» - экран сақтағышты (экран сақтағыш) іске қосуды блоктау.
- "input-timestamps" - енгізу оқиғалары үшін уақыт белгілері.
- «пернетақта-жарлықтар-ингибит» - пернелер тіркесімдері мен жылдам пернелердің тіркемелерін басқарады.
- «linux-explicit-synchronization» келесіге тән Linux бетке қатысты буферлерді синхрондау механизмі.
- «көрсеткіш-имылдар» - сенсорлық экраннан басқару.
- «көрсеткіш шектеулері» - көрсеткіш шектеулері (блоктау).
- «бастапқы таңдау» - X11 ұқсастығы бойынша ол бастапқы алмасу буферінің жұмысын қамтамасыз етеді (бастапқы таңдау), ақпарат әдетте тінтуірдің ортаңғы түймесі арқылы енгізіледі.
- «салыстырмалы көрсеткіш оқиғалары» - салыстырмалы көрсеткіш оқиғалары.
- «мәтін енгізу» - мәтін енгізуді ұйымдастыру.
- «xdg-foreign» — «көрші» клиенттің беттерімен әрекеттесу интерфейсі.
- "xdg-decoration" - сервер жағында терезе әшекейлерін көрсету.
- "xdg-output" - бейне шығысы туралы қосымша ақпарат (бөлшек масштабтау үшін пайдаланылады).
- "xwayland-keyboard-grab" - XWayland қолданбаларында енгізуді жазу.
Ақпарат көзі: opennet.ru
