web-dev-qa-db-fra.com

Pourquoi Canonical a-t-il choisi Mir sur Wayland comme serveur d’affichage?

J'aime savoir quels sont les avantages de Mir.

25
Naveen

Pourquoi pas Wayland/Weston?

Une première précision évidente: Wayland est une définition de protocole qui définit comment une application cliente doit communiquer avec un composant de composition. Il concerne des domaines tels que la création/destruction de surfaces, l'allocation/gestion de tampons graphiques, la gestion d'événements d'entrée et un prototype approximatif pour l'intégration de composants Shell. Cependant, notre évaluation de la définition du protocole a révélé que le protocole Wayland ne répond pas à nos exigences. Premièrement, nous visons une gestion plus extensible des événements d’entrée, qui prend en compte les développements futurs tels que les périphériques d’entrée 3D (par exemple, Leap Motion). Veuillez noter cependant que la gestion des événements d'entrée de Wayland ne souffre pas des problèmes de sécurité introduits par la sémantique de gestion des événements d'entrée de X (merci à Daniel Stone et Kristian Høgsberg pour l'avoir signalé). En ce qui concerne les cas d'utilisation mobiles, nous pensons que le traitement des méthodes de saisie devrait également être reflété dans le protocole du serveur d'affichage. Autre exemple, nous considérons que les parties d’intégration Shell du protocole sont privilégiées et nous évitons d’avoir un comportement quelconque du shell défini dans le protocole client.

Cependant, nous continuons de penser que la tentative de Wayland de normaliser la communication entre les clients et le composant du serveur d'affichage est très judicieuse et utile, mais en raison de nos différentes exigences, nous avons décidé de choisir l'architecture suivante: w.r.t. à l'intégration de protocole:

Un noyau interne indépendant du protocole, extrêmement bien défini, bien testé et portable. Un shell externe avec un pare-feu frontal qui nous permet de porter notre serveur d'affichage sur des piles de graphiques arbitraires et de le lier à plusieurs protocoles.

En résumé, nous n'avons pas choisi Wayland/Weston comme base pour offrir une expérience utilisateur de nouvelle génération, car elle ne répond pas complètement à nos exigences. De plus, grâce à notre approche agnostique vis-à-vis des protocoles et des plates-formes, nous pouvons être sûrs d'atteindre notre objectif d'une expérience utilisateur cohérente et esthétique, quelle que soit la plate-forme et le type de périphérique. Toutefois, le support de Wayland pourrait être ajouté en fournissant une implémentation frontale spécifique à Wayland pour notre serveur d’affichage ou une implémentation côté client de libwayland qui parle finalement à Mir.

Il y a une discussion plus détaillée ici: https://wiki.ubuntu.com/Mir/Spec?action=show&redirect=MirSpec

Et de l'architecte technique Mir:

http://samohtv.wordpress.com/2013/03/04/mir-an-outpost-envisioned-as-a-new-home/

Plus d'information:

15
Panther

Jono Bacon a répondu à cette question à quelques reprises. Sa dernière réponse est ici:

http://www.youtube.com/watch?v=6Oa2psAewtg&feature=share&t=56m36s

D'après ce que j'ai compris, entre autres, du Q & A de Jono et des commentaires de Popey sur Linux Unplugged, les points peuvent être résumés comme suit:

  1. Wayland en fait trop. Avoir des fonctionnalités perpétuellement inutilisées dans votre pile logicielle est une mauvaise conception logicielle.
  2. L'équipe de Wayland ne serait pas assez flexible pour proposer une version éviscérée de Wayland afin de s'adapter de manière adéquate et respectueuse.
  3. Mir est à Wayland, ce que LightDM est à GDM/KDM.
  4. Ubuntu a des délais très stricts à respecter par les fabricants de téléphones et autres. Contrôler un projet facilite l’injection de ressources supplémentaires pour garantir le respect de ces délais.
  5. Bien que je ne pense pas que cette raison vienne officiellement du canonique, et qu’il s’agisse donc d’une spéculation de ma part, à l’époque où la décision a été prise, Wayland ne semblait pas aller assez vite sur le marché et le Android la technologie semblait être une base plus appropriée pour lancer leur produit.
11
Akiva