
Accelerated Indirect GLX ("AIGLX") is an
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
project founded by
Red Hat
Red Hat, Inc. (formerly Red Hat Software, Inc.) is an American software company that provides open source software products to enterprises and is a subsidiary of IBM. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North ...
and the
Fedora
A fedora () is a hat with a soft brim and indented crown.Kilgour, Ruth Edwards (1958). ''A Pageant of Hats Ancient and Modern''. R. M. McBride Company. It is typically creased lengthwise down the crown and "pinched" near the front on both sides ...
community, led by
Kristian Høgsberg, to allow accelerated indirect
GLX
GLX (initialism for "OpenGL Extension to the X Window System") is an extension to the X Window System core protocol providing an interface between OpenGL and the X Window System as well as extensions to OpenGL itself. It enables programs wishin ...
rendering capabilities to the
X.Org Server
X.Org Server is the free and open-source implementation of the X Window System (X11) display server stewarded by the X.Org Foundation.
Implementations of the client-side X Window System protocol exist in the form of ''X11 libraries'', which ...
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
OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
compositing window manager
A compositing manager, or compositor, is software that provides applications with an off-screen data buffer, buffer for each window, then Compositing, composites these window buffers into an image representing the screen and writes the result into ...
s to function with hardware acceleration.
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 manager
A compositing manager, or compositor, is software that provides applications with an off-screen data buffer, buffer for each window, then Compositing, composites these window buffers into an image representing the screen and writes the result into ...
s to be built on top of a traditional X server with a small extension rather than requiring a full Xgl server. This is also an advantage over
DRI which bypasses the compositing engine even while providing hardware acceleration.
Deployment
The AIGLX project was merged into X.Org and has been available with X.Org 7.1.
AIGLX needed driver support to run. Specifically, it depended on the
OpenGL
OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
extension.
Relationship to Xgl
Although the AIGLX project has features similar to
Xgl, it was 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.
XGL Version Info
/ref>
History
File:Linux graphics drivers 2D.svg, 2D drivers inside of the X server X server may refer to:
* a display server for the X Window System
* X.Org Server, the X.Org Foundation's display server for the X Window System
* HPE Integrity Superdome X Server, a line of HPE Integrity Servers
HPE Integrity Servers is a ser ...
File:Linux graphics drivers Utah GLX.svg, Indirect rendering over GLX
GLX (initialism for "OpenGL Extension to the X Window System") is an extension to the X Window System core protocol providing an interface between OpenGL and the X Window System as well as extensions to OpenGL itself. It enables programs wishin ...
, using Utah GLX
File:Linux graphics drivers DRI early.svg, early Direct Rendering Infrastructure
The Direct Rendering Infrastructure (DRI) is the framework comprising the modern Linux graphics stack which allows unprivileged user-space programs to issue commands to graphics hardware without conflicting with other programs. The main use ...
File:Linux graphics drivers DRI current.svg, Finally all access goes through the Direct Rendering Manager
The Direct Rendering Manager (DRM) is a subsystem of the Linux kernel responsible for interfacing with Graphics processing unit, GPUs of modern video cards. DRM exposes an Application programming interface, API that user-space programs can use t ...
File:Linux graphics drivers DRI Wayland.svg, In Linux kernel 3.12 ''render nodes'' were merged and the KMS was split off. Wayland implements direct rendering over EGL
See also
* CGL – the equivalent Mac OS X
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
interface to OpenGL
* EGL – the equivalent Wayland interface to OpenGL ES
OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerate ...
and OpenVG
OpenVG is an API designed for hardware-accelerated 2D vector graphics. Its primary platforms are mobile phones, gaming & media consoles and consumer electronic devices. It was designed to help manufacturers create more attractive user interfac ...
(Wayland is also being mainly developed by Kristian Høgsberg)
*GLX
GLX (initialism for "OpenGL Extension to the X Window System") is an extension to the X Window System core protocol providing an interface between OpenGL and the X Window System as well as extensions to OpenGL itself. It enables programs wishin ...
– the equivalent X11
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X originated as part of Project Athena at Massachusetts Institute of Technology (MIT) in 1984. The X protocol has been at ...
interface to OpenGL
References
External links
Fedora Project Wiki AIGLX Article
— contains early demonstration videos in the free Ogg Theora
Theora is a free lossy video compression format. It was developed by the Xiph.Org Foundation and distributed without licensing fees alongside their other free and open media projects, including the Vorbis audio format and the Ogg contain ...
format.
{{XWinSys
Free software projects
Freedesktop.org
OpenGL