AIGLX (Accelerated Indirect GL X) is a programming interface between the display server and the graphics card or the device drivers. A free implementation is part of the X.Org server. It was (now Fedora ) developed by the Fedora Core project with the aim to make hardware acceleration for display server available. The project competes with Xgl, which also allows for accelerated graphic effects like real transparency, continuous zoom and 3D effects.
AIGLX is being developed as part of the X.Org server, and since version 7.1 an integral part of it. This AIGLX is included in all Linux distributions that bring the X.Org server in this version or later with it. The driving force in the development of the Fedora Project. The graphics card manufacturer Nvidia keeps the approach of AIGLX compared with Xgl also makes more sense and has announced to support AIGLX strengthened.
Comparison with Xgl
Unlike AIGLX, Xgl follows the approach of X - server does not completely replace the but incrementally improved by the individual components of the X server to be extended to include the necessary support. The existing Direct Rendering Infrastructure (DRI ) will be used. This will bring the advantage that the development in relatively small increments is possible AIGLX the developer 's view. Technically, it also offers especially compared to Xgl the advantage that then a X server can be started if no 3D drivers for the graphics card present, as in the case of AIGLX designs and 2D drivers can be used.
There are two ways in which a window system may allow one / several OpenGL programs to talk to the graphics card:
The first way, which is also used by AIGLX is similar to specify in a network - neutral client / server implementation of the X11 drawing routines an OpenGL command stream. This path is called indirect because the instructions are sent to draw only to the X server, which then forwards them to the graphics card. Thus, the X server is responsible to run multiple applications come to train, but also has the opportunity to intervene in the processing of instructions.
Take care of yourself when direct rendering, the OpenGL implementation to the scheduling of the current OpenGL applications, which means less overhead, but also less intervention options for the X server in most cases.
The used of AIGLX way of indirect acceleration is indeed orthogonal to the implementation of the X server itself, but allows the OpenGL command stream to be more easily absorbed and redirected to a texture. This allows Compiz and similar compositing managers to run on a traditional X server with a small GLX extension, rather than requiring a whole new Xgl server. AIGLX also enables remote viewing and accelerated the splitting of OpenGL streams between different monitors and graphics cards.
Current hardware support
AIGLX is developed independently by the graphics hardware and can be used with any graphics hardware. The premise is that the appropriate drivers of the graphics card support OpenGL extension GLX_EXT_texture_from_pixmap. The cards, which are regarded as supported include the ATI Radeon 7000 to x850 (only with the free radeon driver module or the also free ati driver module ), and Intel i830 to G45. For card manufacturer Nvidia since October 2006, a driver that supports AIGLX exists. The driver from AMD support the necessary functions since version 8.42.3 of their driver.
This is a big difference and criticism compared to the project Xgl, the proprietary drivers working before all things together. This is because Xgl in Xglx implementation OpenGL extensions (eg GLX_EXT_texture_from_pixmap ) can emulate by the processor, but for AIGLX they must be implemented in the graphics card driver.