GLX

From Wikipedia, the free encyclopedia

GLX (initialism for "OpenGL Extension to the X Window System") provides the binding connecting OpenGL and the X Window System: it enables programs wishing to use OpenGL to do so within a window provided by the X Window System.

Contents

[edit] History

GLX was created by Silicon Graphics and is currently at version 1.4. GLX, with both DRI and Mesa, is included in the X.Org Foundation's version of the X Window System since X11R6.7.0, and in The XFree86 Project's version since version 4.0.

[edit] Features

GLX consists of three parts:

  • An API that provides OpenGL functions to an X Window System application.
  • An extension of the X protocol, which allows the client (the OpenGL application) to send 3D rendering commands to the X server (the software responsible for the display). The client and server software may run on different computers.
  • An extension of the X server that receives the rendering commands from the client and either passes them on to the installed OpenGL library (if a hardware-accelerated library is not available it will usually be the Mesa library, which handles everything in software, which usually is a lot slower than a hardware-accelerated library).

If client and server are running on the same computer and an accelerated 3D graphics card using a suitable driver is available, the former two components can be bypassed by DRI. In this case, the client program is then allowed to directly access the graphics hardware.

A great deal of diagnostic information about GLX, including the GLX visuals the server supports, can be found using the glxinfo command. The demo utility glxgears provides a rough estimate of the speed of the 3D rendering setup. In newer versions of glxgears you have to use the -info switch to glxgears to see the speed. Please note, however, that glxgears is not a benchmark tool and should not be used as such. It can be used to verify that hardware-accelerated libraries are installed correctly, but that's about it.

[edit] See also

[edit] External links