Доступен Wayland 1.23

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3249
Зарегистрирован: 20.08.2022

#

Доступен Wayland 1.23
Дата публикации:Fri, 31 May 2024 11:48:44 +0300




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





Основные изменения в протоколе:
  • В libwayland реализован API, позволяющий клиенту определить максимальный размер внутреннего буфера соединений на стороне сервера. Базовый максимальный размер буфера выставляется через интерфейс wl_display, а новый API позволяет клиентам изменять его в привязке к каждому клиентскому соединению. C практической стороны изменение позволяет использовать буферы большего размера в специфичных Wayland-клиентах, таких как Xwayland, которым свойственна большая интенсивность событий ввода.


    Для запросов (request), событий (event) и перечислений (enum) предоставлена возможность использования XML-атрибута "deprecated-since" для пометки устаревших элементов. В терминологии Wayland запросы - это сообщения, отправляемые клиентом к серверу; события -
    это сообщения передаваемые от сервера к клиенту; перечисления - это связанные с определённым именем наборы числовых значений, которыми манипулирует протокол.

    В утилиту wayland-scanner, предназначенную для генерации заголовочных файлов и кода на языке Си на основе XML-файлов с описанием протокола, добавлен режим "enum-header", включающий указание в заголовочных файлах только "перечислений".
    В wayland-scanner обеспеченна генерация проверочных функций (validator) для "перечислений" на стороне сервера.
    Добавлен API для назначения очереди имени с целью упрощения последующей отладки.

    Добавлены функции wl_client_get_user_data() и wl_client_set_user_data(), упрощающие прикрепление произвольных данных к клиенту.

    Добавлен запрос wl_shm.release, позволяющий клиенту информировать сервер о прекращении использования разделяемого объекта, что позволяет серверу освободить связанную с ним память.

    Добавлена поддержка платформы OpenBSD.


Связанные с Wayland события, произошедшие с момента публикации прошлого выпуска:
  • Опубликован XWayland 24.1.0 с поддержкой технологии Explicit Sync и улучшением поддержки архитектур 2D-ускорения GLAMOR и EXA.

    Обновление композитного сервера labwc (Lab Wayland Compositor) с возможностями, напоминающими оконный менеджер Openbox.

    Проект wprs, развивающий для Wayland менеджер сеансов, похожий на утилиту screen, но для графических приложений.

    Публикация композитного сервера Niri, использующего Wayland и предлагающего метод мозаичной (tiling) компоновки с группировкой окон в бесконечно прокручиваемую на экране ленту.

    Обновление набора протоколов и расширений Wayland-Protocols:
    1.34,
    1.33,
    1.32,
    1.35.

    Разработка библиотеки SDL3, применяющей Wayland по умолчанию.

    Выпуск среды рабочего стола LXQt 2.0.0 с поддержкой Wayland в файловом менеджере PCManFM-Qt, системе уведомлений, рабочем столе, утилите для запуска программ (Runner), панели, интерфейсе выхода из системы, интерфейсе настройки LXQt и большинстве приложений.

    Релиз пользовательского окружения Sway 1.9, использующего Wayland.

    Новый композитный менеджер miracle-wm, базирующийся на Wayland и компонентах для построения композитных менеджеров Mir.

    Louvre - новая библиотека для разработки композитных серверов на базе Wayland.

    Работа по реализации поддержки Wayland в Xfce.

    Начальная поддержка Wayland в среде рабочего стола Budgie.

    Начальная поддержка Wayland в среде рабочего стола Cinnamon.
    Почти завершено портирование рабочего стола MATE для Wayland.


    Дистрибутив Lubuntu переходит на использование Qt 6 и Wayland.

    В KDE 6 по умолчанию предложен сеанс, использующий протокол Wayland. Реализована поддержка Wayland-расширений для управления цветом.

    В платформе Electron включён режим декорирования окон для Wayland.

    Обновление композитного сервера Wayfire, использующего Wayland и позволяющего формировать интерфейсы пользователя c 3D-эффектами в стиле 3D-плагинов к Compiz.

    Поддержка Wayland в IDE IntelliJ и OpenJDK.

    Поддержка Wayland в текстовом редакторе GNU Emacs.

    В GNOME в сеансе на базе Wayland реализована поддержка программного KVM-коммутатора Input Leap, позволяющего использовать одну клавиатуру и мышь для управления несколькими компьютерами.

    Редакция Fedora с рабочим столом KDE прекратила поддержку сеанса на основе протокола X11 в базовой поставке.

    Улучшена поддержка окружений на базе Wayland в проприетарных драйверах NVIDIA.

    Реализован драйвер, позволяющий использовать Wine в окружениях на базе протокола Wayland без применения XWayland и компонентов X11.

    Сформирован выпуск композитного сервера Weston 13.0.

    Для тестирования работы KDE, GNOME, Enlightenment, Wayfire, Mir, Xfce и Sway поверх Wayland выпускается специальный Live-дистрибутив Rebecca Black Linux.

    В Linux-сборках Forefox по умолчанию включено использование композитного сервера Wayland вместо XWayland. Предоставлена возможность создания сборок, поддерживающих работу только в Wayland.


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




Wayland решает многие проблемы с безопасностью X11, так как в отличие от последнего изолирует ввод и вывод для каждого окна, не позволяет клиенту получить доступ к содержимому окон других клиентов, а также не допускает перехват связанных с другими окнами событий ввода. В настоящее время поддержка прямой работы c Wayland уже реализована для библиотек GTK, Qt, SDL (начиная с выпуска 2.0.2), Clutter и EFL (Enlightenment Foundation Library). Начиная с Qt 5.4 в состав включён модуль QtWayland с реализацией компонентов для работы Qt-приложений в окружении композитного сервера Weston, развиваемого проектом Wayland.




Взаимодействие с аппаратным обеспечением в Wayland/Weston, например, проведение инициализации, переключение видеорежимов (drm modesetting) и управление памятью (GEM для i915 и TTM для radeon и nouveau) графических карт, может производиться напрямую через модуль, работающий на уровне ядра, что позволяет обойтись без привилегий суперпользователя. Композитный сервер Weston может работать не только с использованием DRM-модуля ядра Linux, но и поверх X11, другого композитного сервера Wayland, фреймбуфера и RDP. Кроме того, развиваются проекты по обеспечению работы поверх графического стека платформы Android.



В рамках проекта Weston развивается одна из реализаций композитного сервера. В роли композитного сервера также может выступать любой другой продукт, поддерживающий протокол Wayland. Например, в настоящее время ведётся работа по обеспечению поддержки Wayland в KWin. В текущем виде Weston уже вышел за рамки набора примеров для тестирования протокола Wayland и может обрастать функциональностью через плагины и дополнения. Пользовательские оболочки и расширенные функций управления окнами предлагается реализовывать в форме внешних бэкендов к Weston. Для обеспечения выполнения обычных X11-приложений в окружении на базе Wayland используется DDX-компонент XWayland (Device-Dependent X), похожий по организации работы на Xwin и Xquartz для платформ Win32 и macOS.
ИзображениеИзображение









Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=61281

Жизнь за Нер'зула!

Ответить