Dostępny jest Wayland 1.26

Po czterech miesiącach prac rozwojowych opublikowano stabilną wersję protokołu Wayland 1.26, mechanizmu komunikacji międzyprocesowej i bibliotek. Gałąź 1.26 jest wstecznie kompatybilna na poziomie API i ABI z wersjami 1.x i zawiera głównie poprawki błędów oraz drobne aktualizacje protokołu. Prace w ramach projektu są rozpowszechniane na licencji MIT. Serwer Weston, który udostępnia kod i przykłady działania dotyczące wykorzystania Wayland w środowiskach stacjonarnych i wbudowanych, jest rozwijany w osobnym cyklu rozwojowym.

Główne zmiany w protokole:

  • Dodano zdarzenie wl_pointer.warp, które umożliwia otrzymywanie powiadomień o nowej pozycji wskaźnika bez obsługi zdarzenia wl_pointer.motion generowanego przez aktywność użytkownika.
  • Dodano żądanie wl_fixes.ack_global_remove, które ma na celu wysłanie do menedżera kompozytów potwierdzenia, że ​​klient zatrzymał przetwarzanie zdarzenia, aby zapobiec wyścigowi podczas usuwania zdarzeń globalnych. Po otrzymaniu potwierdzenia od wszystkich klientów, menedżer kompozytów może usunąć procedurę obsługi powiązaną ze zdarzeniem po swojej stronie.
  • Dodano funkcję wl_display_remove_socket_fd() w celu usunięcia gniazd dodanych wcześniej za pomocą wywołania wl_display_add_socket_fd().
  • W trybie debugowania WAYLAND_DEBUG czas jest rejestrowany w formacie „HH:MM:ss.xxxxxx”, co upraszcza analizę i porównywanie dzienników.

Rozszerzenia protokołu dodane od czasu poprzedniej wersji Wayland, które uzupełniają podstawowy protokół Wayland i są dostarczane w osobnym zestawie protokołów Wayland:

  • xx-fractional-scale — do skalowania logicznego układu współrzędnych, w którym wartości są określone jako liczby całkowite, w celu poprawy dokładności pozycjonowania i zwiększenia rozdzielczości współrzędnych logicznych z dokładnością do pojedynczych pikseli. Ta funkcja rozwiązuje problem ograniczonej rozdzielczości logicznego układu współrzędnych, która jest niewystarczająca do pozycjonowania na poziomie pojedynczych pikseli, co jest niezbędne do pełnej implementacji skalowania ułamkowego.
  • xx-cutouts — aby uzyskać informacje o wycięciach na ekranie (na przykład obszar pod przednim aparatem na ekranie smartfona).
  • xx-zones — do tworzenia i dodawania okien najwyższego poziomu do „stref” — środowisk z własną przestrzenią współrzędnych. Protokół umożliwia logiczny układ okien, w którym każde okno jest pozycjonowane względem pozostałych.
  • xx-keyboard-filter — umożliwia klientowi przechwytywanie wybranych zdarzeń klawiatury, modyfikowanie zdarzeń wejściowych lub blokowanie przekazywania określonych zdarzeń do skoncentrowanej powierzchni Wayland.
  • Protokół xdg-session-management został dodany do kategorii staging, umożliwiając przywrócenie stanu i pozycji okien z przerwanej sesji w środowiskach opartych na protokole Wayland, na przykład po awarii złożonej. serwer lub aplikacji.
  • Protokół „linux-dmabuf” został zaktualizowany w celu obsługi systemów z wieloma procesorami graficznymi. W takich systemach klient może negocjować dane kompozytowe. serwer który procesor graficzny powinien zostać użyty.
  • Zaktualizowano protokół zarządzania kolorami w wersji 1, aby zapewnić obsługę metadanych obrazu BT.2100 do użytku w materiałach kompozytowych serwer określone programy obsługi, które umożliwiają prawidłowe wyświetlanie treści HDR utworzonych dla Windows.

Ważne wydarzenia związane z Waylandem od czasu publikacji ostatniego numeru:

  • Cinnamon w pełni popiera Waylanda.
  • W bibliotece ANGLE używanej w Chrome i AndroidDodano obsługę Wayland.
  • W środowisku KDE korzystającym z Wayland zaimplementowano obsługę przywracania sesji oraz protokół xx-fractional-scale-v2 Wayland służący do skalowania ułamkowego.
  • Stworzono port sterownika Synaptics X.Org dla środowisk opartych na Wayland.
  • Rozpoczęto sprawdzanie gotowości platform efektów wizualnych i animacji do zastąpienia X11 systemem Wayland.
  • Rozpoczęły się testy serwera kompozytowego Xfwl4 z projektu Xfce.
  • Interfejs użytkownika Unity został stworzony na nowo przy użyciu Wayfire i Libadwaita.
  • Zaktualizowane serwery kompozytowe i środowiska graficzne: COSMIC 1.3.0, Weston 16, Phosh 0.56, Nourish 1.0.0, miracle-wm 0.10, KDE Plasma 6.7, labwc 0.20, Sway 1.2, Wayland Maker 0.8, Hyprland 0.55, Niri 26.04, LXQt 2.4.0, Cage 0.3.

Pamiętajmy, że Wayland to protokół interakcji między serwerem kompozycji a działającymi na nim aplikacjami. Klienci renderują swoje okna niezależnie w oddzielnym buforze, przekazując informacje o aktualizacjach do serwera kompozycji. serwer, który łączy zawartość poszczególnych buforów aplikacji w celu wygenerowania ostatecznego wyniku, uwzględniając możliwe niuanse, takie jak nakładanie się okien i przezroczystość. Innymi słowy, serwer kompozytowy nie udostępnia API do renderowania poszczególnych elementów, lecz działa tylko na wstępnie sformatowanych oknach, eliminując podwójne buforowanie podczas korzystania z bibliotek wysokiego poziomu, takich jak GTK i Qt, które zajmują się komponowaniem zawartości okien.

Wayland rozwiązuje wiele problemów bezpieczeństwa X11 w X.Org Server, ponieważ, w przeciwieństwie do tego ostatniego, izoluje dane wejściowe i wyjściowe dla każdego okna, nie pozwala klientowi na dostęp do zawartości okien innych klientów i nie pozwala na przechwytywanie zdarzeń wejściowych związanych z innymi oknami (XLibre XServer implementuje rozszerzenie X11 o nazwie Xnamespace, które zapewnia izolację klienta poprzez separację na poziomie przestrzeni nazw). Obsługa bezpośredniej pracy z Wayland jest zaimplementowana na większości platform używanych w X.Org Server. Linux biblioteki graficzne, w tym GTK, Qt, SDL, FLTK, wxWidgets, Clutter i EFL (Enlightenment Foundation Library).

Interakcja ze sprzętem w Wayland/Weston, taka jak inicjalizacja, przełączanie trybu wideo (ustawianie trybu DRM) i zarządzanie pamięcią (GEM dla i915 oraz TTM dla Radeon i Nouveau) w przypadku kart graficznych, może odbywać się bezpośrednio za pośrednictwem modułu na poziomie jądra, eliminując potrzebę uprawnień superużytkownika. Aby zapewnić wykonywanie standardowych aplikacji X11 w środowisku opartym na Wayland, używany jest komponent DDX XWayland (Device-Dependent X), który działa podobnie do Xwin i Xquartz dla Win32 i macOS.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster