Состоялся (https://lists.freedesktop.org/archives/wayland-devel/2017-Fe...) стабильный релиз протокола, механизма межпроцессного взаимодействия и библиотек Wayland 1.13 (https://wayland.freedesktop.org/). Ветка 1.13 обратно совместима на уровне API и ABI с выпусками 1.x, но дополнительно содержит порцию улучшений. Кроме исправления (https://lists.freedesktop.org/archives/wayland-devel/2017-Ja...) ошибок в Wayland 1.13 реализован (https://patchwork.freedesktop.org/patch/116409/) API для управления видимостью глобальных структур, при помощи которого композитный сервер может ограничить доступ к приватным программным интерфейсам и определить к каким частям структуры wl_global клиент имеет доступ. Следующий выпуск 1.14 запланирован на июнь 2017 года.
Ожидавшийся сегодня выпуск композитного сервера Weston 2.0 отложен (https://lists.freedesktop.org/archives/wayland-devel/2017-Fe...) до конца недели из-за выявления в последний момент ошибок, исправления для которых требуют дополнительного тестирования. Напомним, что Weston развиваются технологии, содействующие появлению полноценной поддержки протокола Wayland в Enlightenment, GNOME, KDE и других пользовательских окружениях. Разработка Weston нацелена на предоставление высококачественной кодовой базы и рабочих примеров для использования Wayland в десктоп-окружениях и встраиваемых решениях, таких как платформы для автомобильных информационно-развлекательных систем, смартфонов, телевизоров и прочих потребительских устройств.
Смена номера значительной версии в Weston 2.0 обусловлена изменениями в новом API управления выводом, нарушающими совместимость c libweston на уровне ABI. Все штатные бэкенды портированы на новый API для настройки вывода. В новой версии также добавлена поддержка EGL-расширения EGL_KHR_swap_buffers_with_damage, реализованного (https://www.opennet.ru/opennews/art.shtml?num=42886) в проприетарном драйвере NVIDIA. В бэкенде GL добавлена поддержка буферов DRM_FORMAT_YUV444. Улучшено позиционирование панелей в desktop-shell. В XWayland приведены в порядок сообщения об ошибках.
Статус поддержки Wayland в окружениях рабочего стола и дистрибутивах:
- В рамках проекта AsteroidOS развивается (https://www.opennet.ru/opennews/art.shtml?num=45640) новая открытая ОС для умных часов, использующая Qt5 и Wayland.
- В находящейся в разработке ветке GNOME 3.24 продолжается оттачивание поддержки Wayland, которая ранее уже была объявлена пригодной для использования обычными пользователями. Добавлена (https://bugzilla.gnome.org/show_bug.cgi?id=773629) возможность работы поверх проприетарных драйверов NVIDIA (https://www.opennet.ru/opennews/art.shtml?num=44087), c использованием EGLDevice и EGLStreams;
- В Fedora 25 (https://www.opennet.ru/opennews/art.shtml?num=45541) по умолчанию предложен сеанс GNOME на базе Wayland;
- В Ubuntu GNOME продолжается тестирование экспериментального сеанса рабочего стола GNOME на базе Wayland (следует установить пакет gnome-session-wayland и выбрать на экране входа "GNOME on wayland");
- Продолжается работа по достижению паритета в функциональности при запуске KDE поверх X11 и Wayland. В KDE Plasma 5.9 (https://www.opennet.ru/opennews/art.shtml?num=45951) при использовании Wayland стали доступны инструменты для создания скриншотов и определения цвета, обеспечены возможности раскрытия окон на весь экран без отображения рамок, задания собственных цветовых схем и перетаскивания приложений кликом на пустой области интерфейса, добавлен поддержка режима автоматического скрытия панели, добавлена поддержка управляющих жестов. Для тестирования проектом Neon подготовлены Live-сборки на базе Wayland;
- Начиная с Qt 5.8 (https://www.opennet.ru/opennews/art.shtml?num=45901) переведён в разряд полностью поддерживаемых модуль Qt Wayland Compositor с многопоточной системой отрисовки для встраиваемых устройств, использующая протокол Wayland.
Модуль может использоваться (http://blog.qt.io/blog/2017/01/23/creating-devices-with-mult.../) для создания собственных композитных серверов Wayland, применяя QML или C++ API. Имеется поддержка стандарта XDG-Shell и возможность работы в системах с несколькими экранами. В качестве примера применения Qt Wayland Compositor развивается рабочий стол Grefsen (https://github.com/ec1oud/grefsen);
- В Enlightenment (https://www.opennet.ru/opennews/art.shtml?num=44707) ведётся работа по улучшению поддержка Wayland;
- В ОС DragonFly BSD развивается (https://www.opennet.ru/opennews/art.shtml?num=43138) порт с Wayland и Weston, имеется (http://lists.dragonflybsd.org/pipermail/users/2016-May/24962...) поддержка XWayland;
- Wayland задействован по умолчанию в мобильных платформах Plasma Mobile (https://www.opennet.ru/opennews/art.shtml?num=42668), Sailfish 2 (https://www.opennet.ru/opennews/art.shtml?num=42944) и Tizen 3 (https://www.opennet.ru/opennews/art.shtml?num=42978).
- В панели Cairo-Dock предусмотрена (https://www.opennet.ru/opennews/art.shtml?num=40906) возможность работы в окружении композитного сервера Weston.
- Работа по добавлению поддержки Wayland ведётся для рабочих столов LXQt (https://www.opennet.ru/opennews/art.shtml?num=41633) и MATE (https://www.opennet.ru/opennews/art.shtml?num=39106).
- Развиваются новые десктоп-окружения, работающее только на базе технологий Wayland: papyros-shell (http://papyros.io/), Hawaii (https://www.opennet.ru/opennews/art.shtml?num=38730) и Orbital (https://www.opennet.ru/opennews/art.shtml?num=38934).
- Для тестирования работы GNOME, KDE и Enlightenment, Hawai и Orbital поверх Wayland выпускается (https://www.opennet.ru/opennews/art.shtml?num=43837) специальный Live-дистрибутив Rebecca Black Linux (http://sourceforge.net/projects/rebeccablackos/).
Напомним, что Wayland представляет (http://wayland.freedesktop.org/architecture.html) собой протокол взаимодействия композитного сервера и работающих с ним приложений. Клиенты самостоятельно выполняют отрисовку своих окон в отдельном буфере, передавая информацию об обновлениях композитному серверу, который комбинирует содержимое буферов отдельных приложений для формирования итогового вывода с учётом возможных нюансов, таких как перекрытие окон и прозрачность. Иными словами, композитный сервер не предоставляет API для отрисовки отдельных элементов, а оперирует только с уже сформированными окнами, что позволяет избавиться от двойной буферизации при использовании высокоуровневых библиотек, таких как GTK+ и Qt, берущих на себя работу по компоновке содержимого окон. В настоящее время поддержка прямой работы c Wayland уже реализована для библиотек GTK3+, Qt 5, SDL (начиная с выпуска 2.0.2 (https://www.opennet.ru/opennews/art.shtml?num=39269)), 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. Кроме того, развиваются проекты (https://www.opennet.ru/opennews/art.shtml?num=36685) по обеспечению работы поверх графического стека платформы Android.
В рамках проекта Weston развивается одна из реализаций композитного сервера. В роли композитного сервера также может выступать любой другой продукт, поддерживающий протокол Wayland. Например, в настоящее время ведётся работа по обеспечению поддержки...
URL: https://lists.freedesktop.org/archives/wayland-devel/2017-Fe...
Новость: http://www.opennet.ru/opennews/art.shtml?num=46080