Представлен [2] первый официальный релиз протокола, механизма межпроцессного взаимодействия и библиотек Wayland [3], а также композитного сервера Weston [4]. Представленный выпуск 0.85 послужит отправной точкой в формировании стабильного релиза 1.0, который планируется выпустить в конце года. Версия 0.85 содержит стабилизированную реализацию протокола и API, которые в одном из следующих выпусков будут заморожены от существенных изменений. В процессе подготовки релиза 1.0 в API и протокол будет внесена небольшая серия финальных корректировок, при этом 0.85 можно считать начальным шагом к стабилизации проекта.
Поддержка работы поверх дисплейного сервера Wayland, без использования промежуточных прослоек, уже реализована [5] для библиотек Gtk3+, Qt, SDL, Clutter и EFL (Enlightenment Foundation Library). Для обеспечения совместимости с программами, использующими низкоуровневые библиотеки X11, подготовлен компонент XWayland, позволяющий запустить X.Org-сервер в роли клиента Wayland.
Wayland представляет [6] собой протокол взаимодействия композитного сервера и работающих с ним приложений. Клиенты самостоятельно выполняют отрисовку своих окон в отдельном буфере, передавая информацию об обновлениях композитному серверу, который комбинирует содержимое буферов отдельных приложений для формирования итогового вывода с учётом возможных нюансов, таких как перекрытие окон и прозрачность. Иными словами, композитный сервер не предоставляет API для отрисовки отдельных элементов, а оперирует только с уже сформированными окнами, что позволяет избавится от двойной буферизации при использовании высокоуровневых библиотек, таких как GTK+ и Qt, берущих на себя работу по компоновке содержимого окон. Взаимодействие с аппаратным обеспечением, например, проведение инициализации, переключение видеорежимов (drm modesetting) и управление памятью (GEM для i915 и TTM для radeon и nouveau) графических карт, может производиться напрямую через модуль, работающий на уровне ядра, что позволяет обойтись без привилегий суперпользователя.
В рамках проекта Weston развивается один из прототипов реализации композитного сервера. Подчёркивается, что это лишь одна из реализаций (по аналогии с оконными менеджерами), так как в роли композитного сервера может выступать любой другой продукт, поддерживающий протокол Wayland. Например, в настоящее время ведётся работа по обеспечению поддержки Wayland в таких существующих композитных менеджерах для X11, как KWin и Compiz. Композитный сервер Weston может работать с использованием DRM-модуля ядра Linux, поверх X11 или поверх другого композитного сервера Wayland.
Wayland не поддерживает рендеринг на удалённой системе. Технически возможно создание подобного API, но оно приведёт к существенному усложнению, в то время как Wayland изначально позиционируется как максимально легковесный протокол. В качестве выхода названо несколько путей: Первый вариант предполагает перенос функций сетевого взаимодействия на сторону клиентского ПО. Второй вариант предусматривает интеграцию функции рендеринга на удалённую систему в код композитного сервера. Третий вариант связан с созданием специального сервера удалённого рендеринга, работающего поверх Wayland. В качестве такой надстройки, как уже было отмечено выше, может выступать сервер X.org, или реализация не привязанных к X11 серверов для таких эффективных протоколов доступа к удалённому рабочему столу, как NX, RDP и VNC.
Дополнительно стоит отметить, что Кейт Паккард (Keith Packard), лидер проекта X.Org и создатель множества X-расширений, в своём выступлении на конференции FOSDEM упомянул [7] о планах по обеспечению интеграции между приложениями X и Wayland. В частности, разработчики намерены обеспечить поддержку бесшовного многооконного режима и поддержки ускорения X через работу поверх Wayland, что позволит предоставить возможность запуска привязанных к X.Org приложений через дисплейный сервер Wayland, подобно тому как XQuartz позволяет запускать X-приложения на платформе Mac OS X.
По мнению Паккарда при работе X-программ поверх Wayland не будет наблюдаться падения производительности, скорее наоборот, ожидается ускорение работы таких программ, так как Wayland имеет существенно более простую архитектуру. В настоящее время уже обеспечена возможность работы по вышеуказанной схеме базовых X-приложений, простых оконных менеджеров, буфера обмена, технологии drag&drop. Из не решённых задач отмечается синхронизация изменений в клавиатурном маппинге, создание оптимальной архитектуры акселерации для X поверх Wayland и обработка RandR-подобных изменений настроек дисплея.
Ссылки:
[1] http://htfl.ru/cat-news-obnovlenie
[2] /out.php?link=http://lists.freedesktop.org/archives/wayland-devel/2012-February/002072.html
[3] /out.php?link=http://wayland.freedesktop.org
[4] /out.php?link=http://cgit.freedesktop.org/wayland/weston/
[5] /out.php?link=http://wayland.freedesktop.org/toolkits.html
[6] /out.php?link=http://wayland.freedesktop.org/architecture.html
[7] /out.php?link=http://www.phoronix.com/scan.php?page=news_item&px=MTA1NTM