Warum ist Wayland besser?


177

Wie kürzlich von Mark Shuttleworth angekündigt , wird Ubuntu Wayland als Display-Manager einsetzen.

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


5
Ab Dezember 2013 sieht es aus wie Unity basiert Ubuntu wird anstelle eines Wayland basierten Compositor Mir Display - Server von Ubuntu Start 14.10: Link Link Andere Ubuntu - Varianten werden wahrscheinlich zu Wayland bewegen: Link
Diego

4
Hier ist ein großartiges Video, in dem X erklärt wird und warum die Leute es ersetzen wollen: youtube.com/watch?v=cQoQE_HDG8g
Jason

Ubuntu 18 (Bionic) verwendet jetzt standardmäßig xorg, Wayland ist jedoch weiterhin eine Option auf dem Anmeldebildschirm: blog.ubuntu.com/2018/01/26/…
Kris

Ich würde sagen, X ist besser. Ich würde nicht in technische Sachen gehen. Aber ich sage nur, ich habe mit Wayland Frames auf YouTube gelöscht, wenn ich die Fenstergröße verändere oder den Vollbildmodus verlasse. Mit X keine Probleme. Obwohl die Geschwindigkeit gleich ist. Auch auf Wayland fühlt sich der Mauszeiger lockerer an als auf X. X ist immer noch meine Nummer 1
Luka

Antworten:


136

Auf der Wayland-Architekturseite können Sie sehen, wie sich das Design unterscheidet. Es soll den gesamten Grafikstapel vereinfachen, indem alles durch einen Standard-GEM / DRM-Stapel direkt in den Kernel gezwungen und das Compositing selbst verwaltet wird.

Vergleichen Sie das mit dem X-Stapel, auf dem Sie überall herumspielen. Einige der X-Chaos wurde durch flexibles Design, andere haben Schmerzen gewachsen. Alle Compositors (Compiz / Metacity / Mutter / KWin / etc) wurden nachträglich hinzugefügt. Sie sind in ihrem Kern Hacks, um das zu tun, was X wahrscheinlich selbst tun sollte. Wenn sich die Dinge weiter nach außen ausdehnen, werden wir an einem Punkt angelangt sein, an dem das Projekt unerreichbar wird.

Alles in allem sollte die Hardwareunterstützung den gesamten Stack effizienter machen und die Verwendung in Standard-Setups erleichtern.

Es gibt jedoch einige Probleme, für die ich bisher keine Mittel gesehen habe:

  • X ist ziemlich netzwerkfähig. Sie können Fenster an andere Computer senden, Sie können mehrere Bildschirme mit Remoteanmeldungen und allen möglichen irren Dingen wie diesen haben. Dies mag ziemlich speziell erscheinen, ist aber eine weit verbreitete Technologie. Wayland wirkt im Vergleich eher lokal und statisch.

  • Es gibt auch Fahrerunterstützung. Closed-Source-Treiber müssen noch die KMS- / Shared-GEM- / Shared-DRM-Technologien unterstützen, auf denen Wayland aufbaut. Ein Purist mag mit Nouveau einverstanden sein, aber jemand, der 100-400 Pfund für eine Hochleistungs-3D-Grafikkarte zahlt, wird mit der schlechten 3D-Leistung, die er mit dem aktuellen Open-Treiber erzielen würde, nicht zufrieden sein.

    Update: Nvidia arbeitet daran, Wayland und Mir zu unterstützen .


Update 2018 . 17.10 verwendete Wayland als Standardanzeigeserver (es sei denn, Sie hatten einen geschlossenen Treiber oder einen Treiber, der diesen nicht unterstützte oder X benötigte). 18.04 und 18.10 verwenden beide X als globalen Standard (obwohl Sie Wayland installieren können).

Ich bin nicht für irgendetwas verantwortlich, aber von dieser Position aus scheint es, als wären wir immer noch eine Metrik von Nvidia entfernt, um echte Traktion zu erreichen. Bis dahin denke ich nicht, dass wir genug Mindshare und Entwicklungskraft hinter Wayland sehen werden. Der Gaming- / Performance-Markt verwendet X. Der MCE-Markt verwendet X (und direkte Framebuffer). Ich bin nicht sicher, ob Wayland jemals eine echte Chance haben wird.


