From LQWiki
Jump to navigation Jump to search

AIGLX or Accelerated Indirect GLX is a X extension that allows GLX (and thus OpenGL commands) to be accelerated indirectly. This basically means, is that GLX commands are sent at the client end to the server end, and not rendered on the client end. The indirect then refers not to its slow speed, but to the fact that its not rendered at the client side, but takes advantage of the 3D card at the server end. This allows for very fast (relatively) 3D performance over the old methods.

The project was done by the people at Red Hat to allow for 3D desktops, with all sorts of stunning effects. If your wondering why this would be needed to create a 3D desktop, then its because of the CompositeExt X extention, that allows windows on the server to be rendered not on screen, but to a memory location for later mangling. A composite manager then takes all these windows and combines them on the screen. This is very slow because the composite manager is a client, thus, the window's image must be transfered to the client, then back to the server. AIGLX allows the composite manager to send manipulation commands to the X server, bypassing the need to transfer images, and thus speeding up 3D desktop effects.

By using AIGLX as well as other extensions, it is possible for for a compliant window manager (or in this new case, a composite window manager) to use OpenGL to create effects, and have those effects seen and rendered with good performance and speed.

See also