В Ubuntu будет дисплейный сервер Wayland
🕛 06.11.2010, 00:13
Спустя неделю после заявления о переходе на применение в будущем релизе Убунту в качестве интерфейса изначально оболочки Unity вместо GNOME Shell, Марк Шаттлворт сообщил в собственном блоге об очередном революционном шаге: создатели собираются перейти к применению вместо X-сервера дисплейного сервера Wayland. Выбор Wayland с бэкендом на базе OPENGL обусловлен желанием обеспечить новый ур. графического оформления и визуальных эффектов, при использовании классического X-сервера реализация которого по заключению девелоперов Убунту очень усложнена.Для обеспечения задуманных функций на базе стандартного X-сервера потребовалась бы разработка X11-расширений, которые тяжело совместить с основными целями X11 и требующие кардинальной переработки протокола X11. При использовании OPENGL задача значительно упрощается, однако ценой данному шагу служит отказ от этих ключевых ценностей X11, как сетевая прозрачность (приложение может оказаться запущено на одной машине, а графический интерфейс сформирован на иной машине). Другими из рассмотренных вариантов были: адаптация композитной подсистемы из платформы Android, попытки убедить некоторых проприетарных вендоров открыть код своих продуктов и намерение написать свой дисплейный сервер с нуля. В результате, рассмотрев все плюсы и минусы, было принято решение остановиться на развитии кодовой базы проекта Wayland.
Wayland еще лишь развивается и не доведен до финальной стадии, потому работа предстоит большая и проект его введения в Убунту носит долгосрочный характер. Из предстоящих работ отмечается развитие открытых видеодрайверов и помощи KMS-модулей ядра. Появление I-х пригодных для тестирования результатов работы ожидается примерно ч/з г.. При удачном стечении обстоятельств, Wayland может оказаться интегрирован изначально в Убунту ориентировочно в 2012 г., однако при возникновении непредвиденных проблем реализация проекта может затянуться.
Переход на Wayland не станет ломать сложившиеся устои и не приведет к перевороту в мире свободных рабочий стол-приложений: для запуска классических X-приложений в окружении Wayland планируется разработать специальную прослойку для обеспечения режима совместимости. Создатели Убунту к тому же готовы оказать помощь проектам GNOME и KDE в ходе адаптации данных рабочий стол-окружений для работы поверх Wayland.
Wayland отличается от классического X-сервера тем, что на уровне сервера выполняется лишь переадресация всех окон, а все операции рендеринга и управления окнами производятся на стороне клиента и передаются для обработки серверу со встроенным композитным менеджером. Сервер не поддерживает АПИ отрисовки и оперирует лишь с уже сформированными окнами, что дает возможность избавится от двойной буферизации, при использовании подобных библиотек как GTK+, Qt и Clutter. Все операции отрисовки производятся силами доп. библиотек, к примеру, OPENGL ES, FREETYPE и Cairo. Взаимодействие с аппаратным обеспечением, к примеру, проведение инициализации, переключение видеорежимов (drm modesetting) и управление памятью (GEM) графических карт, производится ч/з KMS-модуль, работающий на уровне ядра, что дает возможность обойтись без привилегий суперпользователя.