MiniGLX
Encyclopedia
MiniGLX is a specification for an application programming interface
which facilitates OpenGL
rendering on systems without windowing system
s, e.g. Linux
without an X Window System
or embedded systems without a windowing system. The interface is a subset of the GLX interface, plus a minimal set of Xlib-like functions.
Programs written for Mini GLX can run unchanged on systems with the X Window System and the GLX
extension. The intention is to allow flexibility for prototyping and testing.
MiniGLX is currently implemented within the Mesa 3D
project that provides a means to use the Direct Rendering Infrastructure
when the X Window System is not used. In essence it provides functions that mimic those of X, so that programs written using MiniGLX should be compilable as X Window programs. MiniGLX renders directly to the framebuffer
device or through accelerated DRI drivers. MiniGLX allows only one window (which fills the whole framebuffer) to exist.
If the existing source code
were extended, MiniGLX could be used by GPGPU
applications, using the power of graphics card processors for general, non-graphical tasks, as long as no other driver uses the graphics card. NVIDIA
has already integrated support for using the graphics processing unit
on NVidia cards for application programming into its proprietary
3D graphic driver.
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
which facilitates OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...
rendering on systems without windowing system
Windowing system
A windowing system is a component of a graphical user interface , and more specifically of a desktop environment, which supports the implementation of window managers, and provides basic support for graphics hardware, pointing devices such as mice, and keyboards...
s, e.g. Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
without an X Window System
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...
or embedded systems without a windowing system. The interface is a subset of the GLX interface, plus a minimal set of Xlib-like functions.
Programs written for Mini GLX can run unchanged on systems with the X Window System and the GLX
GLX
GLX provides the interface connecting OpenGL and the X Window System: it enables programs wishing to use OpenGL to do so within a window provided by the X Window System.-History:...
extension. The intention is to allow flexibility for prototyping and testing.
MiniGLX is currently implemented within the Mesa 3D
Mesa 3D
Mesa 3D is an open source 3D computer graphics library that provides a generic OpenGL implementation for rendering three-dimensional graphics on multiple platforms. It was initially developed by Brian Paul in August 1993, and is still maintained by him today...
project that provides a means to use the Direct Rendering Infrastructure
Direct Rendering Infrastructure
In computing, the Direct Rendering Infrastructure is an interface and a free software implementation used in the X Window System to securely allow user applications to access the video hardware without requiring data to be passed through the X server. Its primary application is to provide...
when the X Window System is not used. In essence it provides functions that mimic those of X, so that programs written using MiniGLX should be compilable as X Window programs. MiniGLX renders directly to the framebuffer
Framebuffer
A framebuffer is a video output device that drives a video display from a memory buffer containing a complete frame of data.The information in the memory buffer typically consists of color values for every pixel on the screen...
device or through accelerated DRI drivers. MiniGLX allows only one window (which fills the whole framebuffer) to exist.
If the existing source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
were extended, MiniGLX could be used by GPGPU
GPGPU
General-purpose computing on graphics processing units is the technique of using a GPU, which typically handles computation only for computer graphics, to perform computation in applications traditionally handled by the CPU...
applications, using the power of graphics card processors for general, non-graphical tasks, as long as no other driver uses the graphics card. NVIDIA
NVIDIA
Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...
has already integrated support for using the graphics processing unit
Graphics processing unit
A graphics processing unit or GPU is a specialized circuit designed to rapidly manipulate and alter memory in such a way so as to accelerate the building of images in a frame buffer intended for output to a display...
on NVidia cards for application programming into its proprietary
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...
3D graphic driver.
External links
- http://www.mesa3d.org/MiniGLX.html - MiniGLX specification at www.mesa3d.org
- http://www.mesa3d.org/fbdev-dri.html - Description on how to build MiniGLX from Mesa