Релиз дисплейного сервера Wayland 0.85 и композитного сервера Weston 0.85

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

Поддержка работы поверх дисплейного сервера Wayland, без использования промежуточных прослоек, уже реализована для библиотек Gtk3+, Qt, SDL, Clutter и EFL (Enlightenment Foundation Library). Для обеспечения совместимости с программами, использующими низкоуровневые библиотеки X11, подготовлен компонент XWayland, позволяющий запустить X.Org-сервер в роли клиента Wayland.

Wayland представляет собой протокол взаимодействия композиторого сервера и работающих с ним приложений. Клиенты самостоятельно выполняют отрисовку своих окон в отдельном буфере, передавая информацию об обновлениях композитному серверу, который комбинирует содержимое буферов отдельных приложений для формирования итогового вывода с учётом возможных нюансов, таких как перекрытие окон и прозрачность. Иными словами, композитный сервер не предоставляет API для отрисовки отдельных элементов, а оперирует только с уже сформированными окнами, что позволяет избавится от двойной буферизации при использовании высокоуровневых библиотек, таких как GTK+ и Qt, берущих на себя работу по компоновке содержимого окон. Взаимодействие с аппаратным обеспечением, например, проведение инициализации, переключение видеорежимов (drm modesetting) и управление памятью (GEM) графических карт, может производиться напрямую через модуль, работающий на уровне ядра, что позволяет обойтись без привилегий суперпользователя.

В рамках проекта Weston развивается один из прототипов реализации композитного сервера. Подчёркивается, что это лишь одна из реализаций (по аналогии с оконными менеджерами), так как в роли композитного сервера может выступать любой другой продукт, поддерживающий протокол Wayland. Например, в настоящее время ведётся работа по обеспечению поддержки Wayland в таких существующих композитных менеджерах для X11, как KWin и Compiz. Композитный сервер Weston может работать с использованием KMS-модуля ядра Linux, поверх X11 или поверх другого композитного сервера Wayland.

Дополнительно стоит отметить, что Кейт Паккард (Keith Packard), лидер проекта X.Org и создатель множества X-расширений, в своём выступлении на конференции FOSDEM упомянул о планах по обеспечению интеграции между приложениями X и Wayland. В частности разработчики намерены обеспечить поддержку бесшовного многооконного режима и поддержки ускорения X через возможность работы поверх Wayland, что позволит предоставить возможность запуска привязанных к X.Org приложений через дисплейный сервер Wayland, подобно тому как XQuartz позволяет запускать X-приложения на платформе Mac OS X.

По мнению Паккарда при работе X-программ поверх Wayland не будет наблюдаться падение производительности, возможно, наоборот будет наблюдаться ускорение работы таких программ, так как Wayland имеет существенно более простую архитектуру. В настоящее время уже обеспечена возможность работы по вышеуказанной схеме базовых X-приложений, простых оконных менеджеров, буфера обмена, технологии drag&drop.; Из не решённых зада отмечается синхронизация изменений в клавиатурном маппинге, создание оптимальной архитектуры акселерации для X поверх Wayland и обработка RandR-подобных изменений настроек дисплея.

© OpenNet