В Ubuntu вместо X-сервера планируется использовать дисплейный сервер Wayland

Спустя неделю после новости о переходе на использование в следующим релизе Ubuntu в качестве интерфейса по умолчанию оболочки Unity вместо GNOME Shell, Марк Шаттлворт заявил в своем блоге об очередном революционном шаге: разработчики планируют перейти к использованию вместо X-сервера дисплейного сервера Wayland. Выбор Wayland с бэкендом на базе OpenGL обусловлен желанием обеспечить новый уровень графического оформления и визуальных эффектов, при использовании классического X-сервера реализация которого по мнению разработчиков Ubuntu чрезвычайно усложнена.

Для обеспечения задуманных функций на базе стандартного X-сервера потребовалась бы разработка X11-расширений, которые трудно совместить с базовыми целями X11 и которые требуют кардинальной переработки протокола X11. При использовании OpenGL задача существенно упрощается, но ценой данному шагу служит отказ от таких ключевых ценностей X11, как сетевая прозрачность (приложение может быть запущено на одной машине, а графический интерфейс сформирован на другой машине). Другими из рассмотренных вариантов были: адаптация композитной подсистемы из платформы Android, попытки убедить некоторых проприетарных вендоров открыть код своих продуктов и намерение написать собственный дисплейный сервер с нуля. В итоге, рассмотрев все плюсы и минусы, было принято решение остановиться на развитии кодовой базы проекта Wayland.

Wayland еще только развивается и не доведен до финальной стадии, поэтому работа предстоит большая и проект его внедрения в Ubuntu носит долгосрочный характер. Из предстоящих работ отмечается разработка открытых видеодрайверов и поддержки KMS-модулей ядра. Появление первых пригодных для тестирования результатов работы ожидается приблизительно через год. При удачном стечении обстоятельств, Wayland может быть включен по умолчанию в Ubuntu ориентировочно в 2012 году, но при возникновении непредвиденных проблем реализация проекта может продлиться дольше.

Переход на Wayland не станет ломать сложившиеся устои и не приведет к перевороту в мире свободных десктоп приложений: для запуска классических X-приложений в окружении Wayland планируется разработать специальную прослойку для обеспечения режима совместимости. Разработчики Ubuntu также готовы оказать помощь проектам GNOME и KDE в процессе адаптации данных десктоп окружений для работы поверх Wayland.

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

Источник: www.opennet.ru