The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск Wayland-Protocols 1.39 с поддержкой экспериментальных протоколов

20.12.2024 23:23

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

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

В новой версии добавлена дополнительная фаза продвижения протоколов - "experimental", нацеленная на снижение барьера включения протоколов в состав набора Wayland-Protocols, ускорение доведения протоколов до разработчиков и стимулирование ранней реализации в существующих проектах. Новая фаза позволит избавить разработчиков протоколов от длительных обсуждений и волокиты, перед принятием в состав Wayland-Protocols.

Если для попадания протокола в фазу "staging" требуется сформировать команду поддержки и получить определённое число подтверждений (ACK) от участников рецензирования, то для попадания в "experimental" достаточно отсутствия возражений (NACK) в течение двухнедельного периода рецензирования. В фазе "experimental" допускается внесение изменений, нарушающих совместимость, и добавление "сырых" протоколов, которые можно постепенно доводить до должного уровня.

В категорию "staging" добавлены протоколы:

  • ext-data-control - позволяет привилегированным клиентам управлять обработкой данных, например, для реализации менеджеров буфера обмена.
  • ext-workspace - реализует концепцию виртуальных рабочих столов и предлагает события с информацией о состоянии рабочих столов, а также возможности для активации и деактивации рабочих столов. Протокол может применяться для создания панелей и индикаторов, выводящих список доступных виртуальных рабочих столов и позволяющих переключаться между ними.



В настоящее время в состав wayland-protocols входят следующие стабильные протоколы, в которых обеспечивается обратная совместимость:

  • "viewporter" - позволяет клиенту выполнять действия по масштабированию и обрезанию краёв поверхности на стороне сервера.
  • "presentation-time" - обеспечивает отображение видео.
  • "xdg-shell" - интерфейс создания и взаимодействия с поверхностями как с окнами, что позволяет их передвигать по экрану, сворачивать, разворачивать, изменять размер и т.д.
  • "linux-dmabuf" - обеспечивает совместное использование нескольких видеокарт при помощи технологии DMA-BUF (позволяет создать wl_buffer на базе DMA-BUF).
  • "tablet" - организация ввода с графических планшетов.

Протоколы, тестируемые в ветке "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).
  • "ext-transient-seat" - предназначен для создания временных независимых сеансов (seat), рассчитанных на использование вместе с виртуальными устройствами ввода. Например, при реализации возможности подключения к удалённому рабочему столу протокол позволяет создать для каждого пользователя отдельный сеанс с виртуальными клавиатурой и мышью.
  • "xdg-toplevel-drag" - расширяет механизм "drag & drop" возможностью прикрепления окон верхнего уровня к операции перемещения, что может быть использовано, например, для организации перетаскивания мышью панелей инструментов или вкладок браузера. Новый протокол позволяет создавать отсоединяемые части окна, которые при перетаскивании из этого окна становятся новыми окнами и могут перемещаться поверх существующего окна перед повторным прикреплением.
  • "xdg-dialog" - позволяет назначать поверхностям верхнего уровня признаки, специфичные для диалоговых окон, например, можно создавать модальные диалоги, которые блокируют взаимодействие пользователя с остальной частью интерфейса.
  • "linux-drm-syncobj" - предоставляет инструменты для явной синхронизациии буферов при помощи объектов синхронизации DRM (Direct Rendering Manager). Предполагается, что в контексте синхронизации при отрисовке в буфер предложенный протокол позволит улучшить работу с драйверами на базе графических API Vulkan и OpenGL (реализация базируется на обработчиках в драйверах). Новый протокол даёт возможность убедиться, что операция отрисовки в буфер завершена до того, как композитный менеджер отобразит данный буфер.
  • alpha-modifier, позволяющий клиентам менять уровень прозрачности поверхности и выносить операции по обеспечению прозрачности на сторону композитного сервера, который в свою очередь может переадресовать эти операции KMS.
  • xdg-toplevel-icon - привязка пиктограммы к окну верхнего уровня.
  • ext-image-capture-source и ext-image-copy-capture - организация захвата контента, выводимого на экран.
  • xdg-system-bell - позволяет выводить системный сигнал, который может использоваться, например, как предупреждение в эмуляторе терминалов. Форма вывода сигнала определяется на усмотрение композитного менеджера, это может быть не только звук, но визуальный отклик.
  • fifo - реализует FIFO-механизм (первым пришёл - первым ушёл) обработки очереди обновления содержимого отображаемой поверхности. С практической стороны протокол позволяет при выводе использовать ожидание завершения вертикальной развёртки (vblank) вместо использования callback-вызовов при каждой готовности отобразить новый кадр, что решает проблему с высокой нагрузкой на GPU при использовании VSync.
  • commit-timing - позволяет привязать ограничение времени к содержимому поверхности (композитный сервер должен отобразить изменение контента по возможности через указанное время, но не раньше).

