XFree86 is an X server that was originally designed for UNIX and UNIX-like
operating systems running on Intel x86 hardware. It now runs on a wider
range of hardware and OS platforms.
This work is derived from
X386 1.2
which was contributed to X11R5 by Snitily Graphics Consulting Service.
The current XFree86 release is based on X11R6.3. The XFree86 X server
architecture was redesigned for the 4.0 release, and it includes among
other things a loadable module system donated by Metro Link, Inc.
CONFIGURATIONS
XFree86
operates under a wide range of operating systems and hardware platforms.
The Intel x86 (IA32) architecture is the most widely supported hardware
platform. Other hardware platforms include Compaq Alpha, Intel IA64,
SPARC and PowerPC. The most widely supported operating systems are the
free/OpenSource UNIX-like systems such as Linux, FreeBSD, NetBSD and
OpenBSD. Commercial UNIX operating systems such as Solaris (x86) and
UnixWare are also supported. Other supported operating systems include
LynxOS, and GNU Hurd. Darwin and Mac OS X are supported with the
XDarwin(1) X server. Win32/Cygwin is supported with the XWin X server.
NETWORK CONNECTIONS
XFree86 supports connections made using the following reliable
byte-streams:
Local
On most platforms, the "Local" connection type is a UNIX-domain socket.
On some System V platforms, the "local" connection types also include
STREAMS pipes, named pipes, and some other mechanisms.
TCP/IP
XFree86 listens on port 6000+n, where n is the display
number. This connection type can be disabled with the -nolisten
option (see the Xserver(1) man page for details).
ENVIRONMENT VARIABLES
For operating systems that support local connections other than Unix Domain
sockets (SVR3 and SVR4), there is a compiled-in list specifying the order
in which local connections should be attempted. This list can be overridden by
the XLOCAL environment variable described below. If the display name
indicates a best-choice connection should be made (e.g. :0.0), each
connection mechanism is tried until a connection succeeds or no more
mechanisms are available. Note: for these OSs, the Unix Domain socket
connection is treated differently from the other local connection types.
To use it the connection must be made to unix:0.0.
The XLOCAL environment variable should contain a list of one more
more of the following:
NAMED
PTS
SCO
ISC
which represent SVR4 Named Streams pipe, Old-style USL
Streams pipe, SCO XSight Streams pipe, and ISC Streams pipe, respectively.
You can select a single mechanism (e.g. XLOCAL=NAMED), or an ordered
list (e.g. XLOCAL="NAMED:PTS:SCO"). This variable overrides the
compiled-in defaults. For SVR4 it is recommended that NAMED be
the first preference connection. The default setting is
PTS:NAMED:ISC:SCO.
To globally override the compiled-in defaults, you should define (and
export if using sh or ksh) XLOCAL globally. If you
use startx/xinit, the definition should be at the top of
your .xinitrc file. If you use xdm, the definitions should be
early on in the __projectroot__/lib/X11/xdm/Xsession script.
OPTIONS
In addition to the normal server options described in the Xserver(1)
manual page, XFree86 accepts the following command line switches:
vtXX
XX specifies the Virtual Terminal device number which XFree86
will use. Without this option, XFree86 will pick the first
available Virtual Terminal that it can locate. This option applies only
to platforms such as Linux, BSD, SVR3 and SVR4, that have virtual terminal
support.
-allowMouseOpenFail
Allow the server to start up even if the mouse device can't be opened
or initialised. This is equivalent to the
AllowMouseOpenFailXF86Config(5x) file option.
-allowNonLocalModInDev
Allow changes to keyboard and mouse settings from non-local clients.
By default, connections from non-local clients are not allowed to do
this. This is equivalent to the
AllowNonLocalModInDevXF86Config(5x) file option.
-allowNonLocalXvidtune
Make the VidMode extension available to remote clients. This allows
the xvidtune client to connect from another host. This is equivalent
to the
AllowNonLocalXvidtuneXF86Config(5x) file option. By default non-local
connections are not allowed.
-bgamma value
Set the blue gamma correction. value must be between 0.1 and 10.
The default is 1.0. Not all drivers support this. See also the
-gamma,
-rgamma,
and
-ggamma
options.
-bpp n
No longer supported. Use -depth to set the color depth, and use
-fbbpp if you really need to force a non-default framebuffer
(hardware) pixel format.
-configure
When this option is specified, the X server loads all video driver
modules, probes for available hardware, and writes out an initial
XF86Config(5x) file based on what was detected. This
option currently has some problems on some platforms, but in most cases
it is a good way to bootstrap the configuration process. This option
is only available when the server is run as root (i.e, with real-uid
0).
-crt /dev/ttyXX
SCO only. This is the same as the vt option, and is provided for
compatibility with the native SCO X server.
-depth n
Sets the default color depth. Legal values are 1, 4, 8, 15, 16, and
24. Not all drivers support all values.
-disableModInDev
Disable dynamic modification of input device settings. This is equivalent
to the
DisableModInDevXF86Config(5x) file option.
-disableVidMode
Disable the the parts of the VidMode extension (used by the xvidtune
client) that can be used to change the video modes. This is equivalent
to the
DisableVidModeExtensionXF86Config(5x) file option.
-fbbpp n
Sets the number of framebuffer bits per pixel. You should only set this
if you're sure it's necessary; normally the server can deduce the correct
value from -depth above. Useful if you want to run a depth 24
configuration with a 24 bpp framebuffer rather than the (possibly default)
32 bpp framebuffer (or vice versa). Legal values are 1, 8, 16, 24, 32.
Not all drivers support all values.
-flipPixels
Swap the default values for the black and white pixels.
-gamma value
Set the gamma correction. value must be between 0.1 and 10. The
default is 1.0. This value is applied equally to the R, G and B values.
Those values can be set independently with the
-rgamma,
-bgamma,
and
-ggamma
options. Not all drivers support this.
-ggamma value
Set the green gamma correction. value must be between 0.1 and
10. The default is 1.0. Not all drivers support this. See also the
-gamma,
-rgamma,
and
-bgamma
options.
-ignoreABI
The X server checks the ABI revision levels of each module that it loads.
It will normally refuse to load modules with ABI revisions that are newer
than the server's. This is because such modules might use interfaces that
the server does not have. When this option is specified, mismatches like
this are downgraded from fatal errors to warnings. This option should
be used with care.
-keeptty
Prevent the server from detaching its initial controlling terminal.
This option is only useful when debugging the server. Not all platforms
support (or can use) this option.
-keyboard keyboard-name
Use the XF86Config(5x) file
InputDevice
section called
keyboard-name
as the core keyboard.
By default the core keyboard input device referenced by the default
Layout
section are used, or the first relevant
InputDevice
section when there are no
Layout
sections.
-layout layout-name
Use the XF86Config(5x) file
Layout
section called
layout-name.
By default the first
Layout
section is used.
-logfile filename
Use the file called
filename
as the X server log file. The default log file is
/var/log/XFree86.n.log
on most platforms, where
n
is the display number of the X server. The default may be in a different
directory on some platforms. This option is only available when the
server is run as root (i.e, with real-uid 0).
-logverbose [n]
Sets the verbosity level for information printed to the X server log
file. If the
n
value isn't supplied, each occurrance of this option increments the log
file verbosity level. When the
n
value is supplied, the log file verbosity level is set to that value.
The default log file verbosity level is 3.
-modulepath searchpath
Set the module search path to
searchpath.
searchpath
is a comma separated list of directories to search for X server modules.
This option is only available when the server is run as root (i.e, with
real-uid 0).
-nosilk
Disable Silken Mouse support.
-pixmap24
Set the internal pixmap format for depth 24 pixmaps to 24 bits per pixel.
The default is usually 32 bits per pixel. There is normally little
reason to use this option. Some client applications don't like this
pixmap format, even though it is a perfectly legal format.
This is equvalent to the
PixmapXF86Config(5x) file option.
-pixmap32
Set the internal pixmap format for depth 24 pixmaps to 32 bits per pixel.
This is usually the default.
This is equvalent to the
PixmapXF86Config(5x) file option.
-pointer pointer-name
Use the XF86Config(5x) file
InputDevice
section called
pointer-name
as the core pointer.
By default the core pointer input device referenced by the default
Layout
section are used, or the first relevant
InputDevice
section when there are no
Layout
sections.
-probeonly
Causes the server to exit after the device probing stage. The XF86Config
file is still used when this option is given, so information that can
be auto-detected should be commented out.
-quiet
Suppress most informational messages at startup. The verbosity level
is set to zero.
-rgamma value
Set the red gamma correction. value must be between 0.1 and 10.
The default is 1.0. Not all drivers support this. See also the
-gamma,
-bgamma,
and
-ggamma
options.
-scanpci
When this option is specified, the X server scans the PCI bus, and prints
out some information about each device that was detected. See also
scanpci(1) and pcitweak(1).
-screen screen-name
Use the XF86Config(5x) file
Screen
section called
screen-name.
By default the screens referenced by the default
Layout
section are used, or the first
Screen
section when there are no
Layout
sections.
-showconfig
This is the same as the
-version
option, and is included for compatibilty reasons. It may be removed in
a future release, so the
-version
options hould be used instead.
-weight nnn
Set RGB weighting at 16 bpp. The default is 565. This applies only to
those drivers which support 16 bpp.
-verbose [n]
Sets the verbosity level for information printed on stderr. If the
n
value isn't supplied, each occurrance of this option increments the
verbosity level. When the
n
value is supplied, the verbosity level is set to that value. The default
verbosity level is 1.
-version
Print out the server version, patchlevel, release date, the operating
system/platform it was built on, and whether it includes module loader
support.
-xf86config file
Read the server configuration from file. This option will work
for any file when the server is run as root (i.e, with real-uid 0), or
for files relative to a directory in the config search path for all
other users.
KEYBOARD
Multiple key presses recognized directly by XFree86 are:
Ctrl+Alt+Backspace
Immediately kills the server -- no questions asked. This can be disabled
with the
DontZapXF86Config(5x) file option.
Ctrl+Alt+Keypad-Plus
Change video mode to next one specified in the configuration file.
This can be disabled with the
DontZoomXF86Config(5x) file option.
Ctrl+Alt+Keypad-Minus
Change video mode to previous one specified in the configuration file.
This can be disabled with the
DontZoomXF86Config(5x) file option.
Ctrl+Alt+F1...F12
For BSD and Linux systems with virtual terminal support, these keystroke
combinations are used to switch to Virtual Console 1 through 12.
SETUP
XFree86
uses a configuration file called XF86Config for its initial setup.
Refer to the
XF86Config(5x)
manual page for information about the
format of this file.
FILES
The X server config file can be found in a range of locations. These
are documented fully in the
XF86Config(5x)
manual page. The most commonly used locations are shown here.
XFree86 has many contributors world wide. The names of most of them
can be found in the documentation, CHANGELOG files in the source tree,
and in the actual source code.
XFree86 was originally based on X386 1.2 by Thomas Roell, which
was contributed to the then X Consortium's X11R5 distribution by SGCS.
The project that became XFree86 was originally founded in 1992 by
David Dawes, Glenn Lai, Jim Tsillas and David Wexelblat.
XFree86 was later integrated in the then X Consortium's X11R6 release
by a group of dedicated XFree86 developers, including the following: