Представлен (http://lists.freedesktop.org/archives/wayland-devel/2014-Sep...) стабильный релиз протокола, механизма межпроцессного взаимодействия и библиотек Wayland 1.6 (http://wayland.freedesktop.org), а также развиваемого параллельно композитного сервера Weston 1.6. Ветка 1.6 обратно совместима на уровне API и ABI с выпусками 1.x, но дополнительно содержит порцию улучшений, расширяющих возможности протокола и композитного сервера Weston. Следующий выпуск 1.7 запланирован на 13 февраля.Основные новшества Weston 1.6:
- Усовершенствована поддержка протокола xdg-shell. К сожеланию, по сравнению с выпуском 1.5 наблюдается нарушение совместности в поддержке xdg-shell. Протокол xdg-shell предназначен для организации взаимодействия между приложениями и десктоп-окружением, в том числе востребованного для обеспечения полноценной работы GNOME Shell поверх Wayland;
- Добавлен механизм маскировки weston_layer;
- В DRM-бэкенде обеспечено извлечение информации о размере курсора из ядра;
- Поддержка управления частотой повторения ввода символов при удержании клавиши в нажатом положении;
- Реализация wl_display_add_socket_auto() избавлена от необходимости указания сокета при запуске Weston поверх другого экземпляра Weston;
- По умолчанию задействована библиотека
libinput (http://www.freedesktop.org/wiki/Software/libinput/), которая также используется в таких проектах, как Clutter и GNOME. Старый код для работы с устройствами ввода данных пока оставлен в качестве запасного варианта, но его поддержка будет прекращена в выпуске 1.7;
- Добавлены дополнительные настройки для desktop-shell;
- Из коробки обеспечена работа сборочного сценария "make distcheck", не требуя дополнительных манипуляций;- Обеспечено завершение работы Weston, в случае раннего завершения weston-desktop-shell, что позволяет решить проблемы с подвисанием с черным экраном;
- Добавлена опция для принудительного включения numlock при запуске с бэкендами DRM и fbdev;
Основные новшества Wayland 1.6:
- В протокол wl_keyboard добавлена информация о частоте повторения ввода;
- В libwayland-client внесены дополнения для обработки ошибок, в частности, приложение теперь может запросить более детальную информации об ошибке протокола;
- В wl_surface добавлено перечисление ошибок;
- В wl_display_add_socket_auto() из состава libwayland-server обеспечен автоматический поиск свободного имени сокета;
- Реализована большая порция новых тестов для 'make check'. Подготовлен фреймворк для упрощения тестирования взаимодействия клиента с сервером;
- Проведена работа над ошибками в коде многопоточности и выставления блокировок;
- Добавлена функция wl_display_roundtrip_queue();
- Прекращено раскрытие глобальной переменной wl_display.
Экспериментальная поддержка функционирования поверх Wayland уже доступна в свежих выпусках веток KDE 4 (https://www.opennet.ru/opennews/art.shtml?num=39586) и KDE 5 (https://www.opennet.ru/opennews/art.shtml?num=40206). В GNOME поддержка Wayland также пока носит экспериментальный характер, но в выпуске GNOME 3.14 (https://www.opennet.ru/opennews/art.shtml?num=40424) ожидается (http://blogs.gnome.org/mclasen/2014/09/16/a-wayland-status-u.../) реализация полноценного пользовательского сеанса на основе Wayland, пригодного для реальной работы. В частности, по сравнению с GNOME 3.12 в версии 3.14 появится поддержка раскладок клавиатуры, операций Drag-and-Drop и поддержка сенсорных экранов. За несколькими исключениями, практически решены (https://wiki.gnome.org/Initiatives/Wayland/Applications) проблемы с запуском типовых приложений GNOME при работе поверх Wayland.
В дальнейших выпусках проект GNOME планирует перейти на Wayland в качестве первичной платформы, а разработчики KDE намерены обеспечить работу поверх Wayland не хуже, чем X.Org. Более того, полноценная поддержка работы GNOME поверх Wayland будет обеспечена (https://www.opennet.ru/opennews/art.shtml?num=39738) уже в осеннем выпуске дистрибутива Fedora 21. Полный по умолчанию на Wayland произойдёт (https://www.opennet.ru/opennews/art.shtml?num=40129) не раньше выпуска Fedora 23.
Поддержка Wayland также реализована в выпуске проекта Enlightenment E19 (https://www.opennet.ru/opennews/art.shtml?num=40591) и в панели Cairo-Dock (https://www.opennet.ru/opennews/art.shtml?num=40057), а также ожидается в одном из будущих выпусков (https://www.opennet.ru/opennews/art.shtml?num=39106) MATE. Wayland уже используется в мобильных платформах Sailfish (https://www.opennet.ru/opennews/art.shtml?num=38545) и Tizen 3 (https://www.opennet.ru/opennews/art.shtml?num=39930). Кроме существующих систем активно развиваются новые десктоп-окружения, работающее только на базе технологий Wayland - 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=39379) специальный 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).
В рамках проекта Weston развивается одна из реализаций композитного сервера. В роли композитного сервера также может выступать любой другой продукт, поддерживающий протокол Wayland. Например, в настоящее время ведётся работа по обеспечению поддержки Wayland в KWin. В текущем виде Weston уже вышел за рамки набора примеров для тестирования протокола Wayland, но продолжает позиционироваться как эталонная система, которая может обрастать функциональностью через плагины и дополнения. При этом Weston не будет развиваться как обособленное десктоп-окружение, а будет представлять собой ядро и плагинный API для создания таких окружений, по аналогии с тем, как сервер X.Org лежит в основе современных графических систем. Пользовательские оболочки и расширенные функций управления окнами предлагается реализовывать в форме внешних бэкендов к Wayland.
Взаимодействие с аппаратным обеспечением в Wayland/Weston, например, проведение инициализации, переключение видеорежимов (drm modesetting) и управление памятью (GEM для i915 и TTM для radeon и nouveau) графических карт, может производиться напрямую через модуль, работающий на уровне ядра, что позволяет обойтись без привилегий суперпользователя. Композитный сервер Weston может работать не только с использованием DRM-модуля ядра Linux, но и поверх X11 или поверх другого композитного сервера Wayland. Кроме того, развиваются проекты (https://www.opennet.ru/opennews/art.shtml?num=36685) по обеспечению работы поверх графического стека платформы Android.
Для обеспечения выполнения обычных X11-приложений в окружении на базе Wayland используется DDX-компонент XWayland (http://cgit.freedesktop.org/xorg/xserver/tree/hw/xwayland) (Device-Dependent X), похожий по организации работы на Xwin и Xquartz для платформ Win32 и OS X. Поддержку запуска X11-приложений планируется встроить непосредственно в ком...
URL: http://lists.freedesktop.org/archives/wayland-devel/2014-Sep...
Новость: https://www.opennet.ru/opennews/art.shtml?num=40632