Direct Graphics Access

Direct Graphics Access, e.g. on top of the Linux framebuffer.

Direct Graphics Access is a plug-in for the X display servers that allows client programs direct access to the frame buffer.

Graphics hardware communicates via a chunk of memory called a frame buffer. This is an array of values that represent pixel color values on the screen. Writing the appropriate values into the frame buffer therefore allows a program to paint areas of the screen.

However, as with any shared resource, problems occur when multiple programs attempt to access the same resource, as they tend to write over each other's work. In the X Window System, this is solved by having a central display server that mediates between programs that want to draw on the screen. The display server also used to perform a lot of the drawing work, allowing programs to say Draw me a circle of this radius filled with this pattern or draw this text in this font. The X server does all this work, freeing programmers from having to write their own drawing code. Another advantage of the X architecture is that it works over a network, allowing programs on one machine to display output on the screen of another.

Direct Graphics Access allows direct access to the frame buffer and the X-server hands over control of the frame buffer to the client program and waits for the client to hand it back. This means that the client program has control of the whole screen, and so it is mostly used for full-screen video/games.

## See also

* GLX – OpenGL over the X protocol
* Direct Rendering Infrastructure

## External links

* XFree86 server 4.x Design (DRAFT) : DGA Extension
* XDGA man page

* v
* t
* e

X Window System

Architecture|

* Core protocol
* X Window selection
* X Window authorization
* X11 color names
* X Input Method
* Wayland

Extensions|

* X Image Extension
* X keyboard extension
* RandR
* X Rendering Extension
* Shape extension
* Shared memory extension
* X Display Manager Control Protocol
* X video extension
* X-Video Motion Compensation
* AIGLX
* GLX
* Multi-Pointer X
* Display PostScript
* Composite
* Xinerama

Components
and notable
implementations|

| display servers|

* X.Org Server
* Cygwin/X
* X-Win32
* X386
* XFree86
* XDarwin
* Xming
* Xsgi
* Xsun
* Xgl
* Xephyr
* XQuartz
* XWayland

|

client libraries|

* Xlib
* XCB
* X Toolkit Intrinsics

display managers
session managers|

* GDM
* KDM
* SDDM
* XDM
* LightDM
* LXDM
* SLiM
* Entrance
* WDM

window managers
(comparison)|

| Compositing|

* Compiz
* KWin
* Metacity
* Mutter
* Xfwm
* Enlightenment

|

Stacking|

* AfterStep
* amiwm
* Blackbox
* cwm
* Fluxbox
* FVWM
* IceWM
* JWM
* Matchbox
* mwm
* Openbox
* Sawfish
* twm
* Window Maker

Tiling|

* awesome
* dwm
* i3
* Ion
* ratpoison
* wmii
* xmonad
* StumpWM
* larswm

Standards|

* ICCCM
* EWMH
* XDS
* freedesktop.org

Applications|

* xcalc
* xclock
* xedit
* xload
* xterm
* xeyes
* desktop environments

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Direct Graphics Access. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Direct_Graphics_Access&oldid=18902"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template