Primo pour le moment les dev wayland c'est les memes que les dev Xorg ...
Il n'est pas possible de changer le protocol X tous les 4 matins, le protocol X c'est comme l'API du noyau linux pour l'userspace. Une fois que le protocol existe tu dois le supporter et tu ne peux pas le changer. Ce qui c'est passe dans l'histoire de X c'est qu'il y a une des rajouts (extensions du protocol) comme xrandr, render, ou autres. Le probleme aujourd'hui c'est qu'aucune application utilise reellement le protocol X pour faire le rendu, les applications font le rendu dans leur coin et upload le resultat au server X sous forme de gros pixmap. C'est une realite a laquelle nous ne pouvons rien. Ce genre d'utilisation rend completement (pas totalement) inutile d'avoir un driver qui accelere X.
Par ailleur, les dev X ont pas envie de faire plusieurs drivers (1 driver pour Xorg, 1 driver pour OpenGL, 1 driver pour accelerer la decompression video ...). Donc comme tout le monde se tourne vers EGL (tous les android et autre platform embarque ou linux domine) il semble naturel aujourd'hui d'abandonner X et de se tourner vers une solution plus simple.
Wayland c'est tres basique, un client wayland donne une reference vers une image EGL et demande a wayland de l'afficher. Wayland essaye pas d'accelerer le rendu de l'application. L'application est libre d'utiliser ce qu'elle veut pour faire sont rendu (cairo, EGL ou autre).
Pour le switch je te conseille la presentation de Dave Airlie a la linux plumber (desolee je connais pas de lien). Techniquement Xorg pourrait aujourd'hui supporter le switch en implementant une solution batarde a la windows optimus (1 driver qui cache 2 driver et qui s'occupe de faire le switch). Mais ce n'est pas une solution perenne, c'est juste un hack crade.
La solution vers laquelle on s'oriente et de pousser le switch vers l'application, on demande alors a l'application de bien vouloir changer de driver GL et voir si celui-ci lui plait, si toutes les applications dises oui alors on switch, si une application dit non bah alors on switch pas. Ici 90% des applications n'auront jamais a ce soucier de ca (cela sera dans les toolkit qt ou gtk).
La raison pour laquelle un switch peu echouer c'est dans le cas d'une application GL qui demande une extension qui n'est pas presente sur la carte vers laquelle on veut switcher.
Pour les solutions a l'optimus (ou seul une fenetre ou une application est rendu avec un GPU different) la encore l'idee c'est de pousse le choix vers l'application puis d'avoir wayland capable de rapatrier les donnees vers le GPU qu'il utilise pour l'affichage.
Tout ca pour dire que le plus gros probleme de X c'est le manque de concurence c'est le manque de contributeurs.
[^] # Re: faut arrêter de s'accaparer le projet fait par les autres
Posté par glisse . En réponse au journal Ubuntu abandonne X pour Wayland. Évalué à 6.
Il n'est pas possible de changer le protocol X tous les 4 matins, le protocol X c'est comme l'API du noyau linux pour l'userspace. Une fois que le protocol existe tu dois le supporter et tu ne peux pas le changer. Ce qui c'est passe dans l'histoire de X c'est qu'il y a une des rajouts (extensions du protocol) comme xrandr, render, ou autres. Le probleme aujourd'hui c'est qu'aucune application utilise reellement le protocol X pour faire le rendu, les applications font le rendu dans leur coin et upload le resultat au server X sous forme de gros pixmap. C'est une realite a laquelle nous ne pouvons rien. Ce genre d'utilisation rend completement (pas totalement) inutile d'avoir un driver qui accelere X.
Par ailleur, les dev X ont pas envie de faire plusieurs drivers (1 driver pour Xorg, 1 driver pour OpenGL, 1 driver pour accelerer la decompression video ...). Donc comme tout le monde se tourne vers EGL (tous les android et autre platform embarque ou linux domine) il semble naturel aujourd'hui d'abandonner X et de se tourner vers une solution plus simple.
Wayland c'est tres basique, un client wayland donne une reference vers une image EGL et demande a wayland de l'afficher. Wayland essaye pas d'accelerer le rendu de l'application. L'application est libre d'utiliser ce qu'elle veut pour faire sont rendu (cairo, EGL ou autre).
Pour le switch je te conseille la presentation de Dave Airlie a la linux plumber (desolee je connais pas de lien). Techniquement Xorg pourrait aujourd'hui supporter le switch en implementant une solution batarde a la windows optimus (1 driver qui cache 2 driver et qui s'occupe de faire le switch). Mais ce n'est pas une solution perenne, c'est juste un hack crade.
La solution vers laquelle on s'oriente et de pousser le switch vers l'application, on demande alors a l'application de bien vouloir changer de driver GL et voir si celui-ci lui plait, si toutes les applications dises oui alors on switch, si une application dit non bah alors on switch pas. Ici 90% des applications n'auront jamais a ce soucier de ca (cela sera dans les toolkit qt ou gtk).
La raison pour laquelle un switch peu echouer c'est dans le cas d'une application GL qui demande une extension qui n'est pas presente sur la carte vers laquelle on veut switcher.
Pour les solutions a l'optimus (ou seul une fenetre ou une application est rendu avec un GPU different) la encore l'idee c'est de pousse le choix vers l'application puis d'avoir wayland capable de rapatrier les donnees vers le GPU qu'il utilise pour l'affichage.
Tout ca pour dire que le plus gros probleme de X c'est le manque de concurence c'est le manque de contributeurs.