LINUXTALKS.CO

Доступен Wayland 1.21

 

L


0

1

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

Основные изменения в протоколе:

  • В программный интерфейс wl_pointer добавлена поддержка события wl_pointer.axis_value120 для высокоточного скроллинга на манипуляторах мышь с колесом прокрутки высокого разрешения.
  • В сервер добавлены новые функции wl_signal_emit_mutable (аналог wl_signal_emit, поддерживающий корректную работу в ситуации, когда один обработчик сигналов, удаляет другой обработчик) и wl_global_get_version (позволяет узнать общую версию API).
  • Разработка переведена на платформу GitLab с использованием инфраструктуры проекта FreeDesktop.org.
  • Проведена чистка и переработка структур и функций, связанных с настройкой курсора.
  • Протокол wl_shell отмечен как необязательный для реализации в композитных серверах и объявлен устаревшим. Для создания пользовательских оболочек рекомендовано использовать протокол xdg_shell, предоставляющий интерфейс для взаимодействия с поверхностями как с окнами, что позволяет передвигать поверхности по экрану, сворачивать, разворачивать, изменять размер и т.д.
  • Повышены требования к сборочной системе, для сборки теперь необходим инструментарий Meson как минимум версии 0.56. При компиляции включён флаг "c_std=c99".

Изменения в приложениях, окружениях рабочего стола и дистрибутивах, связанные с Wayland:

  • В KDE планируют в 2022 году довести сеанс рабочего стола Plasma на базе протокола Wayland до состояния, пригодного для повседневного использования существенной долей пользователей. Значительно улучшена поддержка Wayland в выпусках KDE Plasma 5.24 и 5.25, в том числе добавлена поддержка глубины цветности больше 8-бит на канал, реализован режим "DRM leasing" для шлемов виртуальной реальности, обеспечена поддержка создания скриншотов и сворачивания всех окон.
  • В Fedora 36 на системах с проприетарными драйверами NVIDIA по умолчанию задействован сеанс GNOME на базе протокола Wayland, который раньше применялся только при использовании открытых драйверов.
  • В Ubuntu 22.04 для большинства конфигураций по умолчанию задействован сеанс рабочего стола на базе протокола Wayland, но использование X-сервера оставлено по умолчанию для систем с проприетарными драйверами NVIDIA. Для Ubuntu предложен PPA-репозиторий с пакетом qtwayland в который из ветки Qt 5.15.3, сопровождаемой проектом KDE, перенесены исправления, связанные с улучшением поддержки протокола Wayland.
  • Опубликован выпуск пользовательского окружения Sway 1.7, использующего Wayland.
  • В ночных сборках Firefox по умолчанию включена поддержка Wayland. В Firefox исправлена проблема с блокировкой потоков, налажено масштабирование всплывающих окон и обеспечена работа контекстного меню при проверке правописания. В соответствии со статистикой сервиса Firefox Telemetry, анализирующего данные, поступающие в результате отправки телеметрии и обращения пользователей к серверам Mozilla, доля Linux-пользователей Firefox, работающих в окружениях на базе протокола Wayland, пока не превышает 10%.
  • Опубликован выпуск экранной оболочки для мобильных устройств Phosh 0.15.0, основанной на технологиях GNOME и использующей композитный сервер Phoc, работающий поверх Wayland.
  • Компания Valve продолжает развивать композитный сервер Gamescope (ранее известный как steamcompmgr), использующий протокол Wayland и применяемый в операционной системе SteamOS 3.
  • Опубликован выпуск DDX-компонента XWayland 22.1.0, обеспечивающего запуск X.Org Server для организации выполнения X11-приложений в окружениях на базе Wayland. В новой версии добавлена поддержка протокола DRM Lease, который используется для формирования стереокартинки с разными буферами для левого и правого глаза при выводе на шлемы виртуальной реальности.
  • Проект labwc развивает композитный сервер для Wayland с возможностями, напоминающими оконный менеджер Openbox (проект преподносится как попытка создания альтернативы Openbox для Wayland).
  • Доступен первый выпуск LWQt, варианта пользовательской оболочки LXQt на базе Wayland.
  • Компания Collabora в рамках проекта wxrd, развивает новый композитный сервер на базе Wayland для систем виртуальной реальности.
  • Опубликован выпуск проекта Wine-wayland 7.7, позволяющего использовать Wine в окружениях на базе протокола Wayland, без применения XWayland и компонентов X11.
  • Аарон Плaттнер (Aaron Plattner), один из ведущих разработчиков проприетарных драйверов NVIDIA, опубликовал отчёт о состоянии поддержки Wayland в драйверах NVIDIA.
  • Сформирован выпуск композитного сервера Weston 10.0, в котором добавлена поддержка библиотеки libseat, предоставляющей функции для организации доступа к совместно используемым устройствам ввода и вывода, а также добавлены компоненты для управления цветом, позволяющие преобразовывать цвета, выполнять гамма-коррекцию и работать с цветовыми профилями.
  • Продолжено портирование рабочего стола MATE для Wayland.
  • Компания System76 работает над созданием нового пользовательского окружения COSMIC, использующего Wayland.
  • Компания Microsoft реализовала возможность запуска Linux-приложений с графическим интерфейсом в окружениях на базе подсистемы WSL2 (Windows Subsystem for Linux). Для вывода задействован композитный менеджер RAIL-Shell, использующий протокол Wayland и основанный на кодовой базе Weston.
  • Wayland задействован по умолчанию в мобильных платформах Plasma Mobile, Sailfish, webOS Open Source Edition, Tizen и AsteroidOS.
  • На базе Wayland развиваются оболочки Ubuntu Frame и wayward.
  • Для тестирования работы KDE, GNOME, Enlightenment, Wayfire, Liri и Sway поверх Wayland выпускается специальный Live-дистрибутив Rebecca Black Linux.



