Table of Contents


XFree86 - X11R6 X server


XFree86 [:display] [option ...]


XFree86 is an X servers for UNIX-like OSs on Intel x86 and other 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.


XFree86 operates under the following operating systems:

-- SVR3.2: SCO 3.2.2, 3.2.4, ISC 3.x, 4.x
-- SVR4.0: ESIX, Microport, Dell, UHC, Consensys, MST, ISC, AT&T, NCR
-- SVR4.2: Consensys, Univel (UnixWare)
-- Solaris (x86) 2.5, 2.6
-- FreeBSD 2.1.x, 2.2.x, 3.0-current
-- NetBSD 1.2, 1.3
-- OpenBSD
-- Linux
-- LynxOS AT versions 2.2.1, 2.3.0 and 2.4.0, LynxOS microSPARC 2.4.0

Network Connections

XFree86 supports connections made using the following reliable byte-streams:
XFree86 supports local connections via Streams pipe via various mechanisms, using the following paths (n represents the display number):

/dev/X/server.n (SVR3 and SVR4)
/dev/X/Nserver.n (SVR4)
/dev/XnS and /dev/XnR (SCO SVR3)

On SVR4.0.4, if the Advanced Compatibility Package is installed, and in SVR4.2, XFree86 supports local connections from clients for SCO XSight/ODT, and (with modifications to the binary) clients for ISC SVR3.

Unix Domain
XFree86 uses /tmp/.X11-unix/Xn as the filename for the socket, where n is the display number.
XFree86 listens on port htons(6000+n), where n is the display number.

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:


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 <XRoot>/lib/X11/xdm/Xsession script.


In addition to the normal server options described in the Xserver(1) manual page, XFree86 accepts the following command line switches:
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 SVR3, SVR4, Linux, and BSD OSs with the `syscons' or `pcvt' driver.
-crt /dev/ttyXX
SCO only. This is the same as the vt option, and is provided for compatibility with the native SCO X server.
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.
Suppress most informational messages at startup.
-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.
-depth n
Sets the default color depth. Legal values are 8, 15, 16, and 24. Not all servers support all values.
-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. Legal values are 8, 16, 24, 32. Not all servers support all values.
-weight nnn
Set RGB weighting at 16 bpp. The default is 565. This applies only to those servers which support 16 bpp.
Swap the default values for the black and white pixels.
Disable the the parts of the VidMode extension used by the xvidtune client that can be used to change the video modes.
Allow the xvidtune client to connect from another host. By default non-local connections are not allowed.
Disable dynamic modification of input device settings.
Allow changes to keyboard and mouse settings from non-local clients. By default, connections from non-local clients are not allowed to do this.
Allow the server to start up even if the mouse device can't be opened or initialised.
-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. Not all servers support this.
-rgamma value
Set the red gamma correction. value must be between 0.1 and 10. The default is 1.0 Not all servers support this.
-ggamma value
Set the green gamma correction. value must be between 0.1 and 10. The default is 1.0 Not all servers support this.
-bgamma value
Set the blue gamma correction. value must be between 0.1 and 10. The default is 1.0 Not all servers support this.
Print out the server version, patchlevel, and a list of screen drivers configured in the server.
Multiple occurrences of this flag increase the amount of information printed on stderr (more than the default).
Same as -showconfig.
-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.
Prevent the server from detaching its initial controlling terminal. This option is only useful when debugging the server.


Multiple key presses recognized directly by XFree86 are:
Immediately kills the server -- no questions asked. (Can be disabled by specifying "DontZap" in the ServerFlags section of the XF86Config file.)
Change video mode to next one specified in the configuration file, (increasing video resolution order).
Change video mode to previous one specified in the configuration file, (decreasing video resolution order).
For BSD systems using the syscons driver and Linux, these keystroke combinations are used to switch to Virtual Console 1 through 12.


XFree86 uses a configuration file called XF86Config for its initial setup. Refer to the XF86Config(4/5) manual page for more information.


Server configuration file
Server configuration file
Server configuration file
Server configuration file
Server configuration file
Client binaries
Header files
Color names to RGB mapping
Client error message database
Client resource specifications
Manual pages
Initial access control list for display n

Note: <XRoot> refers to the root of the X11 install tree.

See Also

X(7) , Xserver(1) , xdm(1) , xinit(1) , XF86Config(5) , xf86config(1) , xf86cfg(1) , xvidtune(1)


For X11R5, XF86 1.2 was provided by:

Thomas Roell,
TU-Muenchen: Server and SVR4 stuff
Mark W. Snitily,
SGCS: SVR3 support, X Consortium Sponsor

... and many more people out there on the net who helped with ideas and

XFree86 was integrated into X11R6 by the following team:

Stuart Anderson
Doug Anson
Gertjan Akkerman
Mike Bernson
Robin Cutshaw
David Dawes
Marc Evans
Pascal Haible
Matthieu Herrb
Dirk Hohndel
David Holland
Alan Hourihane
Jeffrey Hsu
Glenn Lai
Ted Lemon
Rich Murphey
Hans Nasten
Mark Snitily
Randy Terbush
Jon Tombs
Kees Verstoep
Paul Vixie
Mark Weaver
David Wexelblat
Philip Wheatley    Philip.Wheatley@ColumbiaSC.NCR.COM
Thomas Wolfram
Orest Zborowski

