From Wikipedia, the free encyclopedia

Jump to: navigation, search
Compiz running on Fedora Core 6 with AIGLX.

Accelerated Indirect GLX ("AIGLX") is an open source project founded by Red Hat and the Fedora community to allow accelerated indirect GLX rendering capabilities to X.Org and DRI drivers. This allows remote X clients to get fully hardware accelerated rendering over the GLX protocol; coincidentally, this development was required for OpenGL compositing window managers (such as Compiz Fusion) to function with hardware acceleration.


[edit] Rationale

There are two ways in which a windowing system can allow an OpenGL implementation to talk to the graphics card.

The first is to specify the OpenGL command stream in a portable network-neutral manner using a client/server implementation similar to the X11 drawing routines. This method, used by AIGLX, is indirect in that the drawing commands are sent to the X server and then the X server sends them along to the graphics card.

The second way, which is at the base of Xgl, is to open a window and then allow the OpenGL library to send commands directly to the graphics card.

Accelerating the indirect OpenGL path is orthogonal to how the X server itself is implemented, but it has the side effect of allowing the OpenGL command stream to be more easily captured and redirected to a texture. This allows Compiz and other compositing window managers to be built on top of a traditional server with a small GLX extension rather than requiring a full Xgl server. Another advantage is that DRI bypasses the compositing engine, while with AIGLX everything is allowed to be both accelerated and composited.

[edit] Deployments

The AIGLX project has been merged into X.Org and is available as of X.Org 7.1. Currently, Mandriva Linux 2007, Fedora 7, Ubuntu, Gentoo, and FreeBSD 7 have the ability to run AIGLX out of the box, and installation repositories are available for older versions of the distributions. SabayonLinux 3.3 Live CD/Live DVD ships with AIGLX available from the boot prompt. AIGLX is also available on openSUSE 10.2, using the packages available in the xorg72 branch of the openSUSE Build Repository.

AIGLX needs driver support to run. Specifically, it depends on the texture_from_pixmap OpenGL extension, which is supported on embedded Intel i810 through i965 graphics cards & ATI Radeon cards up to X800 series through free drivers in and NVIDIA graphics card through NVIDIA's proprietary 9xxx series drivers (although with these drivers, compositing managers do not require AIGLX proper — only X.Org 7.1).

[edit] Relationship to Xgl

Although the AIGLX project has features similar to Xgl, it is not intended to be a competing product. According to the Fedora Project Wiki, the project was founded in part because Xgl was written during its final stages "behind closed doors." This lack of peer-review drew criticism claiming to be the root of flaws in the software. An agreement was reached to share the source code between the two projects under the premise that doing so would prevent compatibility conflicts. Xgl was removed from the X Server on June 12, 2008.[1]

[edit] AIGLX with major graphics drivers

[edit] ATI

For older Radeons, AIGLX has long been supported as part of X.Org's official Radeon driver. As of version 8.42 of fglrx (the proprietary driver from ATI), AIGLX is supported. There are reports of instability and problems from users using the latest Compiz and X.Org versions, which are directly related to the driver, and can be circumvented by disabling the “Composite” extension and using at least version 9.1 of the driver.[2] Some users have chosen this, or to not use ATI's proprietary driver, thereby disabling Compiz effects; due to instability with the drivers. Visual tearing has been noted by some users when using the restricted driver. [3]

[edit] Intel

AIGLX has long been supported as part of X.Org's official Intel driver, since Intel provides open source drivers it is easy to integrate them.

[edit] NVIDIA

NVIDIA has long supported AIGLX through its own GL and GLX architecture, as it does not use the standard Direct Rendering Infrastructure architecture.[4]

[edit] See also

[edit] References

[edit] External links

Personal tools