Antworten:
Warum nicht Wayland / Weston?
Eine offensichtliche Klarstellung zuerst: Wayland ist eine Protokolldefinition, die definiert, wie eine Client-Anwendung mit einer Compositor-Komponente kommunizieren soll. Es werden Bereiche wie Oberflächenerstellung / -zerstörung, Zuweisung / Verwaltung von Grafikpuffern, Behandlung von Eingabeereignissen und ein grober Prototyp für die Integration von Shell-Komponenten behandelt. Unsere Bewertung der Protokolldefinition ergab jedoch, dass das Wayland-Protokoll nicht unseren Anforderungen entspricht. Erstens streben wir eine erweiterbarere Behandlung von Eingabeereignissen an, die zukünftige Entwicklungen wie 3D-Eingabegeräte (z. B. Leap Motion) berücksichtigt. Beachten Sie jedoch, dass die Eingabeereignisbehandlung von Wayland nicht unter den Sicherheitsproblemen leidet, die durch die Eingabeereignisbehandlungssemantik von X verursacht werden (danke an Daniel Stone und Kristian Høgsberg für diesen Hinweis). In Bezug auf mobile Use-Cases Wir sind der Meinung, dass der Umgang mit Eingabemethoden sich auch im Display-Server-Protokoll widerspiegeln sollte. Als weiteres Beispiel betrachten wir die Shell-Integrationsteile des Protokolls als privilegiert, und wir möchten lieber vermeiden, dass im Client-Protokoll ein Shell-Verhalten definiert wird.
Wir sind jedoch weiterhin der Meinung, dass Waylands Versuch, die Kommunikation zwischen Clients und der Display-Server-Komponente zu standardisieren, sehr sinnvoll und nützlich ist. Aufgrund unserer unterschiedlichen Anforderungen haben wir uns jedoch für die folgende Architektur entschieden, um die Protokollintegration zu erreichen:
Ein protokollunabhängiger innerer Kern, der äußerst genau definiert, erprobt und portabel ist. Eine äußere Hülle zusammen mit einer Frontend-Firewall, die es uns ermöglicht, unseren Display-Server auf beliebige Grafikstapel zu portieren und an mehrere Protokolle zu binden.
Zusammenfassend lässt sich sagen, dass wir Wayland / Weston nicht als Grundlage für die Bereitstellung eines Benutzererlebnisses der nächsten Generation gewählt haben, da es unsere Anforderungen nicht vollständig erfüllt. Darüber hinaus können wir mit unserem protokoll- und plattformunabhängigen Ansatz sicherstellen, dass wir unser Ziel einer konsistenten und ansprechenden Benutzererfahrung über Plattformen und Geräteformfaktoren hinweg erreichen. Die Wayland-Unterstützung könnte jedoch entweder durch die Bereitstellung einer Wayland-spezifischen Frontend-Implementierung für unseren Anzeigeserver oder durch die Bereitstellung einer clientseitigen Implementierung von libwayland ergänzt werden, die letztendlich mit Mir kommuniziert.
Eine ausführlichere Diskussion finden Sie hier: https://wiki.ubuntu.com/Mir/Spec?action=show&redirect=MirSpec
Und vom technischen Architekten Mir:
http://samohtv.wordpress.com/2013/03/04/mir-an-outpost-envisioned-as-a-new-home/
Mehr Informationen:
Jono Bacon über seine Fragen und Antworten hat dies einige Male beantwortet. Seine neueste Antwort ist hier:
http://www.youtube.com/watch?v=6Oa2psAewtg&feature=share&t=56m36s
Nach dem, was ich aus den Fragen und Antworten von Jono und Popey zu Linux Unplugged zusammengetragen habe, lassen sich die Punkte wie folgt zusammenfassen: