Dlaczego Wayland jest lepszy?

148

Ponieważ niedawno ogłoszone przez Marka Shuttlewortha, Ubuntu będzie zmierzać w kierunku wykorzystania Waylanda jako menedżera wyświetlania.

Jakie są największe różnice między X11 a Waylandem? Dlaczego Wayland sprawi, że Ubuntu będzie lepszy?

    
zadawane Hillar 05.11.2010, 14:52
źródło

6 odpowiedzi

121

Możesz zobaczyć stronę architektury Waylanda , aby zobaczyć, jak różni się ona w designie. Ma on uprościć cały stos graficzny, wymuszając wszystko poprzez standardowy stos GEM / DRM bezpośrednio w jądrze i sam zarządzając kompozycją.

Porównaj to ze stosem X, w którym masz wszędzie bity i boty. Niektóre z X bałaganu zostały przez elastyczne projektowanie, niektóre są coraz bóle. Wszystkie compositors (Compiz / Metacity / Mutter / KWin / etc) zostały dodane jako refleksja. Są one w swej istocie hackami do robienia tego, co X powinien prawdopodobnie robić sam. Jeśli sprawy będą się rozszerzać na zewnątrz, tak jak wcześniej, dotrzemy do punktu, w którym projekt staje się nieosiągalny.

Podsumowując, w przypadku wsparcia sprzętowego, cały zestaw powinien być bardziej wydajny i mniej bolesny w standardowych konfiguracjach.

Jest jednak kilka problemów, na które dotychczas nie widziałem środków zaradczych:

  • X jest dość świadomy sieci. Możesz wysyłać okna na inne komputery, możesz mieć wiele ekranów ze zdalnymi loginami i różnymi funkami tego typu. Może się to wydawać dość specjalistą, ale jest to szeroko stosowana technologia. Wayland wydaje się dość lokalny i statyczny w porównaniu.

  • Istnieje również wsparcie dla sterowników. Sterowniki z zamkniętym kodem źródłowym mają jeszcze wspierać technologie KMS / shared-GEM / shared-DRM, z których Wayland czerpie korzyści. Pouczający może być w porządku z Nouveau, ale ktoś, kto płaci 100-400 funtów na karcie graficznej 3D o wysokiej wydajności, nie będzie zadowolony ze słabej wydajności 3D, którą uzyskałby przy obecnym otwartym sterowniku.

    Aktualizacja: Nvidia pracuje nad wsparciem dla Waylanda i Mira .

Tak czy inaczej, mówimy lata (prawdopodobnie od dwóch do trzech IMO) zanim coś takiego będzie gotowe do stabilnych testów, a jeszcze dłużej, zanim będziesz musiał zrezygnować z X (jeśli Wayland był wyraźnie lepszy).

    
odpowiedział Oli 05.11.2010, 15:43
źródło
48

Istnieje partii różnic między X i Wayland. Prawdopodobnie największą z grafik jest to, że Wayland nie rysuje .

X ma dwa rysunkowe interfejsy API. Jednym z nich jest część podstawowego protokołu X11, który jest pradawny, bezużyteczny i nikt go nie używa. Drugim jest rozszerzenie XRender, które zapewnia nowoczesne operacje złożone, między innymi takie jak gradienty. Na tym właśnie polega Kair. X ma także 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 niektórych pamięci graficznych; Wayland nie wie, czy klient radzi sobie z tym buforem. W terminologii X oznacza to, że wszystkie aplikacje otrzymują bezpośrednie renderowanie - żądania rysowania nie muszą przechodzić przez serwer.

Jedynym renderowaniem Waylanda jest skopiowanie buforów klienta na ekran.

Pod względem korzyści Wayland jest o wiele mniej złożony niż X, co powinno ułatwić jego utrzymanie - chociaż część tej prostoty wynika z przesuwania złożoności (np. jak w rzeczywistości narysować na tym bufor, przezroczystość sieci) do innych warstw stosu. Poprzez sprawianie, by klienci byli odpowiedzialni za wszystkie ich renderowanie, klienci mogą być mądrzejsi o rzeczach takich jak podwójne buforowanie.

Istnieją inne zalety poza grafiką. Aplikacja piaskownicy jest znacznie łatwiejsza, na przykład.

    
odpowiedział RAOF 07.11.2010, 06:40
źródło
16

Główna różnica w moich oczach polega na tym, że Wayland jest bliżej jądra niż X-Server. Po przeniesieniu sterowników graficznych z X do jądra (znanego jako ustawienie trybu jądra, KMS), Wayland planuje użyć tej nowej funkcji do zastąpienia X. Można się spodziewać następujących ...

Mniejsza powierzchnia niż X - ponieważ ekran jest obsługiwany przez jądro Waylanda, nie będzie musiał implementować tak dużo, aby stać się użyteczny. To idzie w obie strony, ponieważ podejrzewam, że X forwarding (spójrz na jeden ekran na innym komputerze) może zniknąć z X.

Funkcje KMS: Możliwość zmiany rozdzielczości ekranu bez restartowania serwera X (choć wydaje mi się, że zostało to naprawione w X, przynajmniej dla nvidii), debugowanie konsoli na panice jądra dla chipsetów intel (przeniesienie do nouveau), jeśli Wracaj do tego rodzaju rzeczy.

Czy ktoś może mnie poprawić, jeśli się mylę?

    
odpowiedział TGM 05.11.2010, 15:36
źródło
11

Wszystkie inne posty podkreślają zalety Wayland, ale nie tylko dobre. Największą zaletą X over Wayland jest to, że X działa w sieci. X jest przezroczysty w sieci, możesz wyświetlić okno lub z XDMCP kompletną sesję na terminalu, podczas gdy rzeczywisty program działa na innej, zwykle wydajniejszej maszynie. W przypadku czegoś takiego jak Wayland, idea przejrzystości sieci zniknęła. Być może nie jest to obecnie wymagane w przypadku szybkich sieci i innych protokołów, takich jak VNC i RDP, tylko pomyślałem, że wspomnę o tym dla kompletności.

    
odpowiedział Christian Hujer 02.09.2015, 22:16
źródło
6

Krótko mówiąc, nadzieja polega na lepszej grafice (mniej błądzącej, szybszej i łatwiejszej w użyciu). Nawet rzeczy mogą być możliwe pewnego dnia, które nie były wcześniej. Osobiście uważam, że to przynajmniej urozmaici rzeczy, podobnie jak konkurencja.

    
odpowiedział ido 05.11.2010, 15:20
źródło
3

Dwie małe rzeczy, które każdy zauważy dość szybko w codziennej pracy:

  • Wayland usuwa wycinki, które w X11 były zbyt trudne do naprawienia. Znany przykład: Używanie klawiszy funkcyjnych (głośność głośnika, jasność wyświetlacza itp.) Podczas gdy menu jest otwarte lub ekran blokady jest włączony.
  • Wayland jest lepszy w urządzeniach wejściowych. Po pierwsze, istnieje wiele innych opcji konfiguracji touchpadów, w tym trwałe ustawienie "kliknij, aby kliknąć".
odpowiedział Nico Schlömer 15.08.2017, 15:52
źródło

Przeczytaj inne pytania na temat tagów