Bien joué, bien joué, le coup de BeOS le faisait déjà il y a 15 ans. Quand je travaillais dans l'industrie du navigateur, on faisait la blague avec Opera, mais c'était la même chose.
Je suis d'accord avec ton analyse, l'idée générale qu'on envoie des commandes ou au moins quelque chose de structuré au serveur d'affichage existe depuis longtemps.
Ce qui a changé récemment, c'est que le monde des graphismes à bas niveau s'est plus ou moins standardisé autout de l'ensemble de fonctionnalités de OpenGL ES 2 (ou équivalent) comme "lingua franca". Par exemple, quand tu utilises un navigateur Web "moderne", tout ce que tu vois est passé par OpenGL ES 2 ou équivalent. Et comme ces commandes sont de bien plus bas niveau et bien plus généralistes que les primitives 2D à la XRender ou que les "surface trees" acceptés par certains serveurs d'affichage, et contiennent toute leur généralité (par définition, OpenGL représente à peu près ce que peut faire le matériel), on se dit que l'on pourrait rebooter tout ce cercles d'idées, et avoir un serveur d'affichage qui prend des commandes, mais cette fois-ci, des commandes de bas niveau à la OpenGL.
Ensuite, la coïncidence de la sortie de Vulkan qui offre un ensemble de commandes bien nettoyé et un système de command-buffers, rajoute une raison de plus de revisiter ce cercle d'idées aujourd'hui.
Bref c'est comme ça que je suis arrivé à l'idée décrite ici!
[^] # Re: BeOS le faisait il y a 15 ans!
Posté par Benoit Jacob . En réponse au journal Une idée à prendre : un nouveau type de serveur d’affichage (remplaçant X ou Wayland). Évalué à 10.
Bien joué, bien joué, le coup de BeOS le faisait déjà il y a 15 ans. Quand je travaillais dans l'industrie du navigateur, on faisait la blague avec Opera, mais c'était la même chose.
Je suis d'accord avec ton analyse, l'idée générale qu'on envoie des commandes ou au moins quelque chose de structuré au serveur d'affichage existe depuis longtemps.
Ce qui a changé récemment, c'est que le monde des graphismes à bas niveau s'est plus ou moins standardisé autout de l'ensemble de fonctionnalités de OpenGL ES 2 (ou équivalent) comme "lingua franca". Par exemple, quand tu utilises un navigateur Web "moderne", tout ce que tu vois est passé par OpenGL ES 2 ou équivalent. Et comme ces commandes sont de bien plus bas niveau et bien plus généralistes que les primitives 2D à la XRender ou que les "surface trees" acceptés par certains serveurs d'affichage, et contiennent toute leur généralité (par définition, OpenGL représente à peu près ce que peut faire le matériel), on se dit que l'on pourrait rebooter tout ce cercles d'idées, et avoir un serveur d'affichage qui prend des commandes, mais cette fois-ci, des commandes de bas niveau à la OpenGL.
Ensuite, la coïncidence de la sortie de Vulkan qui offre un ensemble de commandes bien nettoyé et un système de command-buffers, rajoute une raison de plus de revisiter ce cercle d'idées aujourd'hui.
Bref c'est comme ça que je suis arrivé à l'idée décrite ici!