URL: https://linuxfr.org/news/eglx-un-petit-traducteur-glx-egl-pour-wayland Title: EGLX : un petit traducteur GLX-EGL pour Wayland Authors: Anonyme Nÿco, palm123 et claudex Date: 2013年10月27日T11:14:15+01:00 License: CC By-SA Tags: opengl et wayland Score: 57 Que ce soit un jeu vidéo, un petit logiciel de traitement ou une [simple démo](http://doc.ubuntu-fr.org/classement_glxgears), on a tous dans notre coeur un vieux (comme dans _vieux_) logiciel utilisant des API obsolètes : [OpenGL](http://fr.wikipedia.org/wiki/OpenGL), [X11](http://fr.wikipedia.org/wiki/X_Window_System)... :-D Malgré tout, l'antique OpenGL 1.X (celui avec _glBegin()_, _glEnd()_ ...) est en voie de disparition, remplacé par ses variantes mobiles que sont [OpenGL ES](http://fr.wikipedia.org/wiki/OpenGL_ES) 1.0, 2.0 et bientôt 3.0. Tout ça ne nous poserait pas de problème si X lui-même n'était pas en train d'être remplacé par [Wayland](http://wayland.freedesktop.org/), dont le compositeur de référence ne « comprend » qu'OpenGL ES en natif. Par ailleurs et par conséquent, la couche de glue entre GL et le système ([GLX](http://fr.wikipedia.org/wiki/GLX)) change également, remplacée par [EGL](http://www.khronos.org/egl/)... C'est pour répondre à cette problèmatique que j'ai écrit **EGLX**, un traducteur GLX vers EGL/Wayland. ---- [EGLX (dépôt GitHub)](https://github.com/Tarnyko/EGLX) [Intégration EGLX/GtkGLArea (dépôt GitHub)](https://github.com/Tarnyko/GtkGLArea3-EGLX) [Intégration EGLX/wxWidgets (dépôt GitHub)](https://github.com/Tarnyko/wxWidgets-EGLX) [Applications GLX avec jwzGLES/EGLX (vidéo)](http://www.youtube.com/watch?v=7Ijqq4dYbnw) ---- Couplé avec l'excellent [traducteur GL vers GLES1](http://www.jwz.org/blog/2012/06/i-have-ported-xscreensaver-to-the-iphone/) de [jwz](http://www.jwz.org), il permet de recompiler une application GL/GLX et l'exécuter sous Wayland sans (beaucoup) modifier le code. Une vidéo valant mieux qu'un long discours, voici une démonstration [en vidéo](http://www.youtube.com/watch?v=7Ijqq4dYbnw) et [en image](http://www.tarnyko.net/repo/EGLX.png).  Techniquement, ce que fait EGLX est de fournir une "fausse" API X11/GLX au logiciel, qui va se retrouver à dialoguer avec Wayland. Par exemple, un appel du type : _XMapWindow (display, window);_ va devenir : _wl_compositor_create_surface (...);_ _wl_egl_window_create (...);_ _eglCreateWindowSurface (...);_ Bien sûr, tout n'est pas encore parfait, mais des intégrations [GtkGLArea](https://github.com/Tarnyko/GtkGLArea3-EGLX) et [wxWidgets](https://github.com/Tarnyko/wxWidgets-EGLX) sont déjà écrites ; le tout est disponible sur [GitHub](https://github.com/Tarnyko). Et bien sûr, tout ceci ne devrait pas vous dispenser de porter votre code ;-).