XFree86 - X11R6 X server
XFree86 [:display] [option ...]
XFree86 is an X server that was originally designed for UNIX and UNIX-like operating sys-
tems running on Intel x86 hardware. It now runs on a wider range of hardware and OS plat-
This work was originally derived from X386 1.2 which was contributed to X11R5 by Snitily
Graphics Consulting Service. 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. The current XFree86 release is compatible with X11R6.6.
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 hard-
ware platforms include Compaq Alpha, Intel IA64, SPARC and PowerPC. The most widely sup-
ported 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. Dar-
win and Mac OS X are supported with the XDarwin(1) X server. Win32/Cygwin is supported
with the XWin X server.
XFree86 supports connections made using the following reliable byte-streams:
On most platforms, the "Local" connection type is a UNIX-domain socket. On some Sys-
tem V platforms, the "local" connection types also include STREAMS pipes, named pipes,
and some other mechanisms.
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).
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:
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. XLO-
CAL=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 con-
nection. 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
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.
Allow the server to start up even if the mouse device can't be opened or ini-
tialised. This is equivalent to the AllowMouseOpenFail XF86Config(5x) file
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 AllowNonLocalModInDev XF86Config(5x) file option.
Make the VidMode extension available to remote clients. This allows the xvidtune
client to connect from another host. This is equivalent to the AllowNonLocalXvid-
tune XF86Config(5x) file option. By default non-local connections are not
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
-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.
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).
SCO only. This is the same as the vt option, and is provided for compatibility
with the native SCO X server.
Sets the default color depth. Legal values are 1, 4, 8, 15, 16, and 24. Not all
drivers support all values.
Disable dynamic modification of input device settings. This is equivalent to the
DisableModInDev XF86Config(5x) file option.
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 DisableVidMode-
Extension XF86Config(5x) file option.
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 frame-
buffer 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.
Swap the default values for the black and white pixels.
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
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
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.
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)
Use the XF86Config(5x) file InputDevice section called keyboard-name as the core
keyboard. This option is ignored when the Layout section specifies a core key-
board. In the absence of both a Layout section and this option, the first rele-
vant InputDevice section is used for the core keyboard.
Use the XF86Config(5x) file Layout section called layout-name. By default the
first Layout section is used.
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).
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.
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.
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 Pixmap XF86Config(5x) file
Set the internal pixmap format for depth 24 pixmaps to 32 bits per pixel. This is
usually the default. This is equvalent to the Pixmap XF86Config(5x) file option.
Use the XF86Config(5x) file InputDevice section called pointer-name as the core
pointer. This option is ignored when the Layout section specifies a core pointer.
In the absence of both a Layout section and this option, the first relevant Input-
Device section is used for the core pointer.
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
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
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
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.
This is the same as the -version option, and is included for compatibility rea-
sons. It may be removed in a future release, so the -version option should be
Set RGB weighting at 16 bpp. The default is 565. This applies only to those
drivers which support 16 bpp.
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 ver-
bosity level is 0.
Print out the server version, patchlevel, release date, the operating system/plat-
form it was built on, and whether it includes module loader support.
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.
The XFree86 server is normally configured to recognize various special combinations of key
presses that instruct the server to perform some action, rather than just sending the key-
press event to a client application. The default XKEYBOARD keymap defines the key combi-
nations listed below. The server also has these key combinations builtin to its event
handler for cases where the XKEYBOARD extension is not being used. When using the XKEY-
BOARD extension, which key combinations perform which actions is completely configurable.
For more information about when the builtin event handler is used to recognize the special
key combinations, see the documentation on the HandleSpecialKeys option in the XF86Con-
fig(5x) man page.
The special combinations of key presses recognized directly by XFree86 are:
Immediately kills the server -- no questions asked. This can be disabled with the
DontZap XF86Config(5x) file option.
Change video mode to next one specified in the configuration file. This can be
disabled with the DontZoom XF86Config(5x) file option.
Change video mode to previous one specified in the configuration file. This can
be disabled with the DontZoom XF86Config(5x) file option.
Not treated specially by default. If the AllowClosedownGrabs XF86Config(5x) file
option is specified, this key sequence kills clients with an active keyboard or
mouse grab as well as killing any application that may have locked the server,
normally using the XGrabServer(3x) Xlib function.
Not treated specially by default. If the AllowDeactivateGrabs XF86Config(5x) file
option is specified, this key sequence deactivates any active keyboard and mouse
For BSD and Linux systems with virtual terminal support, these keystroke combina-
tions are used to switch to virtual terminals 1 through 12, respectively. This
can be disabled with the DontVTSwitch XF86Config(5x) file option.
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.
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.
/etc/X11/XF86Config Server configuration file
/etc/X11/XF86Config-4 Server configuration file
/etc/XF86Config Server configuration file
/usr/X11R6/etc/XF86Config Server configuration file
/usr/X11R6/lib/X11/XF86Config Server configuration file
/var/log/XFree86.n.log Server log file for display n.
/usr/X11R6/bin/* Client binaries
/usr/X11R6/include/* Header files
/usr/X11R6/lib/X11/rgb.txt Color names to RGB mapping
/usr/X11R6/lib/X11/XErrorDB Client error message database
Client resource specifications
/usr/X11R6/man/man?/* Manual pages
/etc/Xn.hosts Initial access control list for display n
X(7x), Xserver(1), xdm(1), xinit(1), XF86Config(5x), xf86config(1), xf86cfg(1), xvid-
tune(1), apm(4x), ati(4x), chips(4x), cirrus(4x), cyrix(4x), fbdev(4x), glide(4x),
glint(4x), i128(4x), i740(4x), i810(4x), imstt(4x), mga(4x), neomagic(4x), nsc(4x),
nv(4x), r128(4x), rendition(4x), s3virge(4x), siliconmotion(4x), sis(4x), sunbw2(4x),
suncg14(4x), suncg3(4x), suncg6(4x), sunffb(4x), sunleo(4x), suntcx(4x), tdfx(4x),
tga(4x), trident(4x), tseng(4x), v4l(4x), vesa(4x), vga(4x), vmware(4x),
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 dedi-
cated XFree86 developers, including the following:
Stuart Anderson email@example.com
Doug Anson firstname.lastname@example.org
Gertjan Akkerman email@example.com
Mike Bernson firstname.lastname@example.org
Robin Cutshaw robin@XFree86.org
David Dawes dawes@XFree86.org
Marc Evans marc@XFree86.org
Pascal Haible email@example.com
Matthieu Herrb Matthieu.Herrb@laas.fr
Dirk Hohndel hohndel@XFree86.org
David Holland firstname.lastname@example.org
Alan Hourihane email@example.com
Jeffrey Hsu firstname.lastname@example.org
Glenn Lai email@example.com
Ted Lemon firstname.lastname@example.org
Rich Murphey rich@XFree86.org
Hans Nasten email@example.com
Mark Snitily firstname.lastname@example.org
Randy Terbush email@example.com
Jon Tombs tombs@XFree86.org
Kees Verstoep firstname.lastname@example.org
Paul Vixie email@example.com
Mark Weaver Mark_Weaver@brown.edu
David Wexelblat dwex@XFree86.org
Philip Wheatley Philip.Wheatley@ColumbiaSC.NCR.COM
Thomas Wolfram firstname.lastname@example.org
Orest Zborowski email@example.com
The current XFree86 core team consists of:
Stuart Anderson firstname.lastname@example.org
Robin Cutshaw email@example.com
David Dawes firstname.lastname@example.org
Egbert Eich email@example.com
Marc Evans firstname.lastname@example.org
Dirk Hohndel email@example.com
Alan Hourihane firstname.lastname@example.org
Harald Koenig email@example.com
Marc La France firstname.lastname@example.org
Kevin Martin email@example.com
Rich Murphey firstname.lastname@example.org
Takaaki Nomura email@example.com
Keith Packard firstname.lastname@example.org
Jon Tombs email@example.com
Mark Vojkovich firstname.lastname@example.org
David Wexelblat email@example.com
XFree86 source is available from the FTP server <ftp://ftp.XFree86.org/pub/XFree86/>, and
from the XFree86 CVS server <http://www.xfree86.org/cvs/>. Documentation and other infor-
mation can be found from the XFree86 web site <http://www.xfree86.org/>.
XFree86 Version Version 4.3.0 XFree86(1)