Демонстрационный композитный сервер Wayland выделен в отдельный проект Weston

04.01.2012 10:51

Основатель дисплейного сервера Wayland сообщил о переименовании демонстрационной реализации композитного сервера Wayland (wayland sample compositor) в Weston. Решение о присвоении отдельного имени для композитного сервера принято чтобы избежать путаницы, так как до сих пор код wayland-compositor поставлялся не как отдельная подсистема, а как сопутствующее демонстрационное приложение, развиваемое в репозитории wayland-demos.

В репозитории wayland размещены только библиотеки libwayland-server и libwayland-client с реализацией протокола Wayland, а в wayland-demos примеры создания на их основе рабочего клиента и сервера. Отныне, рабочая реализация композитного сервера, использующего библиотеки Wayland, будет развиваться в собственном репозитории weston, который пока является символической ссылкой на репозиторий wayland-demos. Композитный сервер Weston может работать с использованием KMS-модуля ядра Linux, поверх X11 или поверх другого композитного сервера Wayland.

Композитный сервер Weston уже давно вышел за рамки демонстрационного приложения и может рассматриваться как самостоятельный проект, на который не уместно навешивать клеймо "demo". Второй причиной смены имени является то, что рассматриваемый композитный сервер всё чаще именуется в обиходе как "wayland compositor", в то время как изначально данный код позиционируется не как единственная базовая стандартная реализация, а лишь как один из возможных композитных серверов (по аналогии с оконными менеджерами). В частности, появление поддержки Wayland ожидается в существующих композитных менеджерах для X11, таких как KWin и Compiz. Использование имени Weston для композитного сервера из состава wayland-demos позволит отделить три часто смешиваемых понятия: протокол Wayland, примерная реализация композитного сервера и композитный сервер Wayland в общем виде.

Wayland отличается от X-сервера тем, что на уровне сервера выполняется только переадресация всех окон, а все операции рендеринга и управления окнами производятся на стороне клиента и передаются для обработки композитному серверу. Сервер не поддерживает API отрисовки и оперирует только с уже сформированными окнами, что позволяет избавится от двойной буферизации при использовании таких библиотек как GTK+, Qt и Clutter. Все операции отрисовки производятся силами дополнительных библиотек, например, OpenGL ES, FreeType и Cairo. Взаимодействие с аппаратным обеспечением, например, проведение инициализации, переключение видеорежимов (drm modesetting) и управление памятью (GEM) графических карт, может производиться напрямую через KMS-модуль, работающий на уровне ядра, что позволяет обойтись без привилегий суперпользователя. Для обеспечения совместимости с программами, использующими низкоуровневые библиотеки X11, подготовлен компонент XWayland, позволяющий запустить X.Org-сервер в роли клиента Wayland.

 Демонстрационный композитный сервер Wayland выделен в отдельный проект Weston