The XFree86 enhancement package was provided by:

David Dawes,
Release coordination, administration of FTP repository and mailing lists. Source tree management and integration, accelerated server integration, fixing, and coding.
Glenn Lai,
The SpeedUp code for ET4000 based SVGA cards, and ET4000/W32 accelerated server.
Jim Tsillas,
Many server speedups from the fX386 series of enhancements.
David Wexelblat,
Integration of the fX386 code into the default server, many driver fixes, and driver documentation, assembly of the VGA card/monitor database, development of the generic video mode listing. Accelerated server integration, fixing, and coding.
Dirk Hohndel,
Linux shared libraries and release coordination. Accelerated server integration and fixing. Generic administrivia and documentation.

Amancio Hasty Jr.,
Porting to 386BSD version 0.1 and XS3 development.
Rich Murphey,
Ported to 386BSD version 0.1 based on the original port by Pace Willison. Support for 386BSD, FreeBSD, and NetBSD.
Robert Baron,
Ported to Mach.
Orest Zborowski,
Ported to Linux.
Doug Anson,
Ported to Solaris x86.
David Holland,
Ported to Solaris x86.
David McCullough,
Ported to SCO SVR3.
Michael Rohleder,
Ported to ISC SVR3.
Kees Verstoep,
Ported to Amoeba based on Leendert van Doorn's original Amoeba port of X11R5.
Marc Evans,
Ported to OSF/1.
Philip Homburg,
Ported to Minix-386vm.
Thomas Mueller,
Ported to LynxOS.
Jon Tombs,
S3 server and accelerated server coordination.
Harald Koenig,
S3 server development.
Bernhard Bender,
S3 server development.
Kevin Martin,
Overall work on the base accelerated servers (ATI and 8514/A), and Mach64 server.
Rik Faith,
Overall work on the base accelerated servers (ATI and 8514/A).
Tiago Gons,
Mach8 and 8514/A server development
Hans Nasten,
Mach8, 8514/A, and S3 server development and BSD/386 support
Mike Bernson,
Mach32 server development.
Mark Weaver,
Mach32 server development.
Craig Groeschel,
Mach32 server development.
Henry Worth,
AGX server.
Erik Nygren,
P9000 server.
Harry Langenbacher
P9000 server.
Chris Mason,
P9000 server.
Henrik Harmsen
P9000 server.
Simon Cooper,
Cirrus accelerated code (based on work by Bill Reynolds).
Harm Hanemaayer,
Cirrus accelerated code, and ARK driver.
Thomas Zerucha,
Support for Cirrus CL-GD7543.
Leon Bottou,
ARK driver.
Mike Tierney,
WD accelerated code.
Bill Conn,
WD accelerated code.
Brad Bosch,
WD 90C24A support.
Alan Hourihane,
Trident SVGA driver, SiS SVGA driver and DEC 21030 server.
Marc Aurele La France,
ATI SVGA driver
Steve Goldman,
Oak 067/077 SVGA driver.
Jorge Delgado,
Oak SVGA driver, and 087 accelerated code.
Bill Conn,
WD accelerated code.
Paolo Severini,
AL2101 SVGA driver
Ching-Tai Chiu,
Avance Logic ALI SVGA driver
Manfred Brands,
Cirrus 64xx SVGA driver
Randy Hendry,
Cirrus 6440 support in the cl64xx SVGA driver
Frank Dikker,
MX SVGA driver
Regis Cridlig,
Chips & Technologies driver
Jon Block,
Chips & Technologies driver
Mike Hollick,
Chips & Technologies driver
Nozomi Ytow
Chips & Technologies driver
Egbert Eich, Egbert.Eich@Physik.TH-Darmstadt.DE
Chips & Technologies driver
David Bateman,
Chips & Technologies driver
Xavier Ducoin,
Chips & Technologies driver
Peter Trattler,
RealTek SVGA driver
Craig Struble,
Video7 SVGA driver
Gertjan Akkerman,
16 colour VGA server, and XF86Config parser.
Davor Matic, dmatic@Athena.MIT.EDU
Hercules driver.
Pascal Haible,
Banked monochrome VGA support, Hercules support, and mono frame buffer support for dumb monochrome devices
Martin Schaller,
Geert Uytterhoeven,
Linux/m68k Frame Buffer Device driver
Andreas Schwab,
Linux/m68k Frame Buffer Device driver
Guenther Kelleter,
Linux/m68k Frame Buffer Device driver
Frederic Lepied, Lepied@XFree86.Org
XInput extension integration. Wacom, joystick and extended mouse drivers.
Patrick Lecoanet,
Elographics touchscreen driver.
Steven Lang,
SummaSketch tablet driver.

... and many more people out there on the net who helped with beta-testing
this enhancement.

XFree86 source is available from the FTP server, among others. Send email to for details.