Доступен 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.




Добавленные c момента выпуска 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.

  • Обновление композитных серверов: 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 Wayland реализована для большинства применяемых в Linux графических библиотек, включая GTK, Qt, SDL, FLTK, 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.

0_1464763723.png0_1464763699.png



Источник: http://www.opennet.ru/opennews/art.shtml? num=65020

© OpenNet