Question Pourquoi Wayland est-il meilleur?


Comme récemment annoncé par Mark Shuttleworth, Ubuntu se dirigera vers l'utilisation de Wayland comme gestionnaire d'affichage.

Quelles sont les plus grandes différences entre X11 et Wayland? Pourquoi Wayland améliorera-t-il Ubuntu?


149
2017-11-05 13:52


origine


En décembre 2013, il semblerait qu'Ubuntu, basé sur Unity, utilisera le serveur d'affichage Mir au lieu d'un compositeur basé sur Wayland à partir d'Ubuntu 14.10: lien  lien D'autres variantes d'Ubuntu seront probablement déplacées vers Wayland: lien - Diego
Voici une excellente vidéo expliquant X et pourquoi les gens veulent la remplacer: youtube.com/watch?v=cQoQE_HDG8g - Jason
Ubuntu 18 (Bionic) utilisera désormais xorg par défaut, mais wayland est toujours une option sur l'écran de connexion: blog.ubuntu.com/2018/01/26/… - Kris


Réponses:


Tu peux voir la page d'architecture Wayland pour voir comment il diffère dans la conception. Il est censé simplifier l'ensemble de la pile graphique en forçant le tout à travers une pile GEM / DRM standard directement dans le noyau et en gérant lui-même la composition.

Comparez cela à la pile X où vous avez des bits et des bobs partout. Une partie du désordre de X a été par la conception flexible, certains ont souffert des douleurs. Tous les compositeurs (Compiz / Metacity / Mutter / KWin / etc) ont été ajoutés après coup. Ils sont, à la base, piratés pour faire ce que X devrait probablement faire lui-même. Si les choses continuent à s’étendre comme elles l’ont été, nous arriverons à un stade où le projet deviendra impossible à maintenir.

Dans l'ensemble, lorsque le support matériel est là, cela devrait rendre l'ensemble de la pile plus efficace et moins pénible à utiliser dans les configurations standard.

Cependant, il y a quelques problèmes pour lesquels je n'ai pas encore vu de solutions:

  • X est assez sensible au réseau. Vous pouvez envoyer des fenêtres à d'autres ordinateurs, vous pouvez avoir plusieurs écrans avec des connexions distantes et toutes sortes de choses géniales comme ça. Cela peut sembler assez spécialisé mais c'est une technologie largement utilisée. Wayland semble assez local et statique en comparaison.

  • Il y a aussi le support du conducteur. Les pilotes à source fermée doivent encore prendre en charge les technologies KMS / shared-GEM / shared-DRM sur lesquelles Wayland se nourrit. Un puriste est peut-être d'accord avec Nouveau, mais une personne qui paie 100-400 £ sur une carte graphique 3D haute performance ne sera pas satisfaite de la mauvaise performance 3D qu'elle obtiendrait avec le pilote ouvert actuel.

    Mettre à jour:  Nvidia travaille pour soutenir à la fois Wayland et Mir.

De toute façon, nous parlons des années (probablement de deux à trois IMO) avant que quelque chose comme cela ne soit prêt pour des tests stables et encore plus long avant de devoir abandonner X (si Wayland était clairement meilleur).


121
2017-11-05 14:43



+1 pour la pureté de ce lien Nvidia. - poolie
La transparence du réseau est exagérée pour plusieurs raisons. 1. Le transfert X pur n’est assez rapide que sur un réseau local. Sur Internet, le X brut est inutilisable en raison de la latence. Pour obtenir des performances décentes, vous devez utiliser des protocoles tiers tels que NX ou VNC. 2. NX et VNC sont tous deux difficiles à configurer en raison de l’architecture de X. Cela devrait être plus facile avec Wayland. 3. Peu de boîtes à outils modernes utilisent le code de dessin de X. Ils se fixent simplement sur un bitmap et l'envoient à X. C'est exactement la même chose que Wayland et aura les mêmes caractéristiques de réseau. - Timmmm
Je suis d'accord avec le point 1 mais sur un bon réseau local, la transmission X est intouchable pour la qualité ou la performance. Beaucoup mieux que l'une des alternatives dans mon expérience. - Oli♦
En 2013, la situation est plus claire en ce qui concerne la transparence du réseau: askubuntu.com/a/359870/203271 - Diego
@poolie: Il semble qu'ils ont changé d'avis. ;-) - Peque


Il y a beaucoup des différences entre X et Wayland. Probablement le plus grand côté graphique est que Wayland ne fait aucun dessin.

X a deux API de dessin. L'une d'entre elles fait partie du protocole X11 de base, ancien, inutile et que personne n'utilise. L'autre est l'extension XRender qui fournit des opérations composites modernes, notamment des dégradés. C'est ce que le Caire, par exemple, utilise. X possède également des API de dessin de polices.

Wayland n'a pas d'API de dessin. Un client Wayland obtient un handle de mémoire tampon DRM, qui est essentiellement un pointeur vers une certaine mémoire graphique; Wayland ne sait pas ou se soucie de la façon dont le client attire ce tampon. En termes X, cela signifie que toutes les applications reçoivent rendu direct - Les requêtes de dessin n'ont pas besoin de passer par le serveur.

Wayland ne fait que copier les tampons du client sur l'écran.

En termes d’avantages, Wayland est beaucoup moins complexe que X, ce qui devrait faciliter sa maintenance - même si une partie de cette simplicité vient de la complexité (par exemple: comment réellement dessiner sur ce tampon, la transparence du réseau) sur les autres couches de la pile. En rendant les clients responsables de tout leur rendu, les clients peuvent être plus intelligents en matière de choses telles que la double mise en mémoire tampon.

