The OpenNET Project / Index page

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

Выпуск Wayland-Protocols 1.44 и композитного сервера Weston 14.0.2

29.04.2025 08:56

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

В Wayland-Protocols 1.44 предложен новый протокол color-representation-v1 для задания цветового представления Wayland-поверхности. При помощи нового протокола клиенты могут передавать метаданные, необходимые для определения прозрачности, цветовой модели, субдискретизации и диапазона квантования, и применяемые при преобразовании буфера с данными, соответствующими цветовой модели YCbCr, в представление RGB.

Готовый код для представления цвета уже доступен в композитных серверах KDE KWin, GNOME Mutter и Weston. Также готов код для цветопредставления в GStreamer и медиаплеере MPV. Включение средства для представления цвета в протоколы Wayland упростит реализацию возможностей управления цветом и HDR в различные приложения и композитные серверы, использующие Wayland.

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

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

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

  • "viewporter" - позволяет клиенту выполнять действия по масштабированию и обрезанию краёв поверхности на стороне сервера.
  • "presentation-time" - обеспечивает отображение видео.
  • "xdg-shell" - интерфейс создания и взаимодействия с поверхностями как с окнами, позволяющий передвигать их по экрану, сворачивать, разворачивать, изменять размер и т.д.
  • "linux-dmabuf" - предоставляет возможности для создания 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 - позволяет привязать ограничение времени к содержимому поверхности (композитный сервер должен отобразить изменение контента по возможности через указанное время, но не раньше).
  • ext-data-control - позволяет привилегированным клиентам управлять обработкой данных, например, для реализации менеджеров буфера обмена.
  • ext-workspace - реализует концепцию виртуальных рабочих столов и предлагает события с информацией о состоянии рабочих столов, а также возможности для активации и деактивации рабочих столов. Протокол может применяться для создания панелей и индикаторов, выводящих список доступных виртуальных рабочих столов и позволяющих переключаться между ними.
  • color-management - предоставляет возможности для управления цветом и поддержки расширенного динамического диапазона яркости (HDR, High Dynamic Range). При помощи добавленного расширения клиентские приложения могут получать информацию о связанных с цветопередачей свойствах устройств вывода и передавать композитному серверу данные о свойствах цветопередачи собственного контента. В композитном сервере данная информация может использоваться для автоматического управления цветом при отображении содержимого на различных устройствах вывода, например, для преобразования контента в предоставление, подходящее для отображения на HDR-мониторах. Для описания цветовых пространств используются профили ICC.
  • xdg-toplevel-tag - позволяет Wayland-клиентам прикреплять теги к поверхностями верхнего уровня, которые композитный сервер может использовать для идентификации окон после перезапуска приложения (например, приложение может выставить теги "main window" и "settings" для основного окна и окна с настройками). Подобная идентификация полезна для восстановления позиции, размера и свойств окон после перезапуска, а также для определения особых правил для отдельных видов окон.

Протоколы, разрабатываемые в ветке "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.



