HOME

TheInfoList



OR:

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 the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
project founded by Red Hat 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 rendering capabilities to the X.Org Server 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 cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve ha ...
compositing window managers 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 Xgl is an obsolete display server implementation supporting the X Window System protocol designed to take advantage of modern graphics cards via their OpenGL drivers, layered on top of OpenGL. It supports hardware acceleration of all X, OpenGL an ...
, 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 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 cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve ha ...
extension.


Relationship to Xgl

Although the AIGLX project has features similar to
Xgl Xgl is an obsolete display server implementation supporting the X Window System protocol designed to take advantage of modern graphics cards via their OpenGL drivers, layered on top of OpenGL. It supports hardware acceleration of all X, OpenGL an ...
, it was not intended to be a competing product. According t
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 File:Linux graphics drivers Utah GLX.svg, Indirect rendering over GLX, 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 GPUs of modern video cards. DRM exposes an API that user-space programs can use to send commands and data to the GPU and perform operations ...
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 operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
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-ac ...
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 – the equivalent X11 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 is 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 container. ...
format. {{XWinSys Free software projects Freedesktop.org OpenGL