Table of Contents
XFree86 - X11R6 X server
XFree86 [:display] [option ...]
XFree86
is a full featured 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 was originally derived from
X386 1.2 by Thomas Roell which was contributed to X11R5 by Snitily Graphics
Consulting Service. The XFree86 server architecture was redesigned for
the 4.0 release, and it includes among many other things a loadable module
system derived from code 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 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.
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).
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").
his 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(1)
or xinit(1)
,
the definition should be at the top of your .xinitrc file. If you use xdm(1)
,
the definitions should be early on in the /usr/X11R6/lib/X11/xdm/Xsession
script.
XFree86 supports several mechanisms for supplying/obtaining
configuration and run-time parameters: command line options, environment
variables, the XF86Config(5)
configuration file, auto-detection, and fallback
defaults. When the same information is supplied in more than one way, the
highest precedence mechanism is used. The list of mechanisms is ordered
from highest precedence to lowest. Note that not all parameters can be
supplied via all methods. The available command line options and environment
variables (and some defaults) are described here and in the Xserver(1)
manual page. Most configuration file parameters, with their defaults, are
described in the XF86Config(5)
manual page. Driver and module specific
configuration parameters are described in the relevant driver or module
manual page.
Starting with version 4.4, XFree86 has support for generating
a usable configuration at run-time when no XF86Config(5)
configuration file
is provided. The initial version of this automatic configuration support
is targeted at the most popular hardware and software platforms supported
by XFree86. Some details about how this works can be found in the CONFIGURATION
section below and in the getconfig(1)
manual page.
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 AllowMouseOpenFail XF86Config(5)
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 AllowNonLocalModInDev XF86Config(5)
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
AllowNonLocalXvidtune XF86Config(5)
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 XFree86 server loads all video driver modules, probes
for available hardware, and writes out an initial XF86Config(5)
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 DisableModInDev XF86Config(5)
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 DisableVidModeExtension XF86Config(5)
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 XFree86 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(5)
file InputDevice section called keyboard-name as the
core keyboard. This option is ignored when the Layout section specifies
a core keyboard. In the absence of both a Layout section and this option,
the first relevant InputDevice section is used for the core keyboard.
- -layout
layout-name
- Use the XF86Config(5)
file Layout section called layout-name.
By default the first Layout section is used.
- -logfile filename
- Use the file
called filename as the XFree86 server log file. The default log file is
/var/log/XFree86.n.log on most platforms, where n is the display number of
the XFree86 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 XFree86 server log file. If the n value isn't supplied, each
occurrence 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 XFree86 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 equivalent to the Pixmap XF86Config(5)
file option.
- -pixmap32
- Set the
internal pixmap format for depth 24 pixmaps to 32 bits per pixel. This is
usually the default. This is equivalent to the Pixmap XF86Config(5)
file
option.
- -pointer pointer-name
- Use the XF86Config(5)
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 InputDevice section is used
for the core pointer.
- -probeonly
- Causes the server to exit after the device
probing stage. The XF86Config(5)
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 XFree86 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(5)
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 compatibility
reasons. It may be removed in a future release, so the -version option should
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 occurrence 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 0.
- -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.
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 combinations 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 XKEYBOARD 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 XF86Config(5)
man page.
The special combinations of key presses
recognized directly by XFree86 are:
- Ctrl+Alt+Backspace
- Immediately kills
the server -- no questions asked. This can be disabled with the DontZap XF86Config(5)
file option.
- Ctrl+Alt+Keypad-Plus
- Change video mode to next one specified
in the configuration file. This can be disabled with the DontZoom XF86Config(5)
file option.
- Ctrl+Alt+Keypad-Minus
- Change video mode to previous one specified
in the configuration file. This can be disabled with the DontZoom XF86Config(5)
file option.
- Ctrl+Alt+Keypad-Multiply
- Not treated specially by default. If
the AllowClosedownGrabs XF86Config(5)
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(3)
Xlib function.
- Ctrl+Alt+Keypad-Divide
- Not treated specially
by default. If the AllowDeactivateGrabs XF86Config(5)
file option is specified,
this key sequence deactivates any active keyboard and mouse grabs.
- Ctrl+Alt+F1...F12
- For BSD and Linux systems with virtual terminal support, these keystroke
combinations are used to switch to virtual terminals 1 through 12, respectively.
This can be disabled with the DontVTSwitch XF86Config(5)
file option.
XFree86
typically uses a configuration file called XF86Config for its initial setup.
Refer to the XF86Config(5)
manual page for information about the format
of this file.
Starting with version 4.4, XFree86 has a mechanism for automatically
generating a built-in configuration at run-time when no XF86Config file is
present. The current version of this automatic configuration mechanism
works in three ways.
The first is via enhancements that have made many components
of the XF86Config file optional. This means that information that can be
probed or reasonably deduced doesn't need to be specified explicitly, greatly
reducing the amount of built-in configuration information that needs to
be generated at run-time.
The second is to use an external utility called
getconfig(1)
, when available, to use meta-configuration information to generate
a suitable configuration for the primary video device. The meta-configuration
information can be updated to allow an existing installation to get the
best out of new hardware or to work around bugs that are found post-release.
The third is to have "safe" fallbacks for most configuration information.
This maximises the likelihood that the XFree86 server will start up in
some usable configuration even when information about the specific hardware
is not available.
The automatic configuration support for XFree86 is work
in progress. It is currently aimed at the most popular hardware and software
platforms supported by XFree86. Enhancements are planned for future releases.
The XFree86 server config file can be found in a range of locations.
These are documented fully in the XF86Config(5)
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/*
- Libraries.
- /usr/X11R6/lib/X11/fonts/*
- Fonts.
- /usr/X11R6/lib/X11/rgb.txt
- Color names to RGB mapping.
- /usr/X11R6/lib/X11/XErrorDB
- Client error message database.
- /usr/X11R6/lib/X11/app-defaults/*
- Client resource
specifications.
- /usr/X11R6/man/man?/*
- Manual pages.
- /etc/Xn.hosts
- Initial
access control list for display n.
X(7)
, Xserver(1)
, xdm(1)
, xinit(1)
,
XF86Config(5)
, xf86config(1)
, xf86cfg(1)
, xvidtune(1)
, apm(4)
, ati(4)
,
chips(4)
, cirrus(4)
, cyrix(4)
, fbdev(4)
, glide(4)
, glint(4)
, i128(4)
, i740(4)
,
i810(4)
, imstt(4)
, mga(4)
, neomagic(4)
, nsc(4)
, nv(4)
, r128(4)
, rendition(4)
,
s3virge(4)
, siliconmotion(4)
, sis(4)
, sunbw2(4)
, suncg14(4)
, suncg3(4)
,
suncg6(4)
, sunffb(4)
, sunleo(4)
, suntcx(4)
, tdfx(4)
, tga(4)
, trident(4)
,
tseng(4)
, v4l(4)
, vesa(4)
, vga(4)
, vmware(4)
,
README <http://www.xfree86.org/current/README.html
>,
RELNOTES <http://www.xfree86.org/current/RELNOTES.html
>,
README.mouse <http://www.xfree86.org/current/mouse.html
>,
README.DRI <http://www.xfree86.org/current/DRI.html
>,
Status <http://www.xfree86.org/current/Status.html
>,
Install <http://www.xfree86.org/current/Install.html
>.
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:
Stuart Anderson [email protected]
Doug Anson [email protected]
Gertjan Akkerman [email protected]
Mike Bernson [email protected]
Robin Cutshaw [email protected]
David Dawes [email protected]
Marc Evans [email protected]
Pascal Haible [email protected]
Matthieu Herrb [email protected]
Dirk Hohndel [email protected]
David Holland [email protected]
Alan Hourihane [email protected]
Jeffrey Hsu [email protected]
Glenn Lai [email protected]
Ted Lemon [email protected]
Rich Murphey [email protected]
Hans Nasten [email protected]
Mark Snitily [email protected]
Randy Terbush [email protected]
Jon Tombs [email protected]
Kees Verstoep [email protected]
Paul Vixie [email protected]
Mark Weaver [email protected]
David Wexelblat [email protected]
Philip Wheatley [email protected]
Thomas Wolfram [email protected]
Orest Zborowski [email protected]
The current XFree86 core team consists of:
David Dawes [email protected]
Egbert Eich [email protected]
Marc Evans [email protected]
Matthieu Herrb [email protected]
Alan Hourihane [email protected]
Marc La France [email protected]
Kevin Martin [email protected]
Rich Murphey [email protected]
Mark Vojkovich [email protected]
David Wexelblat [email protected]
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 information can be found from the XFree86 web site <http://www.xfree86.org/
>.
XFree86 is copyright software, provided under licenses that permit
modification and redistribution in source and binary form without fee.
Portions of XFree86 are copyright by The XFree86 Project, Inc. and numerous
authors and contributors from around the world. Licensing information can
be found at <http://www.xfree86.org/current/LICENSE.html
>. Refer to the source
code for specific copyright notices.
XFree86(TM) is a trademark of The XFree86
Project, Inc.
Table of Contents