Выпуск Wayland 1.16 и композитного сервера Weston 5.0
25 августа 2018 года
Представлен стабильный релиз протокола, механизма межпроцессного взаимодействия и библиотек Wayland 1.16, а также развиваемого параллельно композитного сервера Weston 5.0. Отмечается, что в дальнейшем планируется формировать новые выпуски Wayland по мере подготовки новой функциональноcти или устранения серьёзных ошибок, а не по заранее определённому фиксированному графику. Выпуски Weston, как и раньше, продолжат выходить через заранее определённые промежутки времени, но они не будут больше синхронизированы с выпусками Wayland.
В рамках очередного цикла разработки кодовые базы Wayland и Weston переведены с cgit, Bugzilla, Patchwork и ikiwiki на новую инфраструктуру совместной разработки на базе платформы GitLab. Внедрена система непрерывной интеграции. Ветка Wayland 1.16 обратно совместима на уровне API и ABI с выпусками 1.x и кроме исправления ошибок примечательна удалением устаревших клиентских определений wl_global, решением проблем с обработкой сигналов, реализацией поддержки ссылок на внешние перечисляемые типы в генераторе кода.
Смена значительного номера версии Weston обусловлена изменениями ABI, нарушающими совместимость. В Weston развиваются технологии, содействующие появлению полноценной поддержки протокола Wayland в Enlightenment, GNOME, KDE и других пользовательских окружениях. Разработка Weston нацелена на предоставление высококачественной кодовой базы и рабочих примеров для использования Wayland в десктоп-окружениях и встраиваемых решениях, таких как платформы для автомобильных информационно-развлекательных систем, смартфонов, телевизоров и прочих потребительских устройств.
В новой версии Weston представлен новый интерфейс калибровки сенсорных экранов. Реализована возможность использования аппаратных средств для манипуляции плоскостями с применением атомарного переключения видеорежимов. Добавлен режим клонирования и обеспечивающие его инфраструктурные изменения. В compositor-drm добавлена поддержка разъёмов DPI (Parallel Display Interface). Расширены возможности оболочки для автомобильных информационно-развлекательных систем (ivi-shell).
Статус поддержки Wayland в окружениях рабочего стола и дистрибутивах:
- Дистрибутив Lubuntu наметил переход на Wayland на 2020 год. Поддержку Wayland планируется реализовать через портирование оконного менеджера Openbox на использование дисплейного сервера Mir, применяемого в качестве композитного сервера для Wayland;
- Сформирован первый релиз проекта AsteroidOS, в рамках которого предложена новая открытая ОС для умных часов, использующая Qt5 и Wayland;
- Доступен выпуск панели Latte Dock с поддержкой Wayland. Разработчик Latte Dock использует данную панель в окружении на базе Wayland в своей повседневной работе;
- В рамках подготовки будущего стабильного релиза GTK+ 4 ведётся работа по модернизации API в контексте поддержки Wayland. Реализована новая платформа методов ввода, базирующаяся на протоколе Wayland;
- В openSUSE Leap 15 предложен опциональный сеанс KDE на базе Wayland. При выборе GNOME по умолчанию предлагается Wayland;
- В SUSE Linux Enterprise 15 задействован рабочий стол GNOME 3.26, по умолчанию работающий поверх Wayland;
- Подготовлен тестовый выпуск платформы Tizen 5.0, по умолчанию использующей Wayland. В новой версии обновлена поддержка Wayland. В дисплейный сервер добавлена поддержка протокола xdg_shell_unstable_v6;
- В KDE продолжает наблюдаться прогресс в стабилизации и расширении поддержки Wayland. В KDE Plasma 5.13 при использовании Wayland задействованы высокоприоритетные контексты EGL, добавлена начальная поддержка скринкастов и совместного доступа к рабочему столу;
- В Kubuntu 18.04
предложен экспериментальный сеанс на базе Wayland;
- В Qt 5.11 улучшена поддержка High-DPI, обеспечена возможность отката на X11 в случае недоступности Wayland (QT_QPA_PLATFORM="wayland;xcb"), добавлена поддержка ввода символов при помощи клавиши Compose, Qt Wayland добавлен в состав базовых сборок. Развиваемая проектом Qt платформа для автомобильных систем Qt Automotive Suite включает Qt Wayland Compositor, многопоточную систему отрисовки для встраиваемых устройств, использующую протокол Wayland;
- Началась работа над выпуском пользовательского окружения LXQt 1.0.0, главной задачей при разработке которого стало доведение до полной готовности возможности работы поверх Wayland;
- В LTS-выпуске Ubuntu 18.04 по умолчанию возвращён традиционный графический стек на основе X.Org Server, а сеанс на основе Wayland предложен в качестве опции. В выпуске Ubuntu 18.10, а также в следующем LTS релизе Ubuntu 20.04, планируется вернуться на использование Wayland по умолчанию;
- Fedora 28 стал четвёртым выпуском, в котором по умолчанию предложен сеанс GNOME на базе Wayland;
- В разрабатываемой компанией LG открытой платформе webOS Open Source Edition развивается новый композитный менеджер, основанный на протоколе Wayland;
- Продолжатся работа по улучшению поддержки Wayland в Enlightenment;
- В дисплейном сервере Mir развивается возможность работы клиентов Wayland, что позволяет организовать запуск Wayland-приложений в окружении Mir, используя Mir в качестве композитного сервера для Wayland;
- Система вывода в механизме для запуска виртуальных машин с Linux в ChromeOS предоставляет встроенную поддержку Wayland-клиентов (virtio-wayland) с выполнением композитного сервера на стороне основного хоста и возможностью эффективного использования GPU из гостевых систем;
- Для FreeBSD развиваются порты, необходимые для сборки KDE с поддержкой Wayland;
- В ОС DragonFly BSD развивается порт с Wayland и Weston, имеется поддержка XWayland;
- Использующие Wayland пользовательские окружения papyros-shell и Hawaii объединились в новый проект Liri. Liri базируется на Qt 5 (QML) и продвигает оформление в стиле Material Design;
- Wayland задействован по умолчанию в мобильных платформах Plasma Mobile и Sailfish 2.
- В панели Cairo-Dock предусмотрена возможность работы в окружении композитного сервера Weston.
- Работа по добавлению поддержки Wayland ведётся для рабочего стола MATE;
- Развивается десктоп-окружение Orbital, работающее только на базе технологий Wayland;
- Для тестирования работы GNOME, KDE и Enlightenment, Hawai и Orbital поверх Wayland выпускается специальный Live-дистрибутив Rebecca Black Linux.
Напомним, что Wayland представляет собой протокол взаимодействия композитного сервера и работающих с ним приложений. Клиенты самостоятельно выполняют отрисовку своих окон в отдельном буфере, передавая информацию об обновлениях композитному серверу, который комбинирует содержимое буферов отдельных приложений для формирования итогового вывода с учётом возможных нюансов, таких как перекрытие окон и прозрачность. Иными словами, композитный сервер не предоставляет API для отрисовки отдельных элементов, а оперирует только с уже сформированными окнами, что позволяет избавиться от двойной буферизации при использовании высокоуровневых библиотек, таких как GTK+ и Qt, берущих на себя работу по компоновке содержимого окон. В настоящее время поддержка прямой работы c Wayland уже реализована для библиотек GTK3+, Qt 5, 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-компонент
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.