Представлен первый официальный релиз протокола, механизма межпроцессного взаимодействия и библиотек 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-подобных изменений настроек дисплея.
Источник
|