21
Die Sache mit der Netzwerktransparenz ist aus mehreren Gründen viel zu weit gegangen. 1. Reine X-Weiterleitung ist nur über ein LAN schnell genug. Über das Internet ist Raw X aufgrund von Latenz unbrauchbar. Um eine angemessene Leistung zu erzielen, müssen Sie Protokolle von Drittanbietern wie NX oder VNC verwenden. 2. Sowohl NX als auch VNC sind aufgrund der Architektur von X sehr aufwändig einzurichten. Mit Wayland sollte es einfacher sein. 3. Nur wenige moderne Toolkits verwenden den Zeichnungscode von X. Sie zeichnen sich einfach auf eine Bitmap und senden diese an X. Dies ist genau das gleiche wie Wayland und hat die gleichen Netzwerkmerkmale.
Timmmm

4
Ich bin mit Punkt 1 einverstanden, aber über ein gutes LAN, X-Forwarding unantastbar für Qualität oder Leistung. Nach meiner Erfahrung viel besser als jede Alternative.
Oli

1
Ab 2013 ist die Situation in Bezug auf die Netzwerktransparenz klarer: askubuntu.com/a/359870/203271
Diego

2
@poolie: Anscheinend haben sie ihre Meinung geändert. ;-)
Peque

2
Von BionicBeaver / ReleaseNotes : "X ist der Standard-Anzeigeserver. Wayland wird als technische Vorschau bereitgestellt und wird voraussichtlich der Standard-Anzeigeserver in 20.04 LTS sein . Zum Ausprobieren wählen Sie einfach Ubuntu on Wayland im Cog des Logins Bildschirm. X.org-Protokolle finden Sie jetzt unter ~ / .local / share / xorg "[Hervorhebung von mir]
Dennis Williamson

56

Es gibt viele Unterschiede zwischen X und Wayland. Wahrscheinlich ist das größte auf der Grafikseite, dass Wayland keine Zeichnungen macht .

X verfügt über zwei Zeichnungs-APIs. Eines davon ist Teil des Kernprotokolls X11, das uralt und nutzlos ist und von niemandem verwendet wird. Die andere ist die XRender-Erweiterung, die moderne Composite-Operationen bietet, unter anderem Farbverläufe. Das nutzt zum Beispiel Kairo. X verfügt auch über APIs zum Zeichnen von Schriftarten.

Wayland hat keine Zeichnungs-APIs. Ein Wayland-Client erhält ein DRM-Pufferhandle, das im Grunde genommen ein Zeiger auf einen Grafikspeicher ist. Wayland ist es egal, wie der Client auf diesen Puffer zugreift. In X-Begriffen bedeutet dies, dass alle Anwendungen direkt gerendert werden - Zeichnungsanforderungen müssen nicht über den Server gesendet werden.

Das einzige Rendering, das Wayland ausführt, besteht darin, die Puffer des Clients auf den Bildschirm zu kopieren.

In Bezug auf die Vorteile ist Wayland weitaus weniger komplex als X, was die Wartung erleichtern dürfte. Ein Teil dieser Einfachheit beruht jedoch darauf, dass die Komplexität (z. B. wie man tatsächlich auf diesen Puffer zurückgreift, Netzwerktransparenz) auf andere Ebenen des Systems verlagert wird Stapel. Indem Clients für das gesamte Rendering verantwortlich gemacht werden, können die Clients Dinge wie die doppelte Pufferung intelligenter handhaben.

Es gibt noch andere Vorteile außerhalb der Grafik. Sandbox-Anwendungen sind zum Beispiel viel einfacher.


2
Klingt wie Microsoft DirectX wie Dinge?
Anwar

3
Ich verwende die Kern-X11-Protokollzeichnungs-API, weil sie schneller als XRender ist.
étale-cohomology

3
Ich bekomme auch Microsoft Wibes von Wayland und systemd. Und nein, das ist keine gute Sache. Sie brechen grundlegende Regeln für die Softwareentwicklung. In systemd, nur weil es für die Entwickler von systemd einfacher ist. In Wayland, weil sie schnellere Spiele (?) Und Rendering wollen und damit viele gute Sachen rausschmeißen.
Anders

18

Der Hauptunterschied in meinen Augen ist, dass Wayland näher am Kernel ist als X-Server. Mit der Verlagerung der Grafiktreiber von X auf den Kernel (bekannt als Kernel Mode Setting, KMS) plant Wayland, diese neue Funktionalität zu verwenden, um X zu ersetzen.

