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-компонент

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Релиз Wayland 1.5», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.