19 сентября 2014 года

Представлен стабильный релиз протокола, механизма межпроцессного взаимодействия и библиотек Wayland 1.6, а также развиваемого параллельно композитного сервера Weston 1.6. Ветка 1.6 обратно совместима на уровне API и ABI с выпусками 1.x, но дополнительно содержит порцию улучшений, расширяющих возможности протокола и композитного сервера Weston. Следующий выпуск 1.7 запланирован на 13 февраля.

Основные новшества Weston 1.6:

  • Усовершенствована поддержка протокола xdg-shell. К сожеланию, по сравнению с выпуском 1.5 наблюдается нарушение совместимости в поддержке xdg-shell. Протокол xdg-shell предназначен для организации взаимодействия между приложениями и десктоп-окружением, в том числе востребованного для обеспечения полноценной работы GNOME Shell поверх Wayland;
  • Добавлен механизм маскировки weston_layer;
  • В DRM-бэкенде обеспечено извлечение информации о размере курсора из ядра;
  • Поддержка управления частотой повторения ввода символов при удержании клавиши в нажатом положении;
  • Реализация wl_display_add_socket_auto() избавлена от необходимости указания сокета при запуске Weston поверх другого экземпляра Weston;
  • По умолчанию задействована библиотека

libinput, которая также используется в таких проектах, как Clutter и GNOME. Старый код для работы с устройствами ввода данных пока оставлен в качестве запасного варианта, но его поддержка будет прекращена в выпуске 1.7;

  • Добавлены дополнительные настройки для desktop-shell;
  • Из коробки обеспечена работа сборочного сценария "make distcheck", не требуя дополнительных манипуляций;
  • Обеспечено завершение работы Weston, в случае раннего завершения weston-desktop-shell, что позволяет решить проблемы с подвисанием с черным экраном;
  • Добавлена опция для принудительного включения numlock при запуске с бэкендами DRM и fbdev;

Основные новшества Wayland 1.6:

  • В протокол wl_keyboard добавлена информация о частоте повторения ввода;
  • В libwayland-client внесены дополнения для обработки ошибок, в частности, приложение теперь может запросить более детальную информации об ошибке протокола;
  • В wl_surface добавлено перечисление ошибок;
  • В wl_display_add_socket_auto() из состава libwayland-server обеспечен автоматический поиск свободного имени сокета;
  • Реализована большая порция новых тестов для 'make check'. Подготовлен фреймворк для упрощения тестирования взаимодействия клиента с сервером;
  • Проведена работа над ошибками в коде многопоточности и выставления блокировок;
  • Добавлена функция wl_display_roundtrip_queue();
  • Прекращено раскрытие глобальной переменной wl_display.

Экспериментальная поддержка функционирования поверх Wayland уже доступна в свежих выпусках веток KDE 4 и KDE 5. В GNOME поддержка Wayland также пока носит экспериментальный характер, но в выпуске GNOME 3.14 ожидается реализация полноценного пользовательского сеанса на основе Wayland, пригодного для реальной работы. В частности, по сравнению с GNOME 3.12 в версии 3.14 появится поддержка раскладок клавиатуры, операций Drag-and-Drop и поддержка сенсорных экранов. За несколькими исключениями, практически решены проблемы с запуском типовых приложений GNOME при работе поверх Wayland.

В дальнейших выпусках проект GNOME планирует перейти на Wayland в качестве первичной платформы, а разработчики KDE намерены обеспечить работу поверх Wayland не хуже, чем X.Org. Более того, полноценная поддержка работы GNOME поверх Wayland будет обеспечена уже в осеннем выпуске дистрибутива Fedora 21. Переход по умолчанию на Wayland произойдёт не раньше выпуска Fedora 23.

Поддержка Wayland также реализована в выпуске проекта Enlightenment E19 и в панели Cairo-Dock, а также ожидается в одном из будущих выпусков 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.6», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

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