Выпуск Wayland-Protocols 1.32
Опубликован выпуск пакета wayland-protocols 1.32, содержащего набор протоколов и расширений, дополняющих возможности базового протокола Wayland и предоставляющих возможности, необходимые для построения композитных серверов и пользовательских окружений.
Все протоколы последовательно проходят три фазы — разработка, тестирование и стабилизация. После завершения стадии разработки (категория «unstable») протокол помещается в ветку «staging» и официально включается в состав набора wayland-protocols, а после завершения тестирования перемещается в категорию стабильных. Протоколы из категории «staging» уже можно применять в композитных серверах и клиентах, где требуется связанная с ними функциональность. В отличие от категории «unstable» в «staging» запрещено внесение изменений, нарушающих совместимость, но в случае выявление проблем и недоработок в ходе тестирования, не исключается замена новой значительной версией протокола или другим Wayland-расширением.
В новой версии добавлены три протокола, помещённые в категорию «staging»:
ext-foreign-toplevel-list — получение информации о поверхностях, размещённых на самом верхнем уровне (toplevel), которые позволяют организовать закрепление окон поверх другого содержимого, например, для подключения собственных панелей и переключателей окон.
security-context-v1 — позволяет идентифицировать клиентов, использующих sandbox-изоляцию. Клиент может зарегистрировать новое подключение к композитному серверу на базе Wayland и прикрепить к нему контекст безопасности, после чего в соответствии с указанным контекстом безопасности композитный менеджер ограничит возможности, доступные для установленного соединения.
cursor-shape-v1 — альтернативный способ настройки внешнего вида курсора, основанный на передаче серии изображений курсора вместо привязки к поверхности (wl_surface).
В протоколе xdg-shell реелизован новое состояние поверхностей верхнего уровня — 'suspended', которое передаётся в случае, если поверхность находится вне поля зрения пользователя, что может применяться, например, для реализации механизмов сокращения энергопотребления.
В настоящее время в состав wayland-protocols входят следующие стабильные протоколы, в которых обеспечивается обратная совместимость:
- «viewporter» — позволяет клиенту выполнять действия по масштабированию и обрезанию краёв поверхности на стороне сервера.
- «presentation-time» — обеспечивает отображение видео.
- «xdg-shell» — интерфейс создания и взаимодействия с поверхностями как с окнами, что позволяет их передвигать по экрану, сворачивать, разворачивать, изменять размер и т.д.
Протоколы, тестируемые в ветке «staging»:
- drm-lease — предоставляет ресурсы, необходимые для формирования стереокартинки с разными буферами для левого и правого глаза при выводе на шлемы виртуальной реальности.
«ext-session-lock» — определяет средства блокировки сеанса, например, во время работы хранителя экрана или вывода диалога аутентификации.
- «single-pixel-buffer» — позволяет создавать однопиксельные буферы, включающие четыре 32-разрядных значения RGBA.
«xdg-activation» — позволяет передать фокус между разными поверхностями первого уровня (например, при помощи xdg-activation одно приложение может переключить фокус на другое).
content-type — позволяет клиентам передать композитному серверу сведения об отображаемом содержимом, которые могут использоваться для оптимизации поведения с учётом содержимого, например, выставлении специфичных DRM-свойств, таких как «content type». Заявлена поддержка следующих типов контента: none (нет сведений о типе данных), photo (вывод цифровых фото, требующий минимальной обработки), video (видео или анимация, требуется более точная синхронизация, чтобы исключить подтормаживания) и game (запуск игр, требуется вывод с минимальной задержкой).
ext-idle-notify — даёт возможность композитным серверам передавать клиентам уведомления о неактивности пользователя, что может использоваться для активации дополнительных режимов энергосбережения после определённого времени неактивности.
tearing-control — позволяет отключить в полноэкранных приложениях вертикальную синхронизацию (VSync) с кадровым гасящим импульсом, применяемую для защиты от появления разрывов при выводе (tearing). В мультимедийных приложениях появление артефактов из-за разрывов является нежелательным эффектом, но в игровых программах с артефактами можно смириться, если борьба с ними приводит к дополнительным задержкам.
Протоколы, разрабатываемые в ветке «unstable»:
- «fullscreen-shell» — управление работой в полноэкранном режиме.
- «input-method» — обработка методов ввода.
- «idle-inhibit» — блокировка запуска скринсейвера (экранной заставки).
- «input-timestamps» — временные метки для событий ввода.
- «keyboard-shortcuts-inhibit» — управление прикреплением клавиатурных комбинаций и горячих клавиш.
- «linux-dmabuf» — совместное использование нескольких видеокарт при помощи технологии dma-buf.
«linux-explicit-synchronization» — специфичный для Linux механизм синхронизации буферов в привязке к поверхности.
«pointer-gestures» — управление с сенсорных экранов.
- «pointer constraints» — ограничения указателей (блокировка).
«primary-selection» — по аналогии с X11 обеспечивает работу первичного буфера обмена (primary selection), вставка информации из которого обычно осуществляется средней кнопкой мыши.
- «relative pointer events» — относительные события указателей.
- «tablet» — поддержка ввода с планшетов.
- «text-input» — организация ввода текста.
- «xdg-foreign» — интерфейс взаимодействия с поверхностями «соседнего» клиента.
- «xdg-decoration» — отрисовка декораций окон на стороне сервера.
- «xdg-output» — дополнительные сведения о видеовыходе (используется для дробного масштабирования).
«xwayland-keyboard-grab» — захват ввода в приложениях XWayland.
- Источник:
http://www.opennet.ru/opennews/art.shtml? num=59377
© OpenNet