Jak niedawno ogłosił Mark Shuttleworth, Ubuntu będzie dążyć do wykorzystania Waylanda jako menedżera wyświetlania.
Jakie są największe różnice między X11 a Waylandem? Dlaczego Wayland ulepszy system Ubuntu?
Jak niedawno ogłosił Mark Shuttleworth, Ubuntu będzie dążyć do wykorzystania Waylanda jako menedżera wyświetlania.
Jakie są największe różnice między X11 a Waylandem? Dlaczego Wayland ulepszy system Ubuntu?
Odpowiedzi:
Możesz zobaczyć stronę architektury Wayland, aby zobaczyć, jak różni się ona wyglądem. Ma uprościć cały stos grafiki, zmuszając wszystko przez standardowy stos GEM / DRM bezpośrednio do jądra i zarządzając samym komponowaniem.
Porównaj to do stosu X, w którym wszędzie są bity. Niektóre z bałaganu X przeszły przez elastyczny projekt, niektóre narastają. Wszystkie kompozytory (Compiz / Metacity / Mutter / KWin / etc) zostały dodane w późniejszym terminie. U ich podstaw leży hackowanie tego, co X powinien robić sam. Jeśli sprawy będą się rozszerzać na zewnątrz, tak jak były, dojdziemy do punktu, w którym projekt stanie się niemożliwy do utrzymania.
Podsumowując, gdy dostępna jest obsługa sprzętowa, powinno to uczynić cały stos bardziej wydajnym i mniej bolesnym w użyciu w standardowych konfiguracjach.
Istnieje jednak kilka problemów, na które nie widziałem dotychczas środków zaradczych:
X jest dość świadomy sieci. Możesz wysyłać okna do innych komputerów, możesz mieć wiele ekranów ze zdalnymi loginami i wszelkiego rodzaju funky. To może wydawać się dość specjalistyczne, ale jest to powszechnie stosowana technologia. W porównaniu z tym Wayland wydaje się dość lokalny i statyczny.
Istnieje również obsługa sterowników. Sterowniki o zamkniętym źródle jeszcze nie obsługują technologii KMS / Shared-GEM / Shared-DRM, na których rozwija się Wayland. Purysta może być w porządku z Nouveau, ale ktoś, kto płaci 100-400 funtów za wysokowydajną kartę graficzną 3D, nie będzie zadowolony z słabej wydajności 3D, którą uzyskaliby przy obecnym otwartym sterowniku.
Aktualizacja: Nvidia pracuje zarówno nad Waylandem, jak i Mirem .
2018 aktualizacja . 17.10 używał Waylanda jako domyślnego serwera wyświetlania (chyba że masz zamknięty sterownik lub sterownik, który go nie obsługuje lub nie potrzebujesz X). Zarówno 18.04, jak i 18.10 używają X jako globalnej wartości domyślnej (chociaż można zainstalować Wayland).
Nie jestem odpowiedzialny za nic poza tą pozycją, wygląda na to, że wciąż jesteśmy metryczną miarą Nvidii od uzyskania prawdziwej przyczepności. Do tego momentu nie sądzę, że zobaczymy wystarczającą ilość umysłu i rozwijającej się mocy za Waylandem. Rynek gier / wydajności korzysta z X. Rynek MCE korzysta z X (i bezpośrednich buforów ramki). Nie jestem pewien, czy Wayland kiedykolwiek będzie miał prawdziwą szansę.
Istnieje wiele różnic między X i Wayland. Prawdopodobnie największym z nich jest to, że Wayland nie rysuje .
X ma dwa rysunkowe interfejsy API. Jeden z nich jest częścią podstawowego protokołu X11, który jest starożytny, bezużyteczny i nikt go nie używa. Drugim jest rozszerzenie XRender, które zapewnia nowoczesne operacje kompozytowe, między innymi takie jak gradienty. Tego właśnie używa Kair. X ma również interfejsy API do rysowania czcionek.
Wayland nie ma rysunkowych interfejsów API. Klient Wayland otrzymuje uchwyt bufora DRM, który jest w zasadzie wskaźnikiem do pewnej pamięci graficznej; Wayland nie wie ani nie obchodzi, w jaki sposób klient korzysta z tego bufora. W ujęciu X oznacza to, że wszystkie aplikacje są renderowane bezpośrednio - żądania rysowania nie muszą przechodzić przez serwer.
Jedyne renderowanie, które wykonuje Wayland, to kopiowanie buforów klienta na ekran.
Pod względem korzyści Wayland jest o wiele mniej skomplikowany niż X, co powinno ułatwić jego utrzymanie - chociaż część tej prostoty wynika z przesunięcia złożoności (np .: jak w rzeczywistości wykorzystać ten bufor, przezroczystość sieci) na inne warstwy stos. Uczyniając klientów odpowiedzialnymi za wszystkie ich renderowanie, klienci mogą być mądrzejsi w kwestiach takich jak podwójne buforowanie.
Istnieją inne korzyści poza grafiką. Na przykład znacznie łatwiej jest do piaskownicy.
Główną różnicą w moich oczach jest to, że Wayland jest bliżej jądra niż X-Server. Wraz z przeniesieniem sterowników graficznych z X do jądra (znane jako ustawienie trybu jądra, KMS), Wayland planuje wykorzystać tę nową funkcjonalność do zastąpienia X. Można się spodziewać, że ...
Mniej miejsca niż X - ponieważ wyświetlacz jest obsługiwany przez jądro Wayland nie będzie musiał zaimplementować tyle, aby był użyteczny. Działa to w obie strony, ponieważ podejrzewam, że przekazywanie X (spójrz na jeden ekran na innym komputerze) może zniknąć z X.
Funkcje KMS: Możliwość zmiany rozdzielczości ekranu bez ponownego uruchamiania serwera X (chociaż uważam, że to zostało naprawione w X jakiś czas temu, przynajmniej dla NVIDII), debugowanie konsoli w panice jądra dla chipsetów Intel (przejście do Nouveau), jeśli lubisz coś w tym rodzaju.
Czy ktoś może mnie poprawić, jeśli się mylę?
Wszystkie pozostałe posty podkreślają zalety Wayland, ale nie wszystko jest dobre. Największą przewagą X nad Waylandem jest to, że X działa w sieci. X jest przezroczysty dla sieci, możesz wyświetlić okno lub XDMCP całą sesję na terminalu, podczas gdy rzeczywisty program działa na innej, zwykle mocniejszej maszynie. W przypadku czegoś takiego jak Wayland zniknął pomysł na przezroczystość sieci. Może w dzisiejszych czasach nie jest to tak bardzo wymagane w przypadku szybkich sieci i innych protokołów, takich jak VNC i RDP, pomyślałem, że wspomnę o tym dla kompletności.
Dwie małe rzeczy, które każdy zauważy dość szybko w codziennej pracy: