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 Red Hat, Inc. is an American software company that provides open source software products to enterprises. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North Carolina, with other offices worldwide. Red Hat has become ass ...
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 Wayland is a communication protocol that specifies the communication between a display server and its clients, as well as a C library implementation of that protocol. A display server using the Wayland protocol is called a ''Wayland compositor' ...
, 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 wishing ...
rendering capabilities to the
X.Org Server X.Org Server is the free and open-source implementation of the X Window System 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 serve a ...
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 hardwa ...
compositing window manager A compositing window manager, or compositor, is a window manager that provides applications with an off-screen data buffer, buffer for each window. The window manager Compositing, composites the window buffers into an image representing the screen ...
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 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 manager A compositing window manager, or compositor, is a window manager that provides applications with an off-screen data buffer, buffer for each window. The window manager Compositing, composites the window buffers into an image representing the screen ...
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 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 hardwa ...
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 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 wishing ...
, using
Utah GLX Utah GLX was a project aimed at creating a fully free and open-source basic hardware-accelerated 3D renderer using the OpenGL rendering API on Linux kernel-based operating systems. Utah GLX predates Direct Rendering Infrastructure, which is wh ...
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 su ...
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 (computer), Mac computers. Within the market of ...
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-accel ...
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 interfaces ...
(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 wishing ...
– 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 provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wi ...
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