Co to jest Wayland i co to oznacza dla użytkowników Linuksa?
Odkąd Fedora 25 odważnie wprowadziła domyślnie stos graficzny Wayland w 2016 roku, jest on instalowany jako podstawowa opcja w kilku dystrybucjach Linuksa. Możesz nawet używać go teraz, jeśli czytasz to z komputera z systemem Linux. Mimo że Wayland istnieje już od jakiegoś czasu, nadal jest tematem intryg wśród ludzi, którzy byli przyzwyczajeni do używania starszego, wszechobecnego protokołu X11 za pośrednictwem Xorg.
W tym przewodniku pokrótce omówiono, czym jest Wayland, co robi i dlaczego programiści gromadzą się w nim tłumnie!
Co to jest Wayland?
Aby wyświetlić okna na ekranie i poprawnie narysować każdy z ich elementów, Linux potrzebuje sposobu na komunikację ze sprzętem graficznym i wyświetlaczami. Od 1984 do 2016 roku większość dystrybucji korzystała z protokołu wyświetlania zwanego „protokołem rdzenia systemu X Window” (lub po prostu X). Wayland pojawił się pod koniec tego okresu, prezentując alternatywę, która jest lżejsza, ma większe bezpieczeństwo i jest bardziej zoptymalizowana do pracy na nowoczesnych technologiach wyświetlania.
Protokoły wyświetlania nie mogą jednak same działać, aby rysować rzeczy na ekranie. Muszą być zaimplementowane w oprogramowaniu znanym jako serwery wyświetlania. Dla X panującym mistrzem przez bardzo długi czas był Xorg.
W Wayland serwer wyświetlania często będzie po prostu menedżerem okien używanym przez środowisko graficzne. W przypadku GNOME jest to Mutter. W KDE Plasma jest to KWin. Zamiast oddzielnego autonomicznego procesu uruchamiającego serwer, menedżer okien wywołuje bibliotekę w systemie w celu komunikacji ze sprzętem graficznym. W większości przypadków tak by było wlroots
.
Pozwala to na przykład Mutterowi GNOME na zapisywanie danych bezpośrednio do bufora ramki, zamiast korzystania z pośrednika (podobnie jak w przypadku Xorg), namacalnie poprawiając wydajność.
Jak działa Wayland?
Serwery wyświetlania przekazują informacje do jądra i sprzętu graficznego, aby mogły szybko przekazywać dane do wyświetlacza. Otrzymują te informacje za pośrednictwem aplikacji, które komunikują się z nimi za pomocą odpowiednich protokołów. Na przykład aplikacja zaprojektowana do pracy z X nie może komunikować się z serwerem Wayland.
Wayland rozwiązuje ten problem za pomocą czegoś, co nazywa się XWayland, co działa jako warstwa kompatybilności, która umożliwia przełożenie interakcji klient-serwer X na coś, co Wayland może „zrozumieć”.
W Wayland serwer i kompozytor to jedno i to samo. Każde środowisko graficzne używające Wayland wywołuje bibliotekę implementującą protokół Wayland w celu rysowania efektów, takich jak przezroczystość, rozmycie okien, animacje przejść i cienie, które nadają oknom poczucie wymiaru.
Wayland przybliża wszystkie te funkcje do jądra i często można to odczuć dzięki „płynności”, której doświadczasz w środowisku graficznym.
Zamiast rysować za pomocą oprogramowania innej firmy, Wayland wywołuje tak zwany bufor Direct Rendering Manager (DRM) w jądrze, aby rysować rzeczy.
Możesz zauważyć, że w Wayland kroki są znacznie prostsze, a proces nieskomplikowany. Prowadzi to do większej wydajności w sytuacjach intensywnych graficznie i ułatwia programistom tworzenie aplikacji działających w ramach tego protokołu.
Jak wypróbować Waylanda
Większość dystrybucji Linuksa zdecydowała się na domyślną opcję Wayland, więc być może nawet go teraz używasz! Możesz to łatwo sprawdzić, otwierając terminal i wpisując echo $XDG_SESSION_TYPE
.
Istnieją pewne przeszkody, takie jak Linux Mint, ze względu na powolny cykl rozwoju środowisk komputerowych i debatę na temat tego, czy Wayland jest naprawdę wystarczająco dojrzały, aby działać w dystrybucji.
W tej chwili instalacja Ubuntu 22.04 lub nowszego – lub dowolnej aktualnie obsługiwanej wersji Fedory – oferuje najbardziej bezbolesny sposób na poznanie Wayland.
W każdej innej dystrybucji, jeśli używa aktualnej wersji GNOME lub KDE Plasma, ma opcję użycia Waylanda.
Jeśli używasz Arch Linux , być może będziesz musiał wykonać następujące kroki:
- Jeśli korzystasz z GNOME, nie musisz nic robić, ponieważ Twój menedżer wyświetlania (GDM) obsługuje go domyślnie. Jeśli używasz KDE Plasma z domyślnym menedżerem wyświetlania, musisz pobrać wersję „git” z AUR :
yay -S sddm-git
Lub
paru -S sddm-git
- Jeśli zrobiłeś coś w kroku 1, sprawdź, czy usługa systemd nie została wyłączona lub coś takiego:
sudo systemctl enable sddm
- Zainstaluj XWaylanda:
sudo pacman -S xorg-xwayland
Otóż to! Przy następnym uruchomieniu systemu będziesz mieć możliwość wybrania Wayland jako protokołu wyświetlania dla środowiska pulpitu na ekranie logowania.
Jeśli chcesz debugować zdarzenia, aby zobaczyć, dlaczego coś nie działa poprawnie, uruchom:
qdbus org.kde.KWin /KWin org.kde.KWin.showDebugConsole
Często Zadawane Pytania
Jakie sterowniki obsługują obecnie Wayland?
Odkąd Nvidia wydała wersję 495.44 26 października 2021 r., wszyscy najwięksi producenci kart graficznych (AMD, Nvidia i Intel) zaimplementowali w swoich sterownikach pełną obsługę Wayland z funkcją Generic Buffer Management (GBM), która jest obecnie złotym standardem dla implementacji protokół wyświetlania.
Czy Wayland powstrzyma keyloggery?
Od dawna wiadomo, że X11 jest podatny na atak znany jako „atak nieautoryzowanego dostępu” ( CVE-1999-0526 ), który umożliwia aplikacjom wykonywanie nieuzasadnionych zrzutów ekranu, stukanie w zdarzenia klawiatury i myszy itp. w celu uzyskania dostępu do nazw użytkowników i Hasła. Chociaż Wayland stosuje środki bezpieczeństwa, aby zapobiegać tego rodzaju atakom, ochrona ta ogranicza się tylko do dostarczania grafiki do wyświetlacza. Aplikacja może nadal w praktyce nasłuchiwać innych typów komunikatów wysyłanych do jądra za pośrednictwem klawiatury.
Krótko mówiąc, unikaj nadmiernego zaufania do swojej maszyny, ponieważ Wayland zwiększa twoje bezpieczeństwo w niszowy sposób!
Jak Wayland radzi sobie z grami?
W niektórych niszowych przypadkach zauważysz pewne ulepszenia podczas grania z Waylandem, ale gry renderowane przez Xorg mogą mieć niewielkie problemy graficzne. Niektóre aplikacje nakładkowe (jak na przykład WTRTI, który zapewnia nakładkę dla War Thunder) mogą w ogóle nie działać, ponieważ okno XWayland próbuje komunikować się z innym oknem XWayland, co może być bardzo trudne. Twój przebieg może się różnić i możesz być tak samo zadowolony z niektórych wyników, jak rozczarowany innymi.
Dodaj komentarz