Wayland-Protocols 1.35 release

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

Alla protokoll går sekventiellt igenom tre faser - utveckling, testning och stabilisering. Efter att ha slutfört utvecklingsstadiet (den "instabila" kategorin), placeras protokollet i "staging"-grenen och inkluderas officiellt i wayland-protokollen, och efter att testningen är klar, flyttas den till den stabila kategorin. Protokoll från kategorin "staging" kan redan användas i sammansatta servrar och klienter där relaterad funktionalitet krävs. Till skillnad från kategorin "instabil" förbjuder "staging" att göra ändringar som bryter mot kompatibiliteten, men om problem och brister upptäcks under testning utesluts inte ersättning med en ny betydande version av protokollet eller ett annat Wayland-tillägg.

I den nya versionen:

  • В разряд стабильных переведён протокол tablet-v2, предоставляющий средства для организации ввода с графических планшетов.
  • В категорию «staging» добавлен новый протокол alpha-modifier, позволяющий клиентам менять уровень прозрачности поверхности и выносить операции по обеспечению прозрачности на сторону композитного сервера, который в свою очередь может переадресовать эти операции KMS.
  • В протокол xdg-shell добавлена рекомендация не выводить декорирование вне геометрических границ окна, в случае использования мозаичной компоновки окон.

För närvarande inkluderar wayland-protokoll följande stabila protokoll, som ger bakåtkompatibilitet:

  • "viewporter" - låter klienten utföra skalnings- och ytkantskärningsåtgärder på serversidan.
  • "presentation-time" - ger videovisning.
  • "xdg-shell" är ett gränssnitt för att skapa och interagera med ytor som fönster, vilket låter dig flytta dem runt på skärmen, minimera, expandera, ändra storlek osv.
  • «linux-dmabuf» — обеспечивает совместное использование нескольких видеокарт при помощи технологии DMA-BUF (позволяет создать wl_buffer на базе DMA-BUF).
  • «tablet» — оргаизация ввода с графических планшетов.

Protokoll testade i "staging"-grenen:

  • drm-lease - tillhandahåller de resurser som krävs för att generera en stereobild med olika buffertar för vänster och höger öga vid utmatning till virtual reality-headset.
  • "ext-session-lock" - definierar ett sätt att låsa en session, till exempel när skärmsläckaren körs eller autentiseringsdialogrutan visas.
  • "single-pixel-buffer" - låter dig skapa enpixelbuffertar som inkluderar fyra 32-bitars RGBA-värden.
  • "xdg-activation" - låter dig överföra fokus mellan olika ytor på första nivån (till exempel, med hjälp av xdg-activation kan en applikation byta fokus till en annan).
  • content-type – Tillåter klienter att skicka information om innehållet som visas till den sammansatta servern, vilket kan användas för att optimera innehållsmedvetet beteende, som att ställa in specifika DRM-egenskaper som "innehållstyp". Stöd för följande innehållstyper deklareras: inget (ingen information om datatypen), foto (utmatning av digitala foton, kräver minimal bearbetning), video (video eller animation, mer exakt synkronisering krävs för att undvika stamning) och spel (lansering spel, utdata från minsta fördröjning).
  • ext-idle-notify - Tillåter sammansatta servrar att skicka meddelanden till klienter om användarinaktivitet, vilket kan användas för att aktivera ytterligare energisparlägen efter en viss tids inaktivitet.
  • rivkontroll - låter dig inaktivera vertikal synkronisering (VSync) med en vertikal dämpningspuls i helskärmsapplikationer, som används för att skydda mot rivning i utdata. I multimediaapplikationer är artefakter på grund av rivning en oönskad effekt, men i spelprogram kan artefakter tolereras om hanteringen av dem orsakar ytterligare förseningar.
  • ext-foreign-toplevel-list - Hämtar information om ytor placerade på översta nivån, vilket gör att du kan organisera fönster för att docka ovanpå annat innehåll, till exempel för att fästa dina egna paneler och fönsteromkopplare.
  • security-context - låter dig identifiera klienter med hjälp av sandlådeisolering. En klient kan registrera en ny anslutning till en Wayland-baserad sammansatt server och bifoga en säkerhetskontext till den, varefter den sammansatta hanteraren kommer att begränsa de möjligheter som är tillgängliga för den etablerade anslutningen baserat på det angivna säkerhetskontexten.
  • cursor-shape är ett alternativt sätt att anpassa markörens utseende, baserat på att skicka en serie av markörbilder istället för att knäppa till en yta (wl_surface).
  • «ext-transient-seat» — предназначен для создания временных независимых сеансов (seat), рассчитанных на использование вместе с виртуальными устройствами ввода. Например, при реализации возможности подключения к удалённому рабочему столу протокол позволяет создать для каждого пользователя отдельный сеанс с виртуальными клавиатурой и мышью.
  • «xdg-toplevel-drag» — расширяет механизм «drag & drop» возможностью прикрепления окон верхнего уровня к операции перемещения, что может быть использовано, например, для организации перетаскивания мышью панелей инструментов или вкладок браузера. Новый протокол позволяет создавать отсоединяемые части окна, которые при перетаскивании из этого окна становятся новыми окнами и могут перемещаться поверх существующего окна перед повторным прикреплением.
  • «xdg-dialog» — позволяет назначать поверхностям верхнего уровня признаки, специфичные для диалоговых окон, например, можно создавать модальные диалоги, которые блокируют взаимодействие пользователя с остальной частью интерфейса.
  • «linux-drm-syncobj» — предоставляет инструменты для явной синхронизациии буферов при помощи объектов синхронизации DRM (Direct Rendering Manager). Предполагается, что в контексте синхронизации при отрисовке в буфер предложенный протокол позволит улучшить работу с драйверами на базе графических API Vulkan и OpenGL (реализация базируется на обработчиках в драйверах). Новый протокол даёт возможность убедиться, что операция отрисовки в буфер завершена до того, как композитный менеджер отобразит данный буфер.

Protokoll som utvecklas i den "instabila" grenen:

  • "fullscreen-shell" - kontroll över arbetet i helskärmsläge.
  • "input-metod" - bearbetning av inmatningsmetoder.
  • "idle-inhibit" - blockerar start av skärmsläckaren (skärmsläckare).
  • "input-timestamps" - tidsstämplar för ingångshändelser.
  • "tangentbord-shortcuts-inhibit" - styr bifogningen av kortkommandon och snabbtangenter.
  • "linux-explicit-synchronization" är en Linux-specifik mekanism för synkronisering av ytbundna buffertar.
  • "pekargester" - styrning från pekskärmar.
  • "pekare begränsningar" - pekare begränsningar (blockering).
  • "primärt urval" - i analogi med X11 säkerställer det driften av det primära urklippet (primärt urval), från vilken information vanligtvis infogas med den mellersta musknappen.
  • "relativa pekarhändelser" - relativa pekarhändelser.
  • "textinmatning" - organisation av textinmatning.
  • "xdg-foreign" är ett gränssnitt för att interagera med ytorna på "grannklienten".
  • "xdg-decoration" - rendering av fönsterdekorationer på serversidan.
  • "xdg-output" - ytterligare information om videoutgången (används för fraktionerad skalning).
  • "xwayland-keyboard-grab" - fånga indata i XWayland-applikationer.
  • Källa: opennet.ru

Lägg en kommentar