Представлен (https://lists.freedesktop.org/archives/wayland-devel/2017-Au...) стабильный релиз протокола, механизма межпроцессного взаимодействия и библиотек Wayland 1.14, а также развиваемого параллельно композитного сервера Weston 3.0 (https://lists.freedesktop.org/archives/wayland-devel/2017-Au...). Ветка Wayland 1.14 обратно совместима на уровне API и ABI с выпусками 1.x и содержит только исправления нескольких ошибок и удаление неиспользуемых полей из структуры wl_client. В Weston развиваются технологии, содействующие появлению полноценной поддержки протокола Wayland в Enlightenment, GNOME, KDE и других пользовательских окружениях. Разработка Weston нацелена на предоставление высококачественной кодовой базы и рабочих примеров для использования Wayland в десктоп-окружениях и встраиваемых решениях, таких как платформы для автомобильных информационно-развлекательных систем, смартфонов, телевизоров и прочих потребительских устройств.
Смена номера версии Weston на 3.0 обусловлена изменениями ABI, нарушающими совместимость. В частности, в libweston изменён размер структур weston_output и weston_compositor. В остальном отмечаются мелкие новшества, такие как улучшение интеграции композитного сервера с DRM-модулем вывода через фреймбуфер (drm_fb), включение libdrm в число обязательных зависимостей, реализация глобального обработчика вывода на несколько мониторов (вместо привязки к каждому устройству вывода), незначительное сокращение времени запуска.
В библиотеке libweston проведён небольшой рефакторинг интерфейса управления выводом, включены неэкспортируемые вызовы weston_compositor_add_output и weston_output_update_matrix. В оболочке для автомобильных информационно-развлекательных систем ivi-shell проведена чистка кода, добавлен API add_screen_remove_layer, удалены API layer_set_orientation и surface_set_orientation.
Статус поддержки Wayland в окружениях рабочего стола и дистрибутивах:
- В Ubuntu 17.10 решено (https://www.opennet.ru/opennews/art.shtml?num=46962) использовать рабочий стол GNOME с применением по умолчанию Wayland вместо традиционного X-сервера.
- Fedora 26 (https://www.opennet.ru/opennews/art.shtml?num=46837) стал вторым выпуском, в котором по умолчанию предложен сеанс GNOME на базе Wayland. По сравнению с Fedora 25 обеспечено применение дробного масштабирования (например, теперь можно увеличить элемент не в 2 раза, а в 1.5) для подбора оптимального размера элементов на экранах с высокой плотностью пикселей (HiDPI);
- В GNOME 3.24 (https://www.opennet.ru/opennews/art.shtml?num=46239) представлена очередная порция улучшений, связанных с поддержкой Wayland. В оконный менеджер Mutter добавлена (https://bugzilla.gnome.org/show_bug.cgi?id=773629) поддержка расширений EGLStreams и EGLDevice, позволяющих использовать проприетарные драйверы NVIDIA (начиная с выпуска 370) для запуска GNOME поверх Wayland. Добавлена возможность использования графических планшетов Wacom в окружениях на базе Wayland;
- Продолжается работа по достижению паритета в функциональности при запуске KDE поверх X11 и Wayland. В KDE Plasma 5.10 (https://www.opennet.ru/opennews/art.shtml?num=46625) при использовании Wayland реализована полноценная поддержка раскладок клавиатур, в том числе добавлен переключатель раскладки в системном лотке, горячие клавиши для смены раскладки, возможность смены раскладки в локальном контексте (для приложения, окна, виртуального рабочего стола), поддержка IPС-интерфейса для смены раскладки из приложений. В KWin добавлена поддержка корректного масштабирования для экранов с разной плотностью размещения пикселей, например, при подключении HiDPI-экрана и обычного монитора.
- В основные нестабильные сборки KDE Neon Developer Edition, в рамках которых формируются Live-окружение с актуальными версиями программ и компонентов KDE, добавлена (https://www.opennet.ru/opennews/art.shtml?num=46714) поддержка Wayland. Сеанс на базе Wayland уже вполне пригоден для работы, но по умолчанию не предлагается из-за невозможности использования с некоторыми графическими картами и проблематичности организации отката в случае несовместимости оборудования с Wayland;
- Для FreeBSD подготовлены (https://www.opennet.ru/opennews/art.shtml?num=46829) порты, необходимые для сборки KDE с поддержкой Wayland;
- В Qt 5.9 (https://www.opennet.ru/opennews/art.shtml?num=46632) внесена большая порция (http://blog.qt.io/blog/2017/05/31/qt-lite-qt-5-9-lts/) улучшений в 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.
- В рамках проекта AsteroidOS развивается (https://www.opennet.ru/opennews/art.shtml?num=45640) новая открытая ОС для умных часов, использующая Qt5 и Wayland;
- Работа по добавлению поддержки 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, например, проведение ин...
URL: https://lists.freedesktop.org/archives/wayland-devel/2017-Au...
Новость: http://www.opennet.ru/opennews/art.shtml?num=46991