Il y a d'autres avantages en dehors des graphiques. Il est beaucoup plus facile de mettre des applications en sandbox, par exemple.


49
2017-11-07 05:40



Cela ressemble à Microsoft DirectX comme les choses? - Anwar
J'utilise l'API de dessin du protocole X11, car elle est plus rapide que XRender. - étale-cohomology
Je fais également appel à Microsoft par Wayland et systemd. Et non, ce n'est pas une bonne chose. Ils enfreignent les règles de base du développement logiciel. Dans systemd juste parce que c'est plus facile pour les développeurs de systemd. En mode terre, car ils veulent des jeux plus rapides (?) Et le rendu, et jettent beaucoup de bonnes choses avec ça. - Anders


La principale différence à mes yeux est que Wayland est plus proche du noyau que X-Server. Avec le transfert des pilotes graphiques de X vers le noyau (appelé paramètre du mode noyau, KMS), Wayland prévoit d’utiliser cette nouvelle fonctionnalité pour remplacer X. Vous pourriez vous attendre à ce qui suit ...

Moins d’empreinte que X - car l’affichage est géré par le noyau. Wayland n’aura pas à mettre en œuvre autant pour devenir utilisable. Cela va dans les deux sens, car je soupçonne que le transfert X (regarder un écran sur un autre PC) peut disparaître avec X.

Fonctionnalités KMS: Etre capable de changer la résolution d'écran sans redémarrer le serveur X (bien que je pense que cela a été corrigé dans X il y a quelques temps, au moins pour nvidia), déboguer la console sur le noyau pour les chipsets Intel ce genre de chose.

Quelqu'un peut-il me corriger si je me trompe?


16
2017-11-05 14:36



KMS et GEM ne déplacent pas les pilotes graphiques vers le noyau, seules quelques petites parties sont déplacées vers le noyau (les bits qui parlent directement au matériel et doivent être dans le noyau de telle sorte que différents pilotes puissent coexister, par exemple écriture dans les ports d'E / S et gestion de la mémoire). KMS et GEM sont déjà utilisés par X aujourd'hui, du moins pour les pilotes open source modernes (Intel, Radeon, Nouveau). BTW: Je doute sérieusement que le déplacement du pilote graphique complet vers le noyau soit accepté par Linus ...;) - JanC
Oh, et KMS n'a jamais eu besoin de changer la résolution de l'écran (cela a été possible depuis que j'ai utilisé X il y a plus de 10 ans), mais il permet différents pilotes (par exemple, le pilote de la console, les pilotes X et maintenant les pilotes Wayland) coopérer plus facilement. Dans le passé, il n’était pas toujours évident pour chacun d’entre eux dans quel «état» le matériel graphique se trouvait à un moment donné, et de nombreuses solutions de contournement propriétaires reposant sur des devinettes ou des pilotes étaient utilisées. - JanC
Ce n'est pas tout à fait vrai que le transfert X disparaîtra car X peut toujours être utilisé comme client sur Wayland. wayland.freedesktop.org en a un exemple. Mais X est une façon assez horrible de faire ce genre de choses de toute façon. Il est temps qu'il soit remplacé. Dans de nombreux cas, il semble que des choses comme GTK avec Broadway seraient une meilleure approche. - Jo-Erlend Schinstad
L'extension RandR vous permet de modifier la résolution de l'écran sans redémarrer le serveur X. - Anonymous


Tous les autres articles mettent en évidence les avantages de Wayland, mais ils ne sont pas tous bons. Le plus grand avantage de X sur Wayland est que X fonctionne sur le réseau. X est transparent sur le réseau, vous pouvez afficher la fenêtre ou, avec XDMCP, une session complète sur un terminal pendant que le programme est exécuté sur une autre machine, généralement plus puissante. Avec quelque chose comme Wayland, l'idée de la transparence du réseau a disparu. Peut-être que ce n'est pas tellement nécessaire ces jours-ci avec des réseaux rapides et d'autres protocoles tels que VNC et RDP, pensant juste que je le mentionnerais pour être complet.


11
2017-09-02 20:16



C'est exactement ce que je considère également comme le plus grand avantage du X sur le Wayland proposé. - Kris Jace


En termes simples, l'espoir est d'obtenir de meilleurs graphiques (moins de bug, plus rapide, plus facile à utiliser). Même des choses pourraient être possibles un jour qui ne l'étaient pas auparavant. Personnellement, je pense que cela va au moins pimenter les choses, comme le fait toujours la concurrence.


6
2017-11-05 14:20





Deux petites choses que tout le monde remarquera rapidement dans le travail quotidien:

  • Wayland supprime les papercuts jugés trop difficiles à réparer dans X11. Un exemple célèbre: utiliser les touches de fonction (volume du haut-parleur, luminosité de l'écran, etc.) lorsqu'un menu est ouvert ou que l'écran de verrouillage est activé.
  • Wayland est meilleur sur les périphériques d'entrée. D'une part, il y a beaucoup plus d'options pour la configuration des pavés tactiles, y compris un paramètre tap-to-click persistant.

3
2017-08-15 13:52



Wayland est pire si un programme est verrouillé pour une raison. Avoir différents wm est une bonne chose. J'utilise régulièrement le réseau X11 (chaque jour). Certains programmes ont cessé de fonctionner dans Wayland (j'utilise Ubuntu 18.04) - Anders