Warum ist Wayland besser?

148

Wie kürzlich von Mark Shuttleworth angekündigt, wird sich Ubuntu der Verwendung von Wayland als Display-Manager zuwenden.

Was sind die größten Unterschiede zwischen X11 und Wayland? Warum wird Wayland Ubuntu besser machen?

    
Hillar 05.11.2010, 14:52
quelle

6 Antworten

121

Sie können die Wayland-Architektur sehen, um zu sehen, wie sich das Design unterscheidet. Es soll den gesamten Grafik-Stack vereinfachen, indem man alles durch einen Standard-GEM / DRM-Stack direkt in den Kernel zwingt und das Compositing selbst verwaltet.

Vergleichen Sie das mit dem X-Stack, in dem Sie überall herumstochern. Einige der X-Chaos wurde durch flexibles Design, einige haben wachsende Schmerzen. Alle Kompositionen (Compiz / Metacity / Mutter / KWin / etc) wurden nachträglich hinzugefügt. Sie sind in ihrem Kern, Hacks zu tun, was X wahrscheinlich selbst tun sollte. Wenn sich die Dinge weiter ausbreiten wie bisher, werden wir einen Punkt erreichen, an dem das Projekt nicht mehr zu halten ist.

Alles in allem sollte es, wenn Hardware-Unterstützung da ist, den gesamten Stack effizienter und weniger schmerzhaft für die Verwendung in Standard-Setups machen.

Allerdings gibt es ein paar Probleme, für die ich bisher keine Abhilfemaßnahmen gesehen habe:

  • X ist ziemlich netzwerkfähig. Sie können Fenster an andere Computer senden, Sie können mehrere Bildschirme mit Remote-Logins und alle möglichen funkigen Dinge wie diese haben. Dies mag ziemlich spezialisiert erscheinen, aber es ist weit verbreitete Technologie. Wayland erscheint im Vergleich ziemlich lokal und statisch.

  • Es gibt auch Treiberunterstützung. Closed-Source-Treiber unterstützen die KMS / Shared-GEM / Shared-DRM-Technologien, von denen Wayland lebt. Ein Purist könnte mit Nouveau einverstanden sein, aber jemand, der £ 100-400 auf einer leistungsstarken 3D-Grafikkarte zahlt, wird nicht mit der flockigen, schlechten 3D-Leistung zufrieden sein, die sie mit dem aktuellen offenen Treiber bekommen würden.

    Update: Nvidia arbeitet daran, Wayland und Mir .

Wie auch immer, wir reden über Jahre (wahrscheinlich zwei vor drei IMO), bevor so etwas für stabile Tests bereit ist und noch länger, bevor Sie X aufgeben müssen (wenn Wayland eindeutig besser wäre).

>     
Oli 05.11.2010, 15:43
quelle
48

Es gibt viele Unterschiede zwischen X und Wayland. Wahrscheinlich ist die größte von der Grafikseite, dass Wayland keine Zeichnung macht .

X verfügt über zwei Zeichen-APIs. Eine davon ist ein Teil des Kern-X11-Protokolls, das uralt ist, nutzlos und niemand benutzt. Die andere ist die XRender-Erweiterung, die moderne Composite-Operationen unter anderem als Gradienten bietet. Dies ist, was Kairo zum Beispiel verwendet. X verfügt auch über Zeichensatz-APIs.

Wayland hat keine Zeichnungs-APIs. Ein Wayland-Client erhält einen DRM-Buffer-Handle, der im Grunde genommen ein Zeiger auf irgendeinen Grafikspeicher ist; Wayland weiß nicht, wie der Klient in diesen Puffer zieht. X bedeutet, dass alle Anwendungen direktes Rendering erhalten - Zeichnungsanforderungen müssen nicht über den Server gehen.

Das einzige Rendering von Wayland besteht darin, die Puffer des Clients auf den Bildschirm zu kopieren.

Was die Vorteile betrifft, ist Wayland viel weniger komplex als X, was es einfacher machen sollte - obwohl ein Teil dieser Einfachheit von der Steigerung der Komplexität herrührt (zB: wie man eigentlich darauf bezieht) Puffer, Netzwerktransparenz) zu anderen Schichten des Stapels. Indem die Clients für das gesamte Rendering verantwortlich gemacht werden, können die Clients bei Dingen wie Double-Buffering klüger sein.

Es gibt noch andere Vorteile außerhalb der Grafik. Es ist beispielsweise viel einfacher, Sandbox-Anwendungen zu erstellen.

    
RAOF 07.11.2010 06:40
quelle
16

Der größte Unterschied in meinen Augen ist, dass Wayland näher am Kernel ist als X-Server. Mit der Verschiebung von Grafiktreibern von X auf den Kernel (bekannt als Kernelmodus-Einstellung, KMS) plant Wayland, diese neue Funktionalität zu verwenden, um X zu ersetzen. Sie könnten Folgendes erwarten ...

Weniger Platzbedarf als X - da die Anzeige vom Kernel gehandhabt wird, muss Wayland nicht so viel implementieren, um nutzbar zu werden. Dies geht in beide Richtungen, da ich vermute, X Weiterleitung (siehe einen Bildschirm auf einem anderen PC) kann mit X gehen.

KMS-Funktionen: In der Lage, die Bildschirmauflösung zu ändern, ohne X-Server neu zu starten (obwohl ich glaube, dass dies in X eine Weile behoben wurde, zumindest für Nvidia), Debug-Konsole auf Kernel-Panik für Intel-Chipsätze (Umzug in Nouveau) bin in so etwas.

Kann mich irgendjemand korrigieren, wenn ich falsch liege?

    
TGM 05.11.2010 15:36
quelle
11

Alle anderen Beiträge heben die Vorteile von Wayland hervor, aber es ist nicht alles nur gut. Der größte Vorteil von X gegenüber Wayland ist, dass X über das Netzwerk funktioniert. X ist netzwerktransparent, Sie können das Fenster oder mit XDMCP eine komplette Sitzung auf einem Terminal anzeigen, während das eigentliche Programm auf einem anderen, meist leistungsstärkeren Rechner läuft. Mit etwas wie Wayland ist die Idee der Netzwerktransparenz weg. Vielleicht ist es heutzutage nicht so wichtig mit schnellen Netzwerken und anderen Protokollen wie VNC und RDP, nur gedacht, ich würde es aus Gründen der Vollständigkeit erwähnen.

    
Christian Hujer 02.09.2015 22:16
quelle
6

Einfach gesagt, die Hoffnung ist für bessere Grafik (weniger Buggy, schneller, einfacher zu bedienen). Sogar Dinge könnten eines Tages möglich sein, die vorher nicht möglich waren. Ich persönlich denke, dass dies zumindest die Dinge aufpeppen wird, wie es der Wettbewerb immer tut.

    
ido 05.11.2010 15:20
quelle
3

Zwei kleine Dinge, die in der täglichen Arbeit schnell auffallen werden:

  • Wayland räumt mit den Papierschnitten auf, die in X11 zu schwer zu reparieren waren. Ein bekanntes Beispiel: Verwenden der Funktionstasten (Lautsprecherlautstärke, Displayhelligkeit usw.), während ein Menü geöffnet oder der Sperrbildschirm aktiviert ist.
  • Wayland ist besser an Eingabegeräten. Zum einen gibt es viele weitere Optionen zum Konfigurieren von Touchpads, einschließlich einer dauerhaften Tap-to-Click-Einstellung.
Nico Schlömer 15.08.2017 15:52
quelle

Tags und Links