Дополнительно можно отметить обновление проекта Weston 14.0.2, развивающего эталонный композитный сервер, нацеленный на предоставление высококачественной кодовой базы и рабочих примеров для использования Wayland в десктоп-окружениях и встраиваемых платформах. В новой версии Weston помимо исправления ошибок реализована возможность сборки бэкенда VNC для удалённой работы с рабочим столом с новой версией библиотеки neatvnc.

  1. Главная ссылка к новости (https://lists.freedesktop.org/...)
  2. OpenNews: Выпуск Wayland-Protocols 1.43
  3. OpenNews: Выпуск Wine-wayland 10.5
  4. OpenNews: Разделение кода kwin_x11 и kwin_wayland. Прекращение поддержки X11 в KDE 7
  5. OpenNews: Доступен Wayland 1.23
  6. OpenNews: Выпуск композитного сервера Weston 14.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63154-wayland
Ключевые слова: wayland, weston
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (35) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 09:15, 29/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Все добавляют и добавляют. Когда уже готово будет?
     
     
  • 2.11, Аноним (11), 09:45, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Если будет готово, сразу нужно будет переделывать на новый лад.
    Но скорее всего, переделывать начнут ещё до состояния готовности.
     
  • 2.22, Аноним (-), 14:21, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так оно уже готово.
    Если в программу перестали что-то добавлять, то это уже копролит и его можно выкидывать.

    ps попробуй включить межушное вещиство и ответь на вопрос "почему у последний релиз X Window System называется X11R7.7, что это за странные циферки 11, 7.7 ?
    И почему эту лабуду делали с 1984 аж по 2012 пока оно окончательно не подохло."

     

  • 1.4, Аноним (4), 09:17, 29/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    wayland-protocols это не костыли?
     
     
  • 2.5, Пух (?), 09:20, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это его ядро
     
     
  • 3.26, Аноним (-), 17:33, 29/04/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.29, Аноним (29), 17:56, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ядро чего? Протоколов?

    Объясните нормально уже, комментарии противоречат один другому..

     
  • 2.8, Аноним (8), 09:23, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Нет. Это описание эталонной реализации костылей. :D
     
  • 2.12, Аноним (12), 09:50, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ух Nvidia, да выпускала бы драйвера так раз в полмесяца.
    Ато что они, выпустят драйверы, а св**топерделки не добавляют.
     
  • 2.13, Sunderland93 (ok), 10:09, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Нет, это то, что придает ему модульности. В отличие от расширений в X11, эти расширения строго версионированы, функционал одной версии не ломает функционал другой. То есть ты можешь реализовать, например, поддержку только xdg-shell v2, и не пихать в свой композитор весь функционал вплоть до 5 версии. Так сделано в Sway, поскольку это тайлинг, и ему не нужно вбирать в себя то, что создавалось под обычные десктопы. И так со всем остальным. Все продумано.
     
     
  • 3.16, Аноним (16), 12:30, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А уже продумали как скриншоты делать?
     
     
  • 4.19, Аноним (-), 13:41, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А уже продумали как скриншоты делать?

    Да, продумали.
    В отличие от дидов, для которых то, что кто угодно будет скринить твой экран было вролне нормально.

     
     
  • 5.20, Аноним (20), 14:07, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А в чём проблема что мои программы скриншотят мой экран?

    Вон, Windows Recall скриншотит раз в секунду, и кормит копилоту для обучения (а может и ещё для чего).

     
     
  • 6.24, Аноним (24), 14:24, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А в чём проблема что мои программы скриншотят мой экран?

    Проблема в том, что иногда тебе нужно запускать приложения, которым ты не совсем доверяешь.
    Иногда в приложениях, которым ты доверяешь могут быть дыры. Напр. в браузере или мессенджере.

    Зачем давать условному каликулятору доступ к твоему экрану. А в убогоиксах это по умолчанию

    > Вон, Windows Recall скриншотит раз в секунду, и кормит копилоту для обучения

    Windows Recall вроде бы отключается? Но тут вам видней, потому что хз как оно в винде.

    А в макоси чтобы сделать screen capture аппа должна сделать запрос пользователю на разрешение. И пользователь может в любой момент отозвать, а аппа - корректно это обработать. И аналогично и доступом к камере, микрофону, блютусу.

     
  • 5.31, Аноним (29), 18:01, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и придем к тому как в анроиде, когда банк и еще некоторые приложения (одноразовые сообщения whatsapp к примеру) не дают себя скриншотить. Раньше обходилось скриншотом в момент переключения приложений, сейчас в этот момент подмена на белый или черный экран. "для вашей безопасности"

    Хотите так же на десктопе, добровольно? Делаете скриншот, а отдельные проги скрывают окно и потом выдают вам что скриншотить запрещено?

     
     
  • 6.32, Аноним (32), 18:04, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Хотите так же на десктопе, добровольно?

    Да хочу.
    Потому что на дестопе я тоже внезапно захожу в банк.
    И мне не хочется чтобы какая-то левая приложуха могла поглядывать, а ее взломают из-за дырявой либы.

     
     
  • 7.34, Аноним (34), 18:23, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вы тут так таскаете это мнение туда-сюда по всем новостям о Х или В.
    Так убедить нас просто.
    Ознакомьте нас с статистикой сколько было случаев нелегального скриншотинга в Х. Какие проблемы они доставили. Сколько в процентном соотношении было таких случаев к количеству пользователей Х. Сколько сейчас встречается хоть в каком виде нелегальных скриншотингов и что надо сделать что бы попасть на эту проблему.
    Ну или хотя бы пару желтых новостишек: мой Х.. это уже не мой икс, а хакера.
     
     
  • 8.38, Аноним (-), 18:36, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Хаха, а кто же вам ее предоставит Такую дыру будут холить и лелеять Пусть пр... текст свёрнут, показать
     
  • 8.40, Аноним (-), 18:43, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Разве Я просто ответил на висер умственно отсталых фанатиков про в вейланде не... текст свёрнут, показать
     
  • 6.37, Аноним (-), 18:34, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > банк
    > одноразовые сообщения whatsapp
    > Раньше обходилось скриншотом в момент переключения приложений
    > сейчас в этот момент подмена на белый или черный экран.

    Т.е. очередной хитровыделанный хочет обойти разумные огранечения? Ну так сфоткай экран вторым телефоном. И ноет что на хитрую гайка нашелся свой болт?

    > Хотите так же на десктопе, добровольно?

    Я хочу чтобы на десктопе я сам решал, кто будет скриншоты делать, а кто нет.
    И кто будет перехватывать ввод с клавиатуры, а кто нет.
    Но в иксах нормально такое сделать невозможно (создавать свои иксы для каждой приложухи - это даже не костыль, это что-то хуже)

     
  • 4.21, Аноним (-), 14:17, 29/04/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.18, Аноним (18), 13:13, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А то такая же модульность, как в xmpp/jabber или другая?
     

  • 1.10, Аноним (20), 09:44, 29/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    libweston там как поживает?

    На input-method я уже и не надеюсь.

     
  • 1.14, 1 (??), 10:46, 29/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А для CMYLK будет свой протокол ...
    Куда мы катимся ?
     
  • 1.15, Соль земли (?), 11:42, 29/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ни у одной сетевой программы нет столько протоколов.
     

  • 1.25, Аноним (25), 16:18, 29/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну сделайте вы уже финальную версию, хватит в долгострой играть. Хочется просто брать и работать, а не ждать каждый раз следующей версии, где все точно будет работать.
     
     
  • 2.28, Аноним (-), 17:39, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Wayland давно стабилизирован. На данной странице обсуждаются доплнительные расширения к основному Протоколу.

    Ты совершаешь типичную ошибку адресую свои вопросы не к тем людям. Тряси разработчиков WM, DE, спрашивай разработчиков программ, поддерживают ли их решения Wayland?

     
  • 2.33, Аноним (-), 18:12, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну сделайте вы уже финальную версию, хватит в долгострой играть.

    Ты это пишешь с ядра 2.6 ?
    Или "вы не понимаете это другое"))?
    Проект или развивается или идет на свалку.

    > Хочется просто брать и работать,

    Если раз так хочется, то скажи-ка, а что ты для этого сделал?
    Может патчи присылал или тестировал?

    >  а не ждать каждый раз следующей версии, где все точно будет работать.

    Тебя никто не заставляет обновляться.
    Можно сидеть на всяких маргинальных поделка типа тринити и прочих lxqt + XOrg

     

  • 1.30, Аноним (30), 18:00, 29/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пока radeon не поддерживает egl - 100% бесполезно - придётся жрать llvmpipe.

    Wayland platform:
    eglinfo: eglInitialize failed

     
     
  • 2.35, name (??), 18:25, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не надоело тебе?
     
  • 2.36, Аноним (29), 18:25, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    "radeon" это драйвер для карточки какого года?
     
  • 2.39, Аноним (-), 18:42, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Пока radeon не поддерживает egl - 100% бесполезно - придётся жрать llvmpipe.
    > Wayland platform:
    > eglinfo: eglInitialize failed

    О боже мой! Да всем наcpaть! (с)

     
  • 2.41, anonymous (??), 18:56, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    EGL это же обрубок OpenGL с некоторой отсебятиной для мАбил. Производители телефонов купаются в деньгах вот и запилили для себя. Нафига оно в Radeon? Вот сейчас например производители детских вертолётиков купаются в деньгах, и что, Radeon должен срочно внедрять какой нибудь внутренний протокол опроса датчиков углового ускорения просто чтобы не вызвать твоего гнева?
     
     
  • 3.42, name (??), 19:01, 29/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Путаешь с GLES, EGL это просто клей.
     

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



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

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