\

Напомним, что 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.

// cc-by opennet.ru
// converted with crypt’s opennet autoreposter

>>> Подробности

★★★☆☆

Wayland решает многие проблемы с безопасностью X11, так как в отличие от последнего изолирует ввод и вывод для каждого окна, не позволяет клиенту получить доступ к содержимому окон других клиентов, а также не допускает перехват связанных с другими окнами событий ввода.

Чёт мне кажется это гонево, там стопудово уже костылей прикрутили чтобы работал захват экрана, скриншоты и т.п., помножив эту «безопасность» на ноль.

cocucka    
★★★★★★★★★★★
Linux / Firefox
Ответ на: комментарий от cocucka

там стопудово уже костылей прикрутили чтобы работал захват экрана, скриншоты и т.п

В sway к сожалению да. В gnome, насколько я знаю, нет. API для захвата экрана и скриншотов в самом gnome-shell - приватные и доступны только для xdg-desktop-portal-gnome. А API портала - спрашивают разрешения у пользователя при обращении к ним.

sorrow    
★★★★★★★★★★★★
Windows / Firefox
Ответ на: комментарий от cocucka

Не помножили, всё работает через порталы

alexferman    
★★★★★
Linux / Firefox
Ответ на: комментарий от sorrow

там стопудово уже костылей прикрутили

В sway к сожалению да.

его же делают по юникс-вей))

crypt    
★★★☆☆
FreeBSD / Chrome

Отличная новость, порадовался за божественный Windows, где всё просто работает(tm) без вот этих вечных "в 2022 2032 году довести до пригодного состояния".

d_a    
★★★★★★★★
Windows / Chrome
Ответ на: комментарий от sorrow

sway - из кучи мелки утилит собери себе десктоп.

crypt    
★★★☆☆
FreeBSD / Chrome
Ответ на: комментарий от d_a

да у тебя на винде 12 опять зато интерфейс полностью переделают!) сделают помесь ежа с носорогом и будешь мучаться) а в моем баше все просто работает (тм)

crypt    
★★★☆☆
Последнее исправление: crypt (всего исправлений: 1)

FreeBSD / Chrome
Ограничение на отправку комментариев: только для зарегистрированных пользователей, score>=90