Доступний Wayland 1.25

Після восьми місяців розробки подано стабільний реліз протоколу, механізму міжпроцесної взаємодії та бібліотек Wayland 1.25. Гілка 1.25 сумісна на рівні API і ABI з випусками 1.x і містить в основному виправлення помилок і незначні оновлення протоколу. Напрацювання проекту розповсюджуються під ліцензією MIT. Еталонний композитний сервер Weston, що надає код та робочі приклади для використання Wayland у десктоп-оточеннях та вбудовуваних рішеннях, розвивається в рамках окремого циклу розробки.

Основні зміни у протоколі:

  • Документація перетворена з формату DocBook на mdBook (Markdown).
  • Повністю документовані діалект Wayland XML, модель оновлення контенту та можливості для керування кольором.
  • Додано новий атрибут "frozen" для інтерфейсів з кількома батьківськими інтерфейсами.
  • Додано новий запит wl_surface.get_release для отримання повідомлення про звільнення буфера, прикріпленого клієнтом через wl_surface.attach. На відміну від wl_buffer.release у wl_surface.get_release повідомлення прив'язане до конкретного моменту відтворення.
  • Додана функція wl_display_dispatch_pending_single(), що дозволяє дістати з черги подій і обробити тільки одну подію, а не всі події, що накопичилися, як це робить wl_display_dispatch_pending().
  • Забезпечено виділення кольорами виводу WAYLAND_DEBUG.

Додані з моменту випуску Wayland 1.25 розширення протоколів, що доповнюють базовий протокол Wayland і поставляються в окремому наборі Wayland-Protocols:

  • xx-input-method — дозволяє програмам реалізовувати методи введення тексту для композитних серверів і формувати введений текст, що може застосовуватися, наприклад, для створення віртуальних клавіатур та IME-шар (Input Method Editor) для обробки введення.
  • xx-text-input – дозволяє композитним серверам реалізовувати методи введення та відправляти текст у додатки. Протокол стандартизує взаємодію між композитним. сервером і додатками, і дозволяє керувати такими можливостями, як передача тексту, обробка подій про зміну фокусу введення і облік специфіки полів введення (мова, виділення тексту, тип контенту).
  • Доопрацьовано протоколи color-management-v1 та color-representation-v1, що надають можливості для керування кольором, підтримки HDR та визначення кольорового уявлення Wayland-поверхні.

Найбільш помітні події, пов'язані з Wayland і відбулися з моменту публікації минулого випуску:

  • У GNOME 50 видалено підтримку X11. У KDE Plasma 6.8 вирішено припинити підтримку X11.
  • JetBrains перекладає IDE IntelliJ на використання Wayland за умовчанням.
  • Xfce анонсував композитний сервер Xfwl4, який використовує Wayland.
  • Середовище робочого столу Budgie 10.10 переведено на Wayland.
  • QNX Developer Desktop на базі Wayland.
  • Marathon OS – мобільна ОС на базі Wayland.
  • Випуск Wayback, прошарку для запуску робочих столів X11, використовуючи компоненти Wayland.
  • У Cinnamon додано опціональну можливість встановлення сесійних файлів для Wayland та реалізовано можливість перемикання розкладки клавіатури при використанні Wayland.
  • У драйвері wine під час роботи в оточеннях на базі Wayland реалізовано підтримку буфера обміну, методів введення, непрямокутних вікон та прозорості.
  • У Cairo-Dock додано підтримку Wayland.
  • Оновлення композитних серверів: Weston 15.0, River 0.4.0, Hyprland 0.54, labwc 0.9.4, Niri 25.11, miracle-wm 0.8, Wayfire 0.10, wlmaker 0.6, labwc 0.9.0.

Нагадаємо, що Wayland є протоколом взаємодії композитного. сервера та працюючих з ним додатків. Клієнти самостійно виконують малювання своїх вікон в окремому буфері, передаючи інформацію про оновлення композитного. сервера, що комбінує вміст буферів окремих додатків для формування підсумкового висновку з урахуванням можливих нюансів, таких як перекриття вікон та прозорість. Іншими словами, композитний сервер не надає API для відображення окремих елементів, а оперує тільки з вже сформованими вікнами, що дозволяє позбутися подвійної буферизації при використанні високорівневих бібліотек, таких як GTK і Qt, що беруть на себе компонування вмісту вікон.

Wayland вирішує багато проблем з безпекою X11, так як на відміну від останнього ізолює введення та виведення для кожного вікна, не дозволяє клієнту отримати доступ до вмісту вікон інших клієнтів, а також не допускає перехоплення пов'язаних з іншими вікнами подій введення. Підтримка прямої роботи c wxWidgets, Clutter та EFL (Enlightenment Foundation Library).

Взаємодія з апаратним забезпеченням у Wayland/Weston, наприклад, проведення ініціалізації, перемикання відеорежимів (drm modesetting) і керування пам'яттю (GEM для i915 і TTM для radeon і nouveau) графічних карт, може проводитися безпосередньо через модуль, що працює на рівні ядра, що дозволяє обійтися без. Для забезпечення виконання звичайних X11 додатків в оточенні на базі Wayland використовується DDX-компонент XWayland (Device-Dependent X), схожий по організації роботи на Xwin і Xquartz для платформ Win32 і macOS.

 Доступний Wayland 1.25  Доступний Wayland 1.25

Джерело: opennet.ru

Додати коментар або відгук