Əsas Wayland protokolunu tamamlayan və kompozit serverlər və istifadəçi mühitləri qurmaq üçün lazım olan imkanları təmin edən bir sıra protokollar və genişləndirmələri özündə birləşdirən wayland-protocols paketi 1.49 buraxıldı.
Yeni versiyada:
- Добавлен экспериментальный протокол xx-fractional-scale, предоставляющий возможность масштабирования системы логических координат, значения в которой задаются целыми числами, для повышения точности позиционирования и увеличения разрешения логических координат до отдельных пикселей. Подобная возможность решает проблему с ограниченным разрешением системы логических координат, недостаточным для позиционирования на уровне отдельных пикселей, необходимого для полноценной реализации дробного масштабирования.
- В протокол «linux-dmabuf» добавлена поддержка работы на системах с несколькими GPU. На подобных системах клиент может согласовать с композитными сервером какой из GPU следует использовать.
- В протокол color-management-v1 добавлена поддержка метаданных изображений в формате BT.2100 для применения в композитном сервере специфичных обработчиков, позволяющих корректно отображать HDR-контент, созданный для Windows.
Bütün protokollar ardıcıl olaraq inkişaf, sınaq və stabilləşdirmə mərhələlərindən keçir. İnkişaf mərhələsi başa çatdıqdan sonra ("qeyri-sabit" kateqoriya) protokol "səhnələşdirmə" filialına yerləşdirilir və rəsmi olaraq wayland-protokollar dəstinə daxil edilir və sınaq başa çatdıqdan sonra stabil kateqoriyaya keçirilir. “Səhnələşdirmə” kateqoriyasından olan protokollar artıq kompozit serverlərdə və əlaqəli funksionallığın tələb olunduğu müştərilərdə istifadə oluna bilər. "Qeyri-sabit" kateqoriyadan fərqli olaraq, "səhnədə" uyğunluğu pozan dəyişikliklər etmək qadağandır, lakin sınaq zamanı problem və çatışmazlıqlar aşkar edilərsə, protokolun yeni əhəmiyyətli versiyası və ya başqa Wayland genişləndirilməsi ilə əvəz edilməsi istisna edilmir.
Protokolların tərtibatçılara çatdırılmasını sürətləndirmək və mövcud layihələrdə protokolların erkən tətbiqini təşviq etmək üçün əvvəlki buraxılışdan başlayaraq, uyğunluğu pozan dəyişikliklərə və tədricən lazımi səviyyəyə çatdırıla bilən "xam" protokolların əlavə edilməsinə imkan verən "eksperimental" mərhələ əlavə edildi. Protokolun səhnələşdirmə mərhələsinə daxil olmaq üçün dəstək qrupu yaratması və rəyçilərdən müəyyən sayda təşəkkürlər (ACK) alması lazım olsa da, eksperimental mərhələyə daxil olmaq üçün yalnız iki həftəlik nəzərdən keçirmə müddəti ərzində heç bir etiraz (NACK) almamalıdır.
Wayland-protocols paketinə hazırda geriyə uyğun olan aşağıdakı stabil protokollar daxildir:
- "viewporter" - müştəriyə server tərəfində miqyaslaşdırma və səth kənarını kəsmə hərəkətlərini yerinə yetirməyə imkan verir.
- "təqdimat vaxtı" - video nümayişini təmin edir.
- "xdg-shell" pəncərələr kimi səthlər yaratmaq və onlarla qarşılıqlı əlaqə yaratmaq üçün interfeysdir, onları ekran ətrafında hərəkət etdirməyə, yığışdırmağa, genişləndirməyə, ölçüsünü dəyişməyə və s.
- "linux-dmabuf" - DMA-BUF əsasında wl_buffers yaratmaq imkanlarını təmin edir.
- "planşet" - qrafik planşetlərdən daxiletmənin təşkili.
“Səhnələşdirmə” bölməsində sınaqdan keçirilmiş protokollar:
- drm-lease - virtual reallıq qulaqlıqlarına çıxış zamanı sol və sağ gözlər üçün müxtəlif buferlərlə stereo təsvir yaratmaq üçün lazım olan resursları təmin edir.
- "ext-session-lock" - məsələn, ekran qoruyucusu işləyərkən və ya autentifikasiya dialoqu göstərilərkən sessiyanın kilidlənməsi vasitəsini müəyyənləşdirir.
- "bir pikselli bufer" - dörd 32 bitlik RGBA dəyərini ehtiva edən tək pikselli buferlər yaratmağa imkan verir.
- «xdg-activation» — позволяет передать фокус между разными поверхностями первого уровня (например, при помощи
xdg-activation одно приложение может переключить фокус на другое). - məzmun növü - Müştərilərə "məzmun növü" kimi xüsusi DRM xassələrini təyin etmək kimi məzmundan xəbərdar davranışı optimallaşdırmaq üçün istifadə edilə bilən kompozit serverə nümayiş etdirilən məzmun haqqında məlumat ötürməyə imkan verir. Aşağıdakı məzmun növləri üçün dəstək elan edilir: heç biri (məlumat növü haqqında məlumat yoxdur), foto (minimum emal tələb edən rəqəmsal fotoşəkillərin çıxışı), video (video və ya animasiya, kəkələmənin qarşısını almaq üçün daha dəqiq sinxronizasiya tələb olunur) və oyun (başlanğıc). oyunlar, minimum gecikmədən çıxış).
- ext-idle-notify - Kompozit serverlərə istifadəçinin hərəkətsizliyi barədə müştərilərə bildirişlər göndərməyə imkan verir, bu, müəyyən bir müddət fəaliyyətsizlikdən sonra əlavə enerjiyə qənaət rejimlərini aktivləşdirmək üçün istifadə edilə bilər.
- yırtılmaya nəzarət - çıxışda yırtılmadan qorunmaq üçün istifadə olunan tam ekran tətbiqlərində şaquli söndürmə impulsu ilə şaquli sinxronizasiyanı (VSync) söndürməyə imkan verir. Multimedia proqramlarında yırtılma nəticəsində yaranan artefaktlar arzuolunmaz təsirdir, lakin oyun proqramlarında onlarla işləmək əlavə gecikmələrə səbəb olarsa, artefaktlara dözmək olar.
- ext-foreign-toplevel-list - Yuxarı səviyyədə yerləşdirilmiş səthlər haqqında məlumatı əldə edir ki, bu da sizə pəncərələri digər məzmunun üzərinə yerləşdirmək üçün təşkil etməyə, məsələn, öz panellərinizi və pəncərə açarlarınızı əlavə etməyə imkan verir.
- təhlükəsizlik konteksti - Sandbox izolyasiyasından istifadə edərək müştəriləri müəyyən etməyə imkan verir. Müştəri Wayland əsaslı kompozit serverə yeni əlaqəni qeydiyyatdan keçirə və ona təhlükəsizlik konteksti əlavə edə bilər, bundan sonra kompozit menecer müəyyən edilmiş təhlükəsizlik konteksti əsasında qurulmuş əlaqə üçün mövcud imkanları məhdudlaşdıracaq.
- kursor forması kursorun görünüşünü fərdiləşdirmək üçün alternativ bir yoldur, səthə yapışdırmaq əvəzinə bir sıra kursor şəkillərini ötürməyə əsaslanır (wl_surface).
- “ext-transient-seat” - virtual daxiletmə qurğuları ilə istifadə üçün nəzərdə tutulmuş müvəqqəti müstəqil seanslar (oturacaqlar) yaratmaq üçün nəzərdə tutulmuşdur. Məsələn, uzaq iş masasına qoşulma imkanını həyata keçirərkən, protokol virtual klaviatura və siçan ilə hər bir istifadəçi üçün ayrıca sessiya yaratmağa imkan verir.
- "xdg-toplevel-drag" - yuxarı səviyyəli pəncərələri sürükləmə əməliyyatına əlavə etmək imkanı ilə "drag & drop" mexanizmini genişləndirir, məsələn, alətlər panellərinin və ya brauzer nişanlarının siçan ilə sürüklənməsini təşkil etmək üçün istifadə edilə bilər. Yeni protokol pəncərənin ayrıla bilən hissələrini yaratmağa imkan verir ki, həmin pəncərədən sürükləndikdə yeni pəncərələrə çevrilir və yenidən əlavə edilməzdən əvvəl mövcud pəncərənin üstünə köçürülə bilər.
- "xdg-dialoq" - yüksək səviyyəli səthlərə dialoqa xas atributlar təyin etməyə imkan verir, məsələn, interfeysin qalan hissəsi ilə istifadəçinin qarşılıqlı əlaqəsini bloklayan modal dialoqlar yarada bilərsiniz.
- "linux-drm-syncobj" - DRM (Direct Rendering Manager) sinxronizasiya obyektlərindən istifadə edərək açıq bufer sinxronizasiyası üçün alətlər təqdim edir. Güman edilir ki, buferə göstərərkən sinxronizasiya kontekstində təklif olunan protokol Vulkan və OpenGL qrafika API-lərinə əsaslanan drayverlərlə işi təkmilləşdirəcək (həyata keçirilməsi drayverlərdəki işləyicilərə əsaslanır). Yeni protokol kompozisiya meneceri bu buferi göstərməzdən əvvəl buferə çəkiliş əməliyyatının tamamlanmasını təmin etməyə imkan verir.
- müştərilərə səthin şəffaflıq səviyyəsini dəyişdirməyə və kompozit server tərəfinə şəffaflığı təmin etmək üçün əməliyyatları köçürməyə imkan verən alfa-modifikator, bu da öz növbəsində bu əməliyyatları KMS-ə yönləndirə bilər.
- xdg-toplevel-icon - işarəni yuxarı səviyyəli pəncərəyə bağlayın.
- ext-image-capture-source və ext-image-copy-capture - ekranda göstərilən məzmunun çəkilişinin təşkili.
- xdg-system-bell - sistem siqnalını çıxarmağa imkan verir, məsələn, terminal emulyatorunda xəbərdarlıq kimi istifadə edilə bilər. Siqnalın çıxış forması kompozit menecerin mülahizəsinə əsasən müəyyən edilir, bu, yalnız səs deyil, vizual cavab ola bilər;
- fifo - göstərilən səthin məzmun yeniləmə növbəsini emal etmək üçün FIFO (ilk girən, ilk çıxan) mexanizmini həyata keçirir. Praktiki tərəfdən, protokol VSync istifadə edərkən yüksək GPU yükü problemini həll edən yeni çərçivəni göstərməyə hər dəfə hazır olduqda geri çağırışlardan istifadə etmək əvəzinə, şaquli skanlamanın tamamlanmasını gözləməkdən (vblank) istifadə etməyə imkan verir.
- commit-timeing - yerüstü məzmuna vaxt məhdudiyyəti bağlamağa imkan verir (kompozit server mümkünsə göstərilən vaxtdan sonra məzmun dəyişikliyini əks etdirməlidir, lakin əvvəllər deyil).
- ext-data-control - İmtiyazlı müştərilərə məlumatların işlənməsini idarə etməyə, məsələn, mübadilə buferi menecerlərini həyata keçirməyə imkan verir.
- ext-workspace - virtual masaüstləri konsepsiyasını həyata keçirir və masaüstlərinin statusu, eləcə də masaüstlərinin aktivləşdirilməsi və deaktiv edilməsi imkanları haqqında məlumatlarla tədbirlər təklif edir. Protokol mövcud virtual masaüstlərinin siyahısını göstərən və onlar arasında keçid etməyə imkan verən panellər və göstəricilər yaratmaq üçün istifadə edilə bilər.
- rəngin idarə edilməsi — rəngin idarə edilməsi imkanları və genişləndirilmiş dinamik parlaqlıq diapazonu (HDR, Yüksək Dinamik Aralıq) üçün dəstək təmin edir. Əlavə edilmiş genişləndirmə ilə müştəri proqramları çıxış cihazlarının rənglə əlaqəli xüsusiyyətləri haqqında məlumat əldə edə və öz məzmununun rənglə əlaqəli xüsusiyyətləri haqqında məlumatları kompozit serverə ötürə bilər. Kompozit serverdə bu məlumat məzmunu müxtəlif çıxış cihazlarında göstərərkən rəngi avtomatik idarə etmək üçün istifadə edilə bilər, məsələn, məzmunu HDR monitorlarında nümayiş etdirmək üçün uyğun təqdimata çevirmək üçün. ICC profilləri rəng boşluqlarını təsvir etmək üçün istifadə olunur.
- xdg-toplevel-tag — Wayland müştərilərinə proqram yenidən işə salındıqdan sonra birləşdirmə serverinin pəncərələri müəyyən etmək üçün istifadə edə biləcəyi yüksək səviyyəli səthlərə teqlər əlavə etməyə imkan verir (məsələn, proqram əsas pəncərə və parametrlər pəncərəsi üçün "əsas pəncərə" və "parametrlər" teqlərini təyin edə bilər). Bu cür identifikasiya yenidən başladıqdan sonra pəncərələrin mövqeyini, ölçüsünü və xüsusiyyətlərini bərpa etmək və ayrı-ayrı pəncərə növləri üçün xüsusi qaydaları müəyyən etmək üçün faydalıdır.
- color-representation — Wayland səthinin rəng təsvirini müəyyən edir. Wayland müştəriləri şəffaflığı, rəng modelini, subsempling və kvantlaşdırma diapazonunu müəyyən etmək üçün lazım olan metadatanı ötürə bilər və YCbCr rəng modelinə uyğun olan verilənlərlə buferi RGB təsvirinə çevirərkən istifadə olunur.
- ext-background-effect - fon bulanıqlığı kimi Wayland səthinin yarı şəffaf hissələrinə effektlər tətbiq edir.
- pointer-warp - Tətbiqə göstəricini dərhal müəyyən edilmiş mövqeyə köçürməyə imkan verir.
- xdg-session-management — возможности для восстановления состояния и позиции окон прерванного сеанса, например, после аварийного завершения композитного сервера или приложения.
Eksperimental sahədə inkişaf etdirilən protokollar:
- xx-session-management - kəsilmiş seanslar üçün pəncərələrin vəziyyətini bərpa edir (məsələn, kompozisiya meneceri qəzasından sonra).
- xx-input-method — tətbiqlərə kompozit serverlər üçün mətn daxiletmə metodlarını tətbiq etməyə və daxil edilmiş mətni yaratmağa imkan verir ki, bu da, məsələn, virtual klaviaturalar və giriş emalı üçün IME (Giriş Metodu Redaktoru) təbəqələri yaratmaq üçün istifadə edilə bilər.
- xx-text-input — kompozit serverlərə giriş metodlarını tətbiq etməyə və tətbiqlərə mətn göndərməyə imkan verir. Protokol kompozit serverlər və tətbiqlər arasında qarşılıqlı əlaqələri standartlaşdırır və giriş mətninin ötürülməsi, giriş fokus hadisələrinin idarə olunması və giriş sahəsinin xüsusiyyətlərini (dil, mətn seçimi, məzmun növü) nəzərə almaq kimi xüsusiyyətlər üzərində nəzarətə imkan verir.
- xx-cutouts — для получения информации о вырезах на экране (например, области под фронтальную камеру на экране смартфона).
- xx-zones — для создания и добавления окон верхнего уровня в «зоны» — окружения со своим пространством координат. Протокол позволяет организовать логическую расстановку окон, в которой каждое окно размещается относительно другого окна.
- xx-keyboard-filter — для перехвата клиентом выбранных событий клавиатуры, изменения событий ввода или блокирования передачи определённых событий в Wayland-поверхность, на которой установлен фокус ввода.
“Qeyri-sabit” filialda işlənən protokollar:
- "tam ekran qabığı" - tam ekran rejimində işə nəzarət.
- "giriş metodu" - daxiletmə üsullarının işlənməsi.
- "Boş-inhibit" - ekran qoruyucunun işə salınmasını bloklayır (ekran qoruyucu).
- "input-timestamps" - giriş hadisələri üçün vaxt ştampları.
- "klaviatura-qısayolları-inhibit" - klaviatura qısa yollarının və isti düymələrin əlavə edilməsinə nəzarət edir.
- "linux-explicit-synchronization" spesifikdir Linux səthə nisbətən tamponların sinxronizasiyası mexanizmi.
- "göstərici-jestlər" - sensor ekranlardan idarəetmə.
- “göstərici məhdudiyyətləri” - göstərici məhdudiyyətləri (bloklama).
- "ilkin seçim" - X11-ə bənzətməklə, məlumat adətən orta siçan düyməsi ilə daxil edilən əsas mübadilə buferinin (əsas seçim) işləməsini təmin edir.
- "nisbi göstərici hadisələri" - nisbi göstərici hadisələri.
- "mətn daxiletmə" - mətn daxiletmənin təşkili.
- “xdg-foreign” “qonşu” müştərinin səthləri ilə qarşılıqlı əlaqə üçün interfeysdir.
- "xdg-decoration" - server tərəfində pəncərə bəzəklərinin göstərilməsi.
- "xdg-output" - video çıxışı haqqında əlavə məlumat (kəsr miqyası üçün istifadə olunur).
- "xwayland-keyboard-grab" - XWayland proqramlarında girişi ələ keçirin.
Mənbə: opennet.ru
