В Ubuntu 12.10 ожидается поддержка Wayland
10 мая 2012 года
На саммите разработчиков Ubuntu состоялось обсуждение вопросов, связанных с интеграцией в дистрибутив поддержки дисплейного сервера Wayland. В частности, был намечен план по реализации в Ubuntu 12.10 полноценной поддержки работы всей графической подсистемы на базе Wayland и композитного сервера Weston. При этом подчёркивается, что в дистрибутиве по умолчанию будет продолжено использование обычных X11-приложений, которые будут выполняться поверх Wayland с использованием прослойки XWayland, позволяющей запустить полноценный X.Org-сервер в роли клиента Wayland. Таким образом будет обеспечена полная совместимость со всеми текущими приложениями.
Переход на использование приложений, собранных для работы напрямую с Wayland пока рассматривается как вопрос отдалённого будущего, по крайней мере использование XWayland позволит максимально сгладить такой переход и постепенно, по мере готовности приложений, переходить на программы без прослоек работающих с Wayland. В настоящее время поддержка прямой работы c Wayland уже реализована для библиотек Gtk3+, Qt 5, SDL, Clutter и EFL (Enlightenment Foundation Library), но для конечных приложений переход усложняется, задействованием во многих программах функций Xlib (например, из 22 протестированных GTK-приложений в 13 выявлены обращения к Xlib через вызовы gdk_x11_*).
Несмотря на обсуждение намерения задействования Wayland в Ubuntu 12.10, наиболее вероятно, что в осеннем выпуске в лучшем случае будет доступен лишь тестовый ознакомительный прототип, а включение Wayland в базовую поставку состоится не раньше выпуска Ubuntu 13.04. Основной причиной подобных предположений является неготовность самого Wayland к широкому внедрению. В частности, первый стабильный релиз Wayland 1.0, в котором будет полностью сформирован API, ожидается в лучшем случае только осенью (изначальный план подготовки Wayland 1.0 указывает на конец года). Необходимые для работы Wayland компоненты пока ограничены полноценной поддержкой только открытого видеодрайвера intel, частично поддерживают radeon и теоретически могут работать с nouveau, но ни в какой форме не поддерживают широко распространённые проприетарные драйверы от компаний AMD и NVIDIA. Кроме того, прослойка XWayland также пока находится в состоянии активной разработки и требует существенной доработки и устранения наблюдаемых проблем.
Для решения проблемы с отсутствием поддержки Wayland в проприетарных драйверах компания Canonical планирует договориться с компаниями NVIDIA и AMD о реализации необходимой функциональности, а если это не удастся, создать специальный бэкенд, транслирующий API данных драйверов в необходимую для работы Wayland форму. В качестве причины перехода на Wayland, кроме повышения производительности вывода, вследствие более простой архитектуры и исключения лишней буферизации, называется желание обеспечить бесшовную работу единого графического режима на протяжении всех стадий работы дистрибутива, включая загрузку, вход в систему и завершение работы.
Wayland представляет собой протокол взаимодействия композитного сервера и работающих с ним приложений. Клиенты самостоятельно выполняют отрисовку своих окон в отдельном буфере, передавая информацию об обновлениях композитному серверу, который комбинирует содержимое буферов отдельных приложений для формирования итогового вывода с учётом возможных нюансов, таких как перекрытие окон и прозрачность. Иными словами, композитный сервер не предоставляет API для отрисовки отдельных элементов, а оперирует только с уже сформированными окнами, что позволяет избавится от двойной буферизации при использовании высокоуровневых библиотек, таких как GTK+ и Qt, берущих на себя работу по компоновке содержимого окон. Взаимодействие с аппаратным обеспечением, например, проведение инициализации, переключение видеорежимов (drm modesetting) и управление памятью (GEM для i915 и TTM для radeon и nouveau) графических карт, может производиться напрямую через модуль, работающий на уровне ядра, что позволяет обойтись без привилегий суперпользователя.
В рамках проекта Weston развивается один из прототипов реализации композитного сервера. Подчёркивается, что это лишь одна из реализаций (по аналогии с оконными менеджерами), так как в роли композитного сервера может выступать любой другой продукт, поддерживающий протокол Wayland. Например, в настоящее время ведётся работа по обеспечению поддержки Wayland в таких существующих композитных менеджерах для X11, как KWin и Compiz. Композитный сервер Weston может работать с использованием DRM-модуля ядра Linux, поверх X11 или поверх другого композитного сервера Wayland.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.