Wydanie Wayland-Protocols 1.33

Po sześciu miesiącach prac opublikowano wydanie pakietu wayland-protocols 1.33, zawierającego zestaw protokołów i rozszerzeń, które rozszerzają możliwości podstawowego protokołu Wayland oraz zapewniają niezbędne funkcje do tworzenia serwerów kompozytowych i środowisk użytkownika.

Wszystkie protokoły kolejno przechodzą przez trzy fazy — rozwój, testowanie i stabilizację. Po zakończeniu etapu rozwoju (kategoria „unstable”) protokół trafia do gałęzi „staging” i oficjalnie zostaje włączony do zestawu wayland-protocols, a po zakończeniu testowania przenoszony jest do kategorii stabilnych. Protokół z kategorii „staging” można już stosować w serwerach i klientach kompozytowych, gdzie wymagana jest związana z nim funkcjonalność. W przeciwieństwie do kategorii „unstable” w „staging” zabronione są zmiany, które naruszają zgodność, jednak w przypadku wykrycia problemów i niedociągnięć podczas testowania nie wyklucza się zamiany na nową, znaczącą wersję protokołu lub inne rozszerzenie Wayland.

W nowej wersji protokół „linux-dmabuf” został przeniesiony do kategorii stabilnych, co umożliwia współdzielenie wielu kart graficznych za pomocą technologii DMA-BUF (umożliwia utworzenie wl_buffer na podstawie DMA-BUF). Dodano nowy protokół „ext-transient-seat”, który został umieszczony w kategorii „staging”. Nowy protokół może być używany do tworzenia tymczasowych, niezależnych sesji (seat), przeznaczonych do współpracy z wirtualnymi urządzeniami wejściowymi, realizowanymi za pomocą protokołów „virtual_keyboard_unstable_v1” i „wlr_virtual_pointer_unstable_v1”. Na przykład, przy implementacji możliwości dołączenia do zdalnym pulpitem protokół pozwala stworzyć dla każdego użytkownika oddzielną sesję z wirtualną klawiaturą i myszą.

Obecnie w skład zestawu wayland-protocols wchodzą następujące stabilne protokoły, które zapewniają zgodność wsteczną:

  • «viewporter» — pozwala klientowi na wykonywanie działań związanych z powiększaniem i przycinaniem krawędzi powierzchni po stronie serwera.
  • «presentation-time» — zapewnia wyświetlanie wideo.
  • „xdg-shell” — interfejs do tworzenia i interakcji z powierzchniami jak z oknami, co pozwala na ich przemieszczanie po ekranie, minimalizowanie, maksymalizowanie, zmienianie rozmiaru itd.

Protokoły testowane w gałęzi «staging»:

  • drm-lease — zapewnia zasoby niezbędne do tworzenia stereo obrazu z różnymi buforami dla lewego i prawego oka przy wyjściu na hełmy VR.
  • «ext-session-lock» — definiuje środki blokady sesji, na przykład podczas działania wygaszacza ekranu lub wyświetlania dialogu autoryzacji.
  • «single-pixel-buffer» — pozwala na tworzenie jednopikselowych buforów, zawierających cztery 32-bitowe wartości RGBA.
  • «xdg-activation» — pozwala na przekazywanie fokusów między różnymi powierzchniami pierwszego poziomu (na przykład za pomocą xdg-activation jedna aplikacja może przełączyć fokus na inną).
  • content-type — pozwala klientom na przesyłanie kompozytowi serwera informacji o wyświetlanym zawartości, które mogą być użyte do optymalizacji zachowania w zależności od zawartości, na przykład do ustalania specyficznych właściwości DRM, takich jak „typ treści”. Zadeklarowano wsparcie dla następujących typów treści: none (brak informacji o typie danych), photo (wyświetlanie cyfrowych zdjęć, wymagające minimalnej obróbki), video (wideo lub animacja, wymaga bardziej precyzyjnej synchronizacji, aby wyeliminować przycięcia) oraz game (uruchamianie gier, wymaga wyjścia z minimalnym opóźnieniem).
  • ext-idle-notify — umożliwia serwerom kompozytowym przekazywanie klientom powiadomień o braku aktywności użytkownika, co może być używane do aktywacji dodatkowych trybów oszczędzania energii po określonym czasie braku aktywności.
  • tearing-control — pozwala wyłączyć synchronizację pionową (VSync) w aplikacjach pełnoekranowych za pomocą impulsu wygaszającego, stosowanego w celu ochrony przed pojawianiem się zjawiska zerwania obrazu (tearing). W aplikacjach multimedialnych pojawianie się artefaktów z powodu zerwań jest niepożądanym efektem, jednak w programach gier można się z nimi pogodzić, jeśli ich eliminacja prowadzi do dodatkowych opóźnień.
  • ext-foreign-toplevel-list — umożliwia uzyskanie informacji o powierzchniach umieszczonych na samym szczycie (toplevel), które pozwalają na organizację przypinania okien nad inną zawartością, na przykład do podłączenia własnych paneli i przełączników okien.
  • security-context — pozwala identyfikować klientów korzystających z izolacji sandbox. Klient może zarejestrować nowe połączenie z kompozytowym serwerem opartym na Wayland i przypisać mu kontekst bezpieczeństwa, po czym na podstawie wskazanego kontekstu bezpieczeństwa kompozytowy menedżer ograniczy możliwości dostępne dla ustalonego połączenia.
  • cursor-shape — alternatywny sposób dostosowywania wyglądu kursora, oparty na przesyłaniu serii obrazów kursora zamiast przypinania do powierzchni (wl_surface).

Protokół, który jest rozwijany w gałęzi «unstable»:

  • «fullscreen-shell» — zarządzanie pracą w trybie pełnoekranowym.
  • «input-method» — obsługa metod wprowadzania.
  • «idle-inhibit» — blokada uruchamiania wygaszacza ekranu (ekranowej zasłony).
  • «input-timestamps» — znaczniki czasowe dla zdarzeń wejściowych.
  • «keyboard-shortcuts-inhibit» — zarządzanie przypinaniem kombinacji klawiszowych i skrótów klawiszowych.
  • «linux-explicit-synchronization» — specyficzny dla Linux mechanizm synchronizacji buforów związany z powierzchnią.
  • «pointer-gestures» — zarządzanie gestami z ekranów dotykowych.
  • «pointer constraints» — ograniczenia wskaźników (blokada).
  • «primary-selection» — podobnie jak w X11 zapewnia działanie pierwszego bufora wymiany (primary selection), z którego wstawianie informacji zazwyczaj odbywa się za pomocą środkowego przycisku myszy.
  • «relative pointer events» — względne zdarzenia wskaźników.
  • „tablet” — wsparcie dla wejścia z tabletów.
  • «text-input» — organizacja wprowadzania tekstu.
  • «xdg-foreign» — interfejs interakcji z powierzchniami „sąsiedniego” klienta.
  • «xdg-decoration» — renderowanie dekoracji okien po stronie serwera.
  • «xdg-output» — dodatkowe informacje o wyjściu wideo (używane do skalowania niecałkowitego).
  • «xwayland-keyboard-grab» — przechwytywanie wejścia w aplikacjach XWayland.
  • Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster