Представлен первый официальный релиз протокола, механизма межпроцессного взаимодействия и библиотек 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 для 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 упомянул о планах по обеспечению интеграции между приложениями X и Wayland. В частности, разработчики намерены обеспечить поддержку бесшовного многооконного режима и поддержки ускорения X через работу поверх Wayland, что позволит предоставить возможность запуска привязанных к X.Org приложений через дисплейный сервер Wayland, подобно тому как XQuartz позволяет запускать X-приложения на платформе Mac OS X.

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

Источник: http://www.opennet.ru/opennews/art.shtml?num=33063