Développé par | Silicon Graphics |
---|---|
Première version | |
Dernière version | 1.4 () |
État du projet | En voie de dépréciation |
Écrit en | C |
Environnement | X11 |
Type | API |
Site web | https://www.opengl.org/registry/#apispecs |
GLX (OpenGL Extension to the X Window System, en français « Extension OpenGL pour le serveur X ») est une API créée en 1992 et fournissant la connexion entre OpenGL et le serveur X : il permet aux programmes qui souhaitent utiliser OpenGL de le faire dans une fenêtre fournie par le serveur X.
La dernière version est la version 1.4, sortie le [1]. Elle a été proposée à la déprécation en ce qui concerne X.org en 2012 par Ian Romanick en faveur d'EGL, qui à l'avantage de faire un rendu direct, plutôt qu'indirect et d'être indépendant de la plateforme, tout en permettant une portabilité facile de GLX vers EGL. D'autre part, GLX nécessite une association du pilote d'un fabricant avec le serveur X, il n'y a pas moyen d'en associer plusieurs. EGL étant indépendant du serveur X, il est possible d'utiliser plusieurs contextes EGL utilisant des GPU de différents fabricants sur le même serveur X11[2].
GLX est constitué de trois parties :
Dans le cas où l'application cliente et le serveur sont situés sur la même machine, et que cette dernière est équipée d'une carte graphique capable d'accélérer le rendu 3D, les deux derniers points peuvent être effectués par le DRI. Celui-ci permet au client d'accéder directement au matériel responsable de l'affichage sans passer par le serveur X, et de ce fait est plus rapide. Ce système reste totalement transparent du point de vue du développeur de l'application client.
La commande « glxinfo » permet d'obtenir des informations sur l'implémentation de GLX de la machine client et de la machine serveur, telles que les numéros de version, les extensions supportées et les modes d'affichage disponibles.
GLX, ainsi que le DRI et Mesa, font partie de X.Org — implémentation libre de X Window — depuis la version X11R6.7.0, et de XFree86 (autre implémentation libre) depuis la version 4.0.