Доступен Wayland 1.25

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

Główne zmiany w protokole:

  • Документация преобразована из формата 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.
  • В 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 представляет собой протокол взаимодействия композитного сервера и работающих с ним приложений. Клиенты самостоятельно выполняют отрисовку своих окон в отдельном буфере, передавая информацию об обновлениях композитному серверу, który łączy zawartość buforów poszczególnych aplikacji, tworząc końcowy wynik z uwzględnieniem możliwych niuansów, takich jak nakładanie się okien i przezroczystość. Innymi słowy, serwer kompozytowy nie udostępnia API do renderowania poszczególnych elementów, lecz operuje wyłącznie na już uformowanych oknach, co pozwala uniknąć podwójnego buforowania przy użyciu bibliotek wyższego poziomu, takich jak GTK i Qt, które zajmują się układaniem zawartości okien.

Wayland решает многие проблемы с безопасностью X11, так как в отличие от последнего изолирует ввод и вывод для каждого окна, не позволяет клиенту получить доступ к содержимому окон других клиентов, а также не допускает перехват связанных с другими окнами событий ввода. Поддержка прямой работы c Wayland реализована для большинства применяемых в Linux графических библиотек, включая GTK, Qt, SDL, FLTK, wxWidgets, Clutter и EFL (Enlightenment Foundation Library).

Interakcja z hardwarem w Wayland/Weston, na przykład inicjalizacja, zmiana trybów wideo (drm modesetting) oraz zarządzanie pamięcią (GEM dla i915 i TTM dla radeon i nouveau) kart graficznych, może odbywać się bezpośrednio za pośrednictwem modułu działającego na poziomie jądra, co pozwala na ominięcie uprawnień superużytkownika. Aby umożliwić działanie standardowych aplikacji X11 w środowisku opartym na Wayland, używany jest komponent DDX XWayland (Device-Dependent X), co przypomina działanie Xwin i Xquartz na platformach Win32 i macOS.

Доступен Wayland 1.25Доступен Wayland 1.25

Źródło: opennet.ru

Kup solidny hosting dla stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting dla stron z ochroną przed DDoS, serwery VPS VDS | ProHoster