Geringerer Platzbedarf als X - da die Anzeige vom Kernel verwaltet wird, muss Wayland nicht so viel implementieren, um verwendet werden zu können. Dies geht in beide Richtungen, da ich vermute, dass die X-Weiterleitung (schauen Sie sich einen Bildschirm auf einem anderen PC an) mit X verschwinden könnte.

KMS-Funktionen: In der Lage sein, die Bildschirmauflösung zu ändern, ohne den X-Server neu zu starten (obwohl ich glaube, dass dies vor einiger Zeit in X behoben wurde, zumindest für nvidia) diese Art von Ding.

Kann mich jemand in irgendetwas korrigieren, wenn ich falsch liege?


4
KMS & GEM verschiebt die Grafiktreiber nicht in den Kernel, nur einige kleine Teile werden in den Kernel verschoben (die Bits, die direkt mit der Hardware kommunizieren und im Kernel vorhanden sein müssen, damit verschiedene Treiber nebeneinander existieren können, z Schreiben an E / A-Ports und Speicherverwaltung). KMS & GEM werden bereits heute von X verwendet, zumindest für moderne Open Source-Treiber (Intel, Radeon, Nouveau). Übrigens: Ich bezweifle ernsthaft, dass das Verschieben des gesamten Grafiktreibers in den Kernel von Linus akzeptiert wird ...;)
6.

4
Oh, und KMS wurde nie benötigt, um die Bildschirmauflösung zu ändern (das war möglich, seit ich X vor mehr als 10 Jahren verwendet habe), aber es erlaubt verschiedene Treiber (z. B. den Konsolen-Framebuffer-Treiber, die X-Treiber und jetzt die Wayland-Treiber). leichter zusammenarbeiten. In der Vergangenheit war es nicht immer offensichtlich, in welchem ​​"Zustand" sich die Grafikhardware zu einem bestimmten Zeitpunkt befindet, und es wurden viele erratene oder treiberabhängige proprietäre Problemumgehungen verwendet.
6.

1
Es ist nicht ganz richtig, dass die X-Weiterleitung wegfällt, da X weiterhin als Client auf Wayland verwendet werden kann. wayland.freedesktop.org hat ein Beispiel dafür. Aber X ist sowieso eine ziemlich schreckliche Art, so etwas zu tun. Es ist an der Zeit, dass es ersetzt wird. In vielen Fällen scheinen Dinge wie GTK mit Broadway ein besserer Ansatz zu sein.
Jo-Erlend Schinstad

3
Mit der RandR-Erweiterung können Sie die Bildschirmauflösung ändern, ohne den X-Server neu zu starten.
Anonym

14

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 vollständige Sitzung auf einem Terminal anzeigen, während das eigentliche Programm auf einem anderen, normalerweise leistungsstärkeren Computer ausgeführt wird. Mit so etwas wie Wayland ist die Idee der Netzwerktransparenz verschwunden. Vielleicht ist es heutzutage bei schnellen Netzwerken und anderen Protokollen wie VNC und RDP nicht so sehr erforderlich, ich wollte es nur der Vollständigkeit halber erwähnen.


Genau das halte ich auch für den größten Vorteil des X gegenüber dem vorgeschlagenen Wayland.
Kris Jace

7

Einfach ausgedrückt, die Hoffnung liegt auf einer besseren Grafik (weniger fehlerhaft, schneller, einfacher zu bedienen). Sogar Dinge könnten eines Tages möglich sein, die vorher nicht waren. Ich persönlich denke, das wird die Dinge zumindest aufpeppen, so wie es der Wettbewerb immer tut.


3

Zwei Kleinigkeiten, die bei der täglichen Arbeit schnell auffallen:

  • Wayland beseitigt die Papierschnitte, die in X11 für zu schwierig gehalten wurden. Ein bekanntes Beispiel: Verwenden der Funktionstasten (Lautsprecherlautstärke, Displayhelligkeit usw.), während ein Menü geöffnet oder der Sperrbildschirm aktiviert ist.
  • Wayland ist besser in Eingabegeräten. Zum einen gibt es viele weitere Optionen zum Konfigurieren von Touchpads, einschließlich einer dauerhaften Tap-to-Click-Einstellung.

1
Wayland ist schlimmer, wenn ein Programm aus einem bestimmten Grund gesperrt ist. Anders zu sein, ist eine gute Sache. Ich benutze Network X11 regelmäßig (jeden Tag). Einige Programme funktionieren in Wayland nicht mehr (ich verwende Ubuntu 18.04)
Anders
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.