HOME

TheInfoList



OR:

GLX (
initialism An acronym is a word or name formed from the initial components of a longer name or phrase. Acronyms are usually formed from the initial letters of words, as in ''NATO'' (''North Atlantic Treaty Organization''), but sometimes use syllables, as ...
for "OpenGL Extension to the X Window System") is an extension to the
X Window System core protocol The X Window System core protocolRobert W. Scheifler and James Gettys: ''X Window System: Core and extension protocols, X version 11, releases 6 and 6.1'', Digital Press 1996, RFC 1013Grant EdwardsAn Introduction to X11 User Interfaces/ref> is the ...
providing an
interface Interface or interfacing may refer to: Academic journals * ''Interface'' (journal), by the Electrochemical Society * ''Interface, Journal of Applied Linguistics'', now merged with ''ITL International Journal of Applied Linguistics'' * '' Inte ...
between
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 ...
and the
X Window System 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 wit ...
as well as extensions to OpenGL itself. It enables programs wishing to use OpenGL to do so within a window provided by the X Window System. GLX distinguishes two "states": indirect state and direct state.


History

Silicon Graphics Silicon Graphics, Inc. (stylized as SiliconGraphics before 1999, later rebranded SGI, historically known as Silicon Graphics Computer Systems or SGCS) was an American high-performance computing manufacturer, producing computer hardware and soft ...
developed GLX as part of their effort to support OpenGL in the
X Window System 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 wit ...
. In 1999 SGI released GLX under an
open-source license An open-source license is a type of license for computer software and other products that allows the source code, blueprint or design to be used, modified and/or shared under defined terms and conditions. This allows end users and commercial compa ...
, letting it be incorporated in
XFree86 XFree86 is an implementation of the X Window System. It was originally written for Unix-like operating systems on IBM PC compatibles and was available for many other operating systems and platforms. It is free and open source software under the X ...
source code version 4.0 in 2000. From there, the code was inherited by the forked
X.Org Foundation The X.Org Foundation is a non-profit corporation chartered to research, develop, support, organize, administrate, standardize, promote, and defend a free and open accelerated graphics stack. This includes, but is not limited to, the following p ...
version of the X Window System X11R6.7.0. On September 19, 2008, SGI created a new SGI FreeB License Version 2.0, which "now mirrors the free X11 license used by X.Org" and "meets the free and open source software community's widely accepted definition of 'free'". In 2009 the
Free Software Foundation The Free Software Foundation (FSF) is a 501(c)#501(c)(3), 501(c)(3) non-profit organization founded by Richard Stallman on October 4, 1985, to support the free software movement, with the organization's preference for software being distributed ...
endorsed the SGI Free License B to be a
free-software license A free-software license is a notice that grants the recipient of a piece of software extensive rights to modify and redistribute that software. These actions are usually prohibited by copyright law, but the rights-holder (usually the author) ...
, and GLX to be an important
free-software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
graphics project. As of 2011, GLX has reached version 1.4. The first internal implementation of GLX API, called GLcore, loaded a version of the software renderer of
Mesa A mesa is an isolated, flat-topped elevation, ridge or hill, which is bounded from all sides by steep escarpments and stands distinctly above a surrounding plain. Mesas characteristically consist of flat-lying soft sedimentary rocks capped by ...
inside the X server and rendered the OpenGL commands in a window or pixmap. With the development of DRI, the ability to use hardware accelerated OpenGL through direct contexts was added (primarily used by
videogame Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, controller, keyboard, or motion sensing device to generate visual feedback. This feedb ...
s). In 2006, the popularization of the nested
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 ...
X server and
Compiz Compiz () is a compositing window manager for the X Window System, using 3D graphics hardware to create fast compositing desktop effects for window management. Effects, such as a minimization animation or a cube workspace, are implemented as lo ...
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 ...
lead to the development of Accelerated Indirect GLX (
AIGLX Accelerated Indirect GLX ("AIGLX") is an Open-source software, open source project founded by Red Hat and the Fedora (operating system), Fedora community, led by Kristian Høgsberg, to allow accelerated indirect GLX rendering capabilities to t ...
). AIGLX brings hardware acceleration to the GLX (indirect context) applications by loading the Mesa DRI driver inside the X server. This method enables the sharing of GL objects between X clients using indirect contexts (they all are in the same address space in the X server) and also between a X client and the compositing window manager, thus accelerating composition. In 2008 the binding in GLcore to the Mesa software renderer was rewritten as a DRI interface module, called swrast_dri.so, improving the coupling of Mesa and the X server. Also in the year 2008 the new DRI2 was introduced to replace DRI, and with it a new model based in the
Kernel mode-setting Mode setting is a software operation that activates a display mode (screen resolution, color depth, and refresh rate) for a computer's display controller by using VESA BIOS Extensions or UEFI Graphics extensions (on more modern computers). The d ...
. In 2011, the Glamor project started, aiming to add a generic hardware-accelerated 2D X driver based in OpenGL. In 2013 Adam Jackson did a major rewrite of GLX code to consolidate the diverse paths from Glamor, indirect rendering, ... to one unique path to OpenGL's library libGL. 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 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


Features

GLX consists of three parts: # An
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standa ...
that provides OpenGL functions to an X Window System application. # An extension of the X protocol, which allows the client (the OpenGL application) to send 3D rendering commands to the X server (the software responsible for the display). The client and server software may run on different computers. # An extension of the X server that receives the rendering commands from the client and passes them on to the installed OpenGL library If client and server are running on the same computer and an accelerated 3D graphics card using a suitable driver is available, the former two components can be bypassed by DRI. In this case, the client application is then allowed to directly access the video hardware through several API layers.


Implementations

*
Mesa 3D Mesa, also called Mesa3D and The Mesa 3D Graphics Library, is an open source implementation of OpenGL, Vulkan, and other graphics API specifications. Mesa translates these specifications to vendor-specific graphics hardware drivers. Its most im ...
– a
free and open-source Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
library A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vir ...
which implements a couple of graphical APIs and also the available Free and open-source device drivers: graphics; for a last resort Mesa 3D also offers fallback
software rendering Software rendering is the process of generating an image from a model by means of computer software. In the context of computer graphics rendering, software rendering refers to a rendering process that is not dependent upon graphics hardware AS ...
. * The proprietary device drivers for graphics chips also include an implementation of GLX.


See also

* WGL – the equivalent
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
interface to OpenGL * CGL – the equivalent
macOS 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 – a similar cross-platform interface between OpenGL ES or VG and the underlying native platform window system * GLUT – library of utilities for OpenGL programs


References


External links


OpenGL® Graphics with the X Window System®
*
Current OpenGL API, OpenGL Shading Language and GLX Specifications and Reference Pages
{{XWinSys OpenGL X Window extensions X-based libraries