Выпуск Wayland-Protocols 1.33

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3254
Зарегистрирован: 20.08.2022

#

Выпуск Wayland-Protocols 1.33
Дата публикации:Fri, 19 Jan 2024 20:29:20 +0300




После полугода разработки опубликован выпуск пакета wayland-protocols 1.33, содержащего набор протоколов и расширений, дополняющих возможности базового протокола Wayland и предоставляющих возможности, необходимые для построения композитных серверов и пользовательских окружений.



Все протоколы последовательно проходят три фазы - разработка, тестирование и стабилизация. После завершения стадии разработки (категория "unstable") протокол помещается в ветку "staging" и официально включается в состав набора wayland-protocols, а после завершения тестирования перемещается в категорию стабильных. Протоколы из категории "staging" уже можно применять в композитных серверах и клиентах, где требуется связанная с ними функциональность. В отличие от категории "unstable" в "staging" запрещено внесение изменений, нарушающих совместимость, но в случае выявление проблем и недоработок в ходе тестирования, не исключается замена новой значительной версией протокола или другим Wayland-расширением.



В новой версии переведён в категорию стабильных протокол "linux-dmabuf", обеспечивающий совместное использование нескольких видеокарт при помощи технологии DMA-BUF (позволяет создать wl_buffer на базе DMA-BUF). Добавлен новый протокол "ext-transient-seat", который помещён в категорию "staging". Новый протокол может применяться для создания временных независимых сеансов (seat), рассчитанных на использование вместе с виртуальными устройствами ввода, реализуемыми при помощи протоколов
"virtual_keyboard_unstable_v1" и "wlr_virtual_pointer_unstable_v1". Например, при реализации возможности подключения к удалённому рабочему столу протокол позволяет создать для каждого пользователя отдельный сеанс с виртуальными клавиатурой и мышью.








В настоящее время в состав 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). В мультимедийных приложениях появление артефактов из-за разрывов является нежелательным эффектом, но в игровых программах с артефактами можно смириться, если борьба с ними приводит к дополнительным задержкам.
    ext-foreign-toplevel-list - получение информации о поверхностях, размещённых на самом верхнем уровне (toplevel), которые позволяют организовать закрепление окон поверх другого содержимого, например, для подключения собственных панелей и переключателей окон.

    security-context - позволяет идентифицировать клиентов, использующих sandbox-изоляцию. Клиент может зарегистрировать новое подключение к композитному серверу на базе Wayland и прикрепить к нему контекст безопасности, после чего в соответствии с указанным контекстом безопасности композитный менеджер ограничит возможности, доступные для установленного соединения.

    cursor-shape - альтернативный способ настройки внешнего вида курсора, основанный на передаче серии изображений курсора вместо привязки к поверхности (wl_surface).



Протоколы, разрабатываемые в ветке "unstable":
  • "fullscreen-shell" - управление работой в полноэкранном режиме.
    "input-method" - обработка методов ввода.
    "idle-inhibit" - блокировка запуска скринсейвера (экранной заставки).
    "input-timestamps" - временные метки для событий ввода.
    "keyboard-shortcuts-inhibit" - управление прикреплением клавиатурных комбинаций и горячих клавиш.

    "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.
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=60465

Жизнь за Нер'зула!

Ответить