X server
X servers handle user events such as keystrokes,
mouse movements and clicks,
and render raster graphics as requested
by client applications through the X protocol.
Additional forms of user input and client output
may be supported by the X server through ``extensions'',
but all X servers must support a mouse (with at least one button),
a keyboard, and a screen.
The X server consists of several layers:
OS code-
Functions that depend on the operating system.
The routines in this layer
are publically available to the rest of the server,
but are usually called only from DIX and SYS.
SYS code-
Implementation-specific driver independent code.
This includes:
-
Functions to control the dynamic and static loading of
the individual DDX layers.
-
OS input-dependent code
needed for the keyboard and mouse.
-
Routines needed for communicating with
the console driver.
DIX (Device Independent) code-
Standard device-independent implementation
of the X protocol.
DDX (Device Dependent) code-
Routines that depend on
the graphics hardware or input devices
which the server must accommodate.
These are mostly definitions for the screen
and graphics context,
in three main pieces:
mi (machine independent) library-
Routines that implement a nearly complete DDX layer
in as general a fashion as possible.
It provides many common routines
used in most ports of the X server.
It also implements the graphics primitive routines
that are called by the DIX layer.
This is done by making calls to
the appropriate ``pixblit'' routines in the DDX layer.
mfb (monochrome frame buffer) library-
Partial implementation of the DDX layer
for a directly mapped monochrome frame buffer.
It contains ``pixblit'' routines
optimized for monochrome
(that is, black and white) screens.
cfb (color frame buffer) library-
Partial implementation of the DDX layer
for frame buffers with more than 1 bit per pixel.
This includes grey scale screens
as well as true color screens.
The SCO X Link Kit
provides the
OS, SYS, and DIX layers
as well as a portion of the DDX layer
that does not require modification
in the majority of server implementations.
Only a small portion of the DDX
needs to be written for each supported graphics adapter.
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005