Протоколы, разрабатываемые в ветке "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" - относительные события указателей.
  • "text-input" - организация ввода текста.
  • "xdg-foreign" - интерфейс взаимодействия с поверхностями "соседнего" клиента.
  • "xdg-decoration" - отрисовка декораций окон на стороне сервера.
  • "xdg-output" - дополнительные сведения о видеовыходе (используется для дробного масштабирования).
  • "xwayland-keyboard-grab" - захват ввода в приложениях XWayland.


  1. Главная ссылка к новости (https://lists.freedesktop.org/...)
  2. OpenNews: Состояние поддержки Wayland в проприетарных драйверах NVIDIA
  3. OpenNews: Выпуск Wayland-Protocols 1.38
  4. OpenNews: Доступен Wayland 1.23
  5. OpenNews: Компания Valve запустила проект Frog для ускорения продвижения новых протоколов Wayland
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62444-wayland
Ключевые слова: wayland
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (30) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:46, 20/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Старые протоколы сделать не смогли но уже в экспериментальные лезут.
     
     
  • 2.21, Аноним (21), 07:50, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну, валва же жалуется, что медленно всё. Все хотят совещаться и никто не хочет писать код.

    Забавно выходит. Всякие шинды и беоси сразу какой-никакой графоний начали давать, за пару итераций доведя до стабильности, а тут то иксы полвека полируют, то новый протокол двадцать лет почти готов. Вроде и открытое-доступное всё, и консорциумы всякие стандарты типа Freedesktop, xdg, dbus и пр. уже родили — а всё равно весь пар в свисток, и по-прежнему разработчики программ и пользователи страдают (или не страдают, может уже привыкли).

     
     
  • 3.25, Аноним (-), 08:13, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну, валва же жалуется, что медленно всё. Все хотят совещаться и никто не хочет писать код.

    Не передёргивай. Valve попыталась в обход Совета навешивать на Протокол свои свистоперделки. Совет одёрнул Valve сказав, что расширения Протокола будут добавляются после достижения консенсуса между членами Совета. Тогда Valve сказала, что свои игро-свисто-пердельные расширения Протокола будет разрабатывать отдельно.

    Совет справедливо опасается, что Протокола через года может стать монстром типа X.org

     
     
  • 4.33, Аноним (33), 12:03, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Совет справедливо опасается, что Протокола через года может стать монстром типа X.org

    Нет, совет просто не умеет работать с продуктивными разрабами. Не себе, не людям.

     
  • 3.40, AlexYeCu_not_logged (?), 12:41, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Всякие шинды и беоси сразу какой-никакой графоний начали давать

    Что ты несёшь? Если брать эти твои Винды, то там много интеренсого можно порассказать и про утаскивание всей системы в бсод из-за падения графики, и про вечные проблемы с opengl ускорением, и про специализированные версии ati-шных видеодров под каждую (!) мало-мальски поплярную игру, и про дирекктикс, который стал выдавать неблевотную и незартефаченую картинку версии так к восьмой — пара итераций, ага. Ну и из более поздних времён можно припомнить непоборимый статтеринг (аккурат, как композит (т.е., простите, Aero) гвоздями приколотили тот же.

    Что до BeOS — ты её вживую видел хоть? Хотя бы в виде образа, на «родном» железе её вообще мало кто видел? В плане графики она умела немного, по нынешним временам её графику любая наколенная поделка для встроек уделает. вот только даже для самого простого десктопа эта самая поделка уже мало кому сгодится.  

    Что до иксов, то «какой-никакой графоний» они выдавать начали сразу, причём было это во времена, когда Винды ещё даже в виде нашлёпки для дос-а не существовало, не говоря уж о BeOS. А в 90-х системы с Иксами на боту в сравнении с Виндой вообще выглдели артефактами высокоразвитых пришельцев из далёкой галактики — до тех возможностей (и то не всех) ВиндоПК добрались десятилетия спустя, пусть и не по вине MS.

    >и по-прежнему разработчики программ и пользователи страдают

    А с чего ты взял, что страдают? Я, как пользователь, от Иксов уж точно не страдаю. И они меня устраивают куда как больше, чем виндовая видеоподсистема, замечу. И куда как больше, чем Wayland. Появится действительно лучшая альтернатива — задумаюсь над переходом. А пока что достойной альтернативы Иксам не вижу ни на одной системе.

     
     
  • 4.42, AlexYeCu_not_logged (?), 13:06, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    UP: Что до BeOS. Про Интеловские-то помнил версии, помню даже какой-то журнал типа ЧИП-а ознакомительные версии на дисках рассылал. Под x86 процы. Сунулся в Wiki — про многопроцессорные версии на PowerPC архитектуре я чего-то подзабыл, пишут  что они для графики вполне себе годились и использовались. Тут ничего не скажу: в жизни такого не видал. Может, кто из Опеннетовцев чего интересного рассказать про них сможет.
     
  • 2.37, Аноним (37), 12:32, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Получать деньги за планы и эксперименты проще, чем за конечный продукт.
     

  • 1.2, Аноним (-), 00:14, 21/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    > "xdg-dialog" - позволяет назначать поверхностям верхнего уровня признаки, специфичные для диалоговых окон, например, можно создавать модальные диалоги, которые блокируют взаимодействие пользователя с остальной частью интерфейса.

    Мне лично не кажется что это хорошая идея.

     
     
  • 2.17, Аноним (17), 03:40, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Мне лично не кажется что это хорошая идея.

    Аргументы?

     
     
  • 3.38, Аноним (37), 12:35, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы зайти на рабочий стол - пришлите деньги.
     

  • 1.3, 12yoexpert (ok), 00:31, 21/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    как будто у них бывают не экспериментальные
     
     
  • 2.4, Аноним (1), 00:33, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Когда уже станет готово для десктопа? Это я тебя спрашиваю!
     
     
  • 3.11, Аллоним (?), 02:03, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну, не раньше чем линукс в целом.
     
  • 3.24, Аноним (-), 08:04, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Когда уже станет готово для десктопа? Это я тебя спрашиваю!

    Опять двадцать пять. В каждом треде про Wayland выскакивают подобные вопросы. Стопицот раз уже говорили, что разработчики WM и DE должны сами реализовывать Протокол. Пользуешся KDE - все вопросы по поддержке Протокола задаёте разработчикам KDE. Используешь Enlightenment - все вопросы по поддержке протокола задаёте разработчикам Enlightenment и тэдэ и тэпэ.

    Сам Протокол давно стабилизирован, сейчас в основном работают над его расширениями.

     
     
  • 4.27, Аноним (27), 09:02, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как мне в моём Enlightenment реализовать "автоматическое отключение скринсейвера при просмотре киношки"?
     
  • 4.39, Аноним (37), 12:37, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как им поддерживать то, что постоянно меняется? То что исправится в будущем?
     
  • 3.43, 12yoexpert (ok), 13:19, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я сначала подумал, что ты не меня спрашиваешь, кого-то другого
     

  • 1.7, Аноним (1), 01:03, 21/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Кстати этот ваш хвалёный вейленд ни в какой реализации не может повторить функционал xkb даже просто сделать 8 слоев клавиши.
     
     
  • 2.15, Аноним (17), 03:37, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Есть keyd.
     

  • 1.13, Аноним (13), 02:57, 21/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Погодите, то есть в стабильной ветке нет возможности автоматического отключения скринсейвера при просмотре киношки? Оо
     
     
  • 2.16, Аноним (17), 03:39, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Тама много чего нет. Доброе утро.
     
  • 2.34, Аноним (33), 12:06, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Просмотр киношек это какой-то совсем экспериментальный протокол.
     

  • 1.14, Аноним (17), 03:35, 21/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Сколько говорите Вейленду лет? 15? Ага... Угу...
     
     
  • 2.19, Аноним (19), 06:10, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сейчас время взросления (серьёзности к жизни) сдвинулось к 40 годам, не для всех, кому-то и жизни не хватит. Это люди в экстремальных ситуациях могут ускориться или в худшую сторону или в лучшую. Wayland это не мотивация к улучшению. Человечеству в большей массе всё равно есть Wayland или его нет, работает Wayland хорошо или плохо. https://github.com/storaged-project/udisks/issues/568 в программах для Windows эта цифра = проценту оставшегося износу ячеек памяти SSD.
     
     
  • 3.23, Аноним (-), 07:55, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Когда технарь начинает заниматься философией могут в голове появляться вот такого рода мысли. Пусть философией занимаются гуманитарии.
     
     
  • 4.32, Аноним (-), 11:53, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Или https://bugs.launchpad.net/ubuntu/+source/libatasmart/+bug/1581594

    Так не получиться, человек не животное. Философия присуща всем людям. Как правило, большинство работ за деньги это набор определённых действий, которые выполняешь и получаешь за это деньги, или не выполняешь и не получаешь за это деньги.

     
  • 4.35, Аноним (33), 12:09, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не технарь, а соевый дурачок. Технари ушли в железо.
     
  • 2.20, Аноним (-), 06:29, 21/12/2024 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     

  • 1.36, Аноним (36), 12:29, 21/12/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мне одному кажется что все это противоречит изначальной философии проекта? Той, что про "рендер и все что связано на клиенте"
    Такими темпами все это превратиться в кодовую базу иксов по своему объему, а цель была как раз избежать этого и сделать максимально простой и легкий сервер
     
     
  • 2.41, Аноним (-), 13:00, 21/12/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Тебе не кажется, так оно и есть. Wayland (Протокол) уже готов и выполняет свою изначальную функцию - прорисовка на плоскости границы окон (x на y), а всю содержательную чать (клиентская чать) выполняется на основе библиотек (Qt, GTK ...). Когда-то, разработчики композитных серверов не знали, что делать, тогда сами разработчики Протокола написали Weston, и показали, как это может выглядеть в виде исходного кода. Weston - это эталонная реализация Протокола.

    Потом, появились недовольные люди, которым захотелось расширить функционал Протокола. Совет подумал, и решил для таких людей создать проект wayland-protocols (дополнительные протокола). Но тут надо быть осторожным, со временем этих расширений может стать столько, что Wayland может превратиться в такого же монстра как X.org. Ибо, разработчики WM и DE обязаны полностью реализовывать весь функционал прописанный в Протоколе Wayland и его расширениях.

    Цитата - "Wayland — новый графический сервер, который выполняет только крошечную часть функций Х".

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру