AIGLX

from Wikipedia, the free encyclopedia
AIGLX

Linux3ddesktop.png
Cube view of a hardware accelerated AIGLX server with Firefox and Amarok
Basic data

developer X.Org Foundation
operating system X Window System Compatible
category Programming interface (API)
fedoraproject.org/wiki/RenderingProject/aiglx
GLX and AIGLX versus direct rendering

AIGLX ( A ccelerated I ndirect 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 developed by the Fedora Core Project (now Fedora) with the aim of making hardware acceleration usable for display servers. The project competes with Xgl , which also enables accelerated graphic effects such as real transparency, stepless zoom and 3D effects.

AIGLX is developed as part of the X.Org server and is an integral part of it from version 7.1. This means that AIGLX is included in all Linux distributions that have the X.Org server in this version or newer. The Fedora project is the driving force behind this development. The graphics card manufacturer Nvidia also thinks AIGLX's approach to Xgl makes more sense and has announced that it will support AIGLX more.

Comparison with Xgl

In contrast to Xgl , AIGLX pursues the approach of not completely replacing the X server, but rather improving it incrementally by adding the necessary support to the individual components of the X server. The existing Direct Rendering Infrastructure (DRI) is used. According to the AIGLX developers, this should have the advantage that development is possible in relatively small steps. Technically, it also offers the advantage, especially compared to Xgl, that an X server can still be started if there are no 3D drivers for the graphics card, since 2D drivers can also be used in the case of the AIGLX design.

Working method

There are two ways a window system can allow one or more OpenGL programs to talk to the graphics card :

The first way, which is also used by AIGLX, is to specify an OpenGL instruction stream in a network-neutral client / server implementation similar to the X11 drawing routines. This way is called indirect, as the instructions for drawing are first sent to the X server, which then forwards them to the graphics card. This means that the X server is responsible for letting several applications have a chance, but also has the option of intervening when processing the instructions.

With direct rendering , the OpenGL implementation itself has to take care of the scheduling of the running OpenGL applications, which in most cases means less overhead , but also less intervention options for the X server.

The indirect acceleration path used by AIGLX is orthogonal to the implementation of the X server itself, but allows the OpenGL instruction stream to be more easily picked up and redirected to a texture. This allows Compiz and similar composition managers to run on a traditional X server with a small GLX extension instead of requiring a completely new XGL server. AIGLX also enables accelerated remote viewing and splitting of OpenGL streams between different monitors and graphics cards.

Current hardware support

AIGLX is developed independently of the graphics hardware and can be used with any graphics hardware. The prerequisite is that the corresponding drivers for the graphics card support the OpenGL extension GLX_EXT_texture_from_pixmap . The cards that are considered to be supported include the ATI Radeon 7000 to x850 (only with the free radeon driver module or the also free ati driver module) and the Intel i830 to G45. A driver that supports AIGLX has been available for cards from Nvidia since October 2006. The drivers from AMD support the necessary functions from version 8.42.3 of their driver.

This is a big difference and a point of criticism compared to the Xgl project , which works primarily with proprietary drivers. This is because Xgl in the Xglx implementation can emulate OpenGL extensions (e.g. GLX_EXT_texture_from_pixmap ) through the processor , but for AIGLX they must be implemented in the driver of the graphics card.

See also

  • GLX , the interface on which AIGLX is built
  • WGL , an AIGLX-equivalent interface between the Windows window system and OpenGL
  • CGL , an interface between the macOS window system and OpenGL equivalent to AIGLX
  • EGL , an interface equivalent to AIGXL between the window system and OpenGL ES and OpenVG

Web links

swell

  1. Article NVIDIA 1.0-9629 Display Drivers on Phoronix.com, accessed September 22, 2006
  2. Article AMD 8.42 Driver Brings Fixes, AIGLX! on the Phoronix.com website, accessed October 24, 2007