Релиз Wayland 1.5
21 мая 2014 года
После пяти месяцев разработки увидел свет стабильный релиз протокола, механизма межпроцессного взаимодействия и библиотек Wayland 1.5, а также развиваемого параллельно композитного сервера Weston 1.5. Ветка 1.5 обратно совместима на уровне API и ABI с выпусками 1.x, но дополнительно содержит порцию улучшений, расширяющих возможности протокола и композитного сервера Weston. Следующий выпуск 1.6 запланирован на середину сентября (разработка синхронизирована с GNOME Shell 3.14).
Основные новшества Weston 1.5:
- Интегрирована поддержка DDX-компонента XWayland (Device-Dependent X), включённого в состав кодовой базы X.Org и дебютирующего в осеннем выпуске X.Org Server 1.16. XWayland позволяет обеспечить работу прослойки для выполнения немодифицированых приложений X11 в окружении на базе Wayland и композитного сервера Weston. По организации работы XWayland выполнен в форме отдельного X-сервера, чем напоминает Xwin и Xquartz для платформ Win32 и OS X. Для ускорения вывода используется основанная на OpenGL архитектура 2D-акселерации Glamor, что позволяет использовать XWayland независимо от установленных видеодрайверов (изначально, первый вариант XWayland основывался на задействовании средств 2D-ускорения из отдельных драйверов для конкретного оборудования, например, развивался специальный драйвер xf86-video-wayland и поддерживалась отдельная ветка драйвера xf86-video-intel с поддержкой Wayland, теперь эти наработки объявлены устаревшими);
- Продолжена работа над протоколом xdg-shell, предназначенном для организации взаимодействия между приложениями и десктоп-окружением, в том числе востребованного для обеспечения полноценной работы GNOME Shell поверх Wayland. Работа над xdg-shell пока полностью не завершена, но в текущем выпуске добавлена давно ожидаемая поддержка минимизации. До полноценного состояния xdg-shell планируется довести в выпуске 1.6;
- Компоненты для организации ввода вынесены в отдельную библиотеку
libinput, которая уже задействована в таких проектах, как Clutter и GNOME. Weston может быть настроен для использования libinput, но по умолчанию пока предлагается старый код для работы с устройствами ввода данных. Переход на libinput по умолчанию и удаление старого кода ожидается после стабилизации API libinput;
- Поддержка анимированного закрытия окон. В своей основе данная функция обеспечена новым механизмом временного удержания поверхности после отключения клиента, создавшего данную поверхность;
- Добавлена поддержка полноэкранной оболочки (Fullscreen shell), механизма, позволяющего одному клиенту создать неперекрываемую поверхность, развёрнутую на весь экран, что может быть востребовано при реализации интернет-киосков или в играх;
- В Weston обеспечена возможность использования различной глубины цветности для различных каналов вывода;
Основные новшества Wayland 1.5:
- Осуществлён переход на использование нерекурсивных сборочных сценариев (Makefiles).
- Для событий wl_display задействована внутренняя очередь событий, что позволяет клиентской библиотеке мгновенно отправлять события delete_id и error, даже если применяемая по умолчанию очередь переполнена.
Экспериментальная поддержка функционирования поверх Wayland уже доступна выпуске KDE 4.13 и будет доступна из коробки в ветке KDE 5. В GNOME поддержка Wayland также пока носит экспериментальный характер, но в выпуске GNOME 3.14 ожидается реализация полноценного пользовательского сеанса на основе Wayland, пригодного для реальной работы. В дальнейших выпусках проект GNOME планирует перейти на Wayland в качестве первичной платформы, а разработчики KDE намерены обеспечить работу поверх Wayland не хуже, чем X.Org. Более того, полноценная поддержка работы GNOME поверх Wayland будет обеспечена уже в осеннем выпуске дистрибутива Fedora 21.
Поддержка Wayland также ожидается в выпуске проекта Enlightenment E18 и в одном из будущих выпусков MATE. Wayland уже используется в мобильных платформах Sailfish и Tizen 3. Кроме существующих систем активно развиваются новые десктоп-окружения, работающее только на базе технологий Wayland - Hawaii и Orbital. Для тестирования работы GNOME, KDE и Enlightenment, Hawai и Orbital поверх Wayland развивается специальный Live-дистрибутив Rebecca Black Linux.
Wayland представляет собой протокол взаимодействия композитного сервера и работающих с ним приложений. Клиенты самостоятельно выполняют отрисовку своих окон в отдельном буфере, передавая информацию об обновлениях композитному серверу, который комбинирует содержимое буферов отдельных приложений для формирования итогового вывода с учётом возможных нюансов, таких как перекрытие окон и прозрачность. Иными словами, композитный сервер не предоставляет API для отрисовки отдельных элементов, а оперирует только с уже сформированными окнами, что позволяет избавиться от двойной буферизации при использовании высокоуровневых библиотек, таких как GTK+ и Qt, берущих на себя работу по компоновке содержимого окон. В настоящее время поддержка прямой работы c Wayland уже реализована для библиотек GTK3+, Qt 5, SDL ( начиная с выпуска 2.0.2), Clutter и EFL (Enlightenment Foundation Library).
В рамках проекта Weston развивается одна из реализаций композитного сервера. В роли композитного сервера также может выступать любой другой продукт, поддерживающий протокол Wayland. Например, в настоящее время ведётся работа по обеспечению поддержки Wayland в KWin. В текущем виде Weston уже вышел за рамки набора примеров для тестирования протокола Wayland, но продолжает позиционироваться как эталонная система, которая может обрастать функциональностью через плагины и дополнения. При этом Weston не будет развиваться как обособленное десктоп-окружение, а будет представлять собой ядро и плагинный API для создания таких окружений, по аналогии с тем, как сервер X.Org лежит в основе современных графических систем. Пользовательские оболочки и расширенные функций управления окнами предлагается реализовывать в форме внешних бэкендов к Wayland.
Взаимодействие с аппаратным обеспечением в Wayland/Weston, например, проведение инициализации, переключение видеорежимов (drm modesetting) и управление памятью (GEM для i915 и TTM для radeon и nouveau) графических карт, может производиться напрямую через модуль, работающий на уровне ядра, что позволяет обойтись без привилегий суперпользователя. Композитный сервер Weston может работать не только с использованием DRM-модуля ядра Linux, но и поверх X11 или поверх другого композитного сервера Wayland. Кроме того, развиваются проекты по обеспечению работы поверх графического стека платформы Android.
Для обеспечения выполнения обычных X11-приложений в окружении на базе Wayland используется DDX-компонент
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.