summaryrefslogtreecommitdiff
path: root/hw/xfree86/doc
diff options
context:
space:
mode:
Diffstat (limited to 'hw/xfree86/doc')
-rw-r--r--hw/xfree86/doc/README.DRI6
-rw-r--r--hw/xfree86/doc/README.fonts101
-rw-r--r--hw/xfree86/doc/devel/README.DRIcomp6
-rw-r--r--hw/xfree86/doc/man/Xorg.man.pre691
-rw-r--r--hw/xfree86/doc/man/xorg.conf.man.pre1872
-rw-r--r--hw/xfree86/doc/sgml/DESIGN.sgml30
6 files changed, 2633 insertions, 73 deletions
diff --git a/hw/xfree86/doc/README.DRI b/hw/xfree86/doc/README.DRI
index e3daac059..3962a0686 100644
--- a/hw/xfree86/doc/README.DRI
+++ b/hw/xfree86/doc/README.DRI
@@ -8,7 +8,7 @@
1.1 Copyright
-Copyright © 2000-2001 by VA Linux Systems, Inc. All Rights Reserved.
+Copyright 2000-2001 by VA Linux Systems, Inc. All Rights Reserved.
Permission is granted to make and distribute verbatim copies of this document
provided the copyright notice and this permission notice are preserved on all
@@ -1251,7 +1251,5 @@ demo programs is available from http://dri.sourceforge.net/res.phtml
o In the future there may be IHV and Linux vendor support resources for
the DRI.
- Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DRI.sgml,v 1.29 dawes Exp $
+ Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DRI.sgml,v 1.28 dawes Exp $
-
-$XFree86: $
diff --git a/hw/xfree86/doc/README.fonts b/hw/xfree86/doc/README.fonts
index ea9628a4b..26b92cd01 100644
--- a/hw/xfree86/doc/README.fonts
+++ b/hw/xfree86/doc/README.fonts
@@ -1,14 +1,15 @@
- Fonts in XFree86
+ Fonts in X11R6.7
- Juliusz Chroboczek, <jch@xfree86.org>
+ Juliusz Chroboczek, <jch@pps.jussieu.fr>
- 17 November 2003
+ 25 March 2004
1. Introduction
-This document describes the support for fonts in XFree86. Installing fonts
+This document describes the support for fonts in X11R6.7. Installing fonts
(section 2., page 1) is aimed at the casual user wishing to install fonts in
-XFree86; the rest of the document describes the font support in more detail.
+X11R6.7 or XFree86; the rest of the document describes the font support in
+more detail.
We assume some familiarity with digital fonts. If anything is not clear to
you, please consult Appendix: Background (section 5., page 1) at the end of
@@ -16,10 +17,10 @@ this document for background information.
1.1 Two font systems
-XFree86 includes two font systems: the core X11 fonts system, which is
-present in all implementations of X11, and the Xft fonts system, which is not
-currently distributed with implementations of X11 that are not based on
-XFree86 but will hopefully be included by them in the future
+X includes two font systems: the original core X11 fonts system, which is
+present in all implementations of X11, and the Xft fonts system, which may
+not be distributed with implementations of X11 that are not based on X116.7.0
+but will hopefully be included by them in the future
The core X11 fonts system is directly derived from the fonts system included
with X11R1 in 1987, which could only use monochrome bitmap fonts. Over the
@@ -36,7 +37,7 @@ ments with embedded fonts.
Xft is not compatible with the core fonts system: usage of Xft requires mak-
ing fairly extensive changes to toolkits (user-interface libraries). While
-XFree86 will continue to maintain the core fonts system, toolkit authors are
+X.org will continue to maintain the core fonts system, toolkit authors are
encouraged to switch to Xft as soon as possible.
2. Installing fonts
@@ -48,13 +49,13 @@ access newly-installed fonts.
Xft has no configuration mechanism itself, rather it relies upon the fontcon-
fig library to configure and customize fonts. That library is not specific
-to XFree86 or indeed on any particular font output mechanism. This discus-
+to X11R6.7.0 or indeed on any particular font output mechanism. This discus-
sion describes how fontconfig, rather than Xft, works.
2.1.1 Installing fonts in Xft
Fontconfig looks for fonts in a set of well-known directories that include
-all of XFree86's standard font directories (`/usr/X11R6/lib/X11/lib/fonts/*')
+all of X11R6.7's standard font directories (`/usr/X11R6/lib/X11/lib/fonts/*')
by default) as well as a directory called `.fonts/' in the user's home direc-
tory. Installing a font for use by Xft applications is as simple as copying
a font file into one of these directories.
@@ -114,9 +115,9 @@ Anti-aliasing can be disabled for all fonts by the following incantation:
</edit>
</match>
-Xft supports sub-pixel rasterisation on LCD displays. XFree86 should auto-
-matically enable this feature on laptops and when using an LCD monitor con-
-nected with a DVI cable; you can check whether this was done by typing
+Xft supports sub-pixel rasterisation on LCD displays. X11R67 should automat-
+ically enable this feature on laptops and when using an LCD monitor connected
+with a DVI cable; you can check whether this was done by typing
$ xdpyinfo -ext RENDER | grep sub-pixel
@@ -167,10 +168,10 @@ disabled by your Xft configuration file.
2.1.4 Troubleshooting
If some Xft-based applications don't seem to notice the changes you are mak-
-ing to your configuration files, they may be linked against the XFree86 4.2
-version of Xft. In order to fix the problem, you should relink them against
-a current version of Xft; on most systems, it is enough to install the cur-
-rent version of the Xft and Fontconfig libraries.
+ing to your configuration files, they may be linked against an old version of
+Xft. In order to fix the problem, you should relink them against a current
+version of Xft; on most systems, it is enough to install the current version
+of the Xft and Fontconfig libraries.
If, for some reason, you cannot upgrade the shared libraries, please check
the Xft(3) manual page included with XFree86 4.2 for the configuration mecha-
@@ -185,8 +186,8 @@ of this new directory by including it in the font path.
2.2.1 Installing bitmap fonts
-The XFree86 server can use bitmap fonts in both the cross-platform BDF format
-and the somewhat more efficient binary PCF format. (XFree86 also supports
+The X11R6.7 server can use bitmap fonts in both the cross-platform BDF format
+and the somewhat more efficient binary PCF format. (X11R6.7 also supports
the obsolete SNF format.)
Bitmap fonts are normally distributed in the BDF format. Before installing
@@ -215,7 +216,7 @@ directory; see Setting the server font path (section 2.2.4, page 1) below.
2.2.2 Installing scalable fonts
-The XFree86 server supports scalable fonts in four formats: Type 1, Speedo,
+The X11R6.7 server supports scalable fonts in four formats: Type 1, Speedo,
TrueType and CIDFont. This section only applies to the former three; for
information on CIDFonts, please see Installing CIDFonts (section 2.2.3, page
1) later in this document.
@@ -251,7 +252,7 @@ CMap `UniKS-UCS2-H' is called
Munhwa-Regular--UniKS-UCS2-H
-The CIDFont code in XFree86 requires a very rigid directory structure. The
+The CIDFont code in X11R6.7 requires a very rigid directory structure. The
main directory must be called `CID' (its location defaults to
`/usr/X11R6/lib/X11/fonts/CID' but it may be located anywhere), and it should
contain a subdirectory for every CID collection. Every subdirectory must
@@ -310,7 +311,7 @@ For best results, scalable fonts should appear in the font path before the
bitmap fonts; this way, the server will prefer bitmap fonts to scalable fonts
when an exact match is possible, but will avoid scaling bitmap fonts when a
scalable font can be used. (The `:unscaled' hack, while still supported,
-should no longer be necessary in XFree86 4.0 and later.)
+should no longer be necessary in X11R6.7.0.)
You may check the font path of the running server by typing the command
@@ -334,15 +335,15 @@ For more information, please consult the xset(1) manual page.
2.2.4.2 Permanent modification of the font path
The default font path (the one used just after server startup or after `xset
-fp default') is specified in the X server's `XF86Config' file. It is com-
-puted by appending all the directories mentioned in the `FontPath' entries of
-the `Files' section in the order in which they appear.
+fp default') is specified in the X server's `xorg.conf' file. It is computed
+by appending all the directories mentioned in the `FontPath' entries of the
+`Files' section in the order in which they appear.
FontPath "/usr/local/fonts/Type1"
...
FontPath "/usr/local/fonts/bitmap"
-For more information, please consult the XF86Config(5) manual page.
+For more information, please consult the xorg.conf(5) manual page.
2.2.5 Troubleshooting
@@ -353,19 +354,19 @@ mounted font directories). If this doesn't help, it is quite possible that
you are trying to use a font in a format that is not supported by your
server.
-XFree86 supports the BDF, PCF, SNF, Type 1, Speedo, TrueType, OpenType and
-CIDFont font formats. However, not all XFree86 servers come with all the
-font backends configured in.
+X11R6.7 supports the BDF, PCF, SNF, Type 1, Speedo, TrueType, OpenType and
+CIDFont font formats. However, not all X11R6.7 or XFree86 servers come with
+all the font backends configured in.
-On most platforms, the XFree86 servers are modular: the font backends are
+On most platforms, the X11R6.7 servers are modular: the font backends are
included in modules that are loaded at runtime. The modules to be loaded are
-specified in the `XF86Config' file using the `Load' directive:
+specified in the `xorg.conf' file using the `Load' directive:
Load "type1"
If you have trouble installing fonts in a specific format, you may want to
check the server's log file in order to see whether the relevant modules are
-properly loaded. The list of font modules distributed with XFree86 is as
+properly loaded. The list of font modules distributed with X11R6.7 is as
follows:
o "bitmap": bitmap fonts (`*.bdf', `*.pcf' and `*.snf');
@@ -382,7 +383,7 @@ follows:
Please note that the argument of the `Load' directive is case-sensitive.
-3. Fonts included with XFree86
+3. Fonts included with X11R6.7
3.1 Standard bitmap fonts
@@ -391,7 +392,7 @@ fonts, including the `fixed' family, and bitmap versions of Courier, Times,
Helvetica and some members of the Lucida family. In the SI, these fonts are
provided in the ISO 8859-1 encoding (ISO Latin Western-European).
-In XFree86, a number of these fonts are provided in Unicode-encoded font
+In X11R6.7, a number of these fonts are provided in Unicode-encoded font
files instead. At build time, these fonts are split into font files encoded
according to legacy encodings, a process which allows us to provide the stan-
dard fonts in a number of regional encodings with no duplication of work.
@@ -469,7 +470,7 @@ for improved presentation of text.
3.3 Standard scalable fonts
-XFree86 includes all the scalable fonts distributed with X11R6.
+X11R6.7 includes all the scalable fonts distributed with X11R6.
3.3.1 Standard Type 1 fonts
@@ -491,7 +492,7 @@ and reside in the font files
/usr/X11R6/lib/X11/fonts/Type1/UT*.pfa
-Finally, XFree86 also comes with Type 1 versions of Bitstream Courier and
+Finally, X11R6.7 also comes with Type 1 versions of Bitstream Courier and
Charter. These fonts have XLFD
-bitstream-courier-*-*-normal--0-0-0-0-m-0-iso8859-1
@@ -503,7 +504,7 @@ and reside in the font files
3.3.2 Standard Speedo fonts
-XFree86 includes Speedo versions of the Bitstream Courier and Charter fonts.
+X11R6.7 includes Speedo versions of the Bitstream Courier and Charter fonts.
In order to use these fonts, you should ensure that your X server is loading
the `Speedo' font backend; see Troubleshooting (section 2.2.5, page 1).
@@ -519,7 +520,7 @@ and reside in the font files
3.4 The Bigelow & Holmes Luxi family
-XFree86 includes the Luxi family of scalable fonts, in both TrueType and
+X11R6.7 includes the Luxi family of scalable fonts, in both TrueType and
Type 1 format. This family consists of the fonts Luxi Serif, with XLFD
-b&h-luxi serif-medium-*-normal--*-*-*-*-p-*-*-*
@@ -565,11 +566,11 @@ For more information, please contact <design@bigelowandholmes.com> or
An earlier version of the Luxi fonts was made available under the name
Lucidux. This name should no longer be used due to trademark uncertainties,
-and all traces of the Lucidux name have been removed from XFree86.
+and all traces of the Lucidux name have been removed from X11R6.7.
4. More about core fonts
-This section describes XFree86-specific enhancements to the core X11 fonts
+This section describes X11R6.7-specific enhancements to the core X11 fonts
system.
4.1 Core fonts and internationalisation
@@ -655,7 +656,7 @@ option followed by the name of a directory containing encoding files, can be
used to automatically build `encodings.dir' files. Please see the mkfont-
dir(1) manual page for more details.
-A number of encoding files for common encodings are included with XFree86.
+A number of encoding files for common encodings are included with X11R6.7.
Information on writing new encoding files can be found in Format of encodings
directory files (section 4.1.3, page 1) and Format of encoding files (section
4.1.4, page 1) later in this document.
@@ -991,7 +992,7 @@ ings, but instead uses its own database of encodings.
Since the functionalities for CJKV support introduced by X-TT have been
merged into the new FreeType backend, the X-TT backend will be removed from
-XFree86's tree near the future. Therefore, the use of FreeType backend is
+X11R6.7's tree near the future. Therefore, the use of FreeType backend is
preferred over the X-TT backend.
General information on X-TrueType may be found at the After X-TT Project page
@@ -1138,16 +1139,16 @@ last two fields of their XLFD set to `iso10646-1'.
6. References
-XFree86 comes with extensive documentation in the form of manual pages and
+X11R6.7 comes with extensive documentation in the form of manual pages and
typeset documents. Before installing fonts, you really should read the font-
config(3) and mkfontdir(1) manual pages; other manual pages of interest
include X(7), Xserver(1), xset(1), Xft(3), xlsfonts(1) and showfont(1). In
addition, you may want to read the X Logical Font Description document, by
Jim Flowers, which is provided in the file `xc/doc/xlfd.PS.Z'.
-The latest released version of the XFree86 documentation (including this doc-
-ument and all manual pages) is available as current XFree86 documentation
-<URL:http://www.xfree86.org/current/>.
+The latest released version of the X11R6.7 documentation (including this doc-
+ument and all manual pages) can be found from current X11R6.7 documentation
+<URL:http://wiki.x.org/>.
The comp.fonts FAQ <URL:http://www.netmeg.net/faq/computers/fonts/>, which is
unfortunately no longer being maintained, contains a wealth of information
@@ -1181,7 +1182,5 @@ The IANA RFC documents, available from a number of sites throughout the
world, often provide interesting information about character set issues; see
for example RFC 373.
- Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/fonts.sgml,v 1.24 dawes Exp $
+ $Id$
-
-$XFree86: $
diff --git a/hw/xfree86/doc/devel/README.DRIcomp b/hw/xfree86/doc/devel/README.DRIcomp
index 7dab2b108..aafbd4237 100644
--- a/hw/xfree86/doc/devel/README.DRIcomp
+++ b/hw/xfree86/doc/devel/README.DRIcomp
@@ -8,7 +8,7 @@
1.1 Copyright
-Copyright © 2000-2001 by VA Linux Systems, Inc. All Rights Reserved.
+Copyright 2000-2001 by VA Linux Systems, Inc. All Rights Reserved.
Permission is granted to make and distribute verbatim copies of this document
provided the copyright notice and this permission notice are preserved on all
@@ -551,7 +551,5 @@ At this point your X server should be up and running with hardware-acceler-
ated direct rendering. Please read the DRI User Guide for information about
trouble shooting and how to use the DRI-enabled X server for 3D applications.
- Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DRIcomp.sgml,v 1.20 dawes Exp $
+ Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DRIcomp.sgml,v 1.19 dawes Exp $
-
-$XFree86: $
diff --git a/hw/xfree86/doc/man/Xorg.man.pre b/hw/xfree86/doc/man/Xorg.man.pre
new file mode 100644
index 000000000..d4bb08bc4
--- /dev/null
+++ b/hw/xfree86/doc/man/Xorg.man.pre
@@ -0,0 +1,691 @@
+.\" $XdotOrg: $
+.TH __xservername__ __appmansuffix__ __vendorversion__
+.SH NAME
+__xservername__ - X11R6 X server
+.SH SYNOPSIS
+.B __xservername__
+.RI [\fB:\fP display ]
+.RI [ option
+.IR ... ]
+.SH DESCRIPTION
+.B __xservername__
+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.
+.PP
+This work was derived from
+.I "XFree86\ 4.4rc2"
+by the X.Org Foundation.
+The XFree86 4.4rc2 release was originally derived from
+.I "X386\ 1.2"
+by Thomas Roell which was contributed to X11R5 by Snitily Graphics
+Consulting Service. The
+.B __xservername__
+server architecture includes
+among many other things a loadable module system derived from code
+donated by Metro Link, Inc. The current __xservername__ release is compatible
+with X11R6.6.
+.SH PLATFORMS
+.PP
+.B __xservername__
+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.
+.PP
+.SH "NETWORK CONNECTIONS"
+.B __xservername__
+supports connections made using the following reliable
+byte-streams:
+.TP 4
+.I "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.
+.TP 4
+.I TCP\/IP
+.B __xservername__
+listens on port
+.RI 6000+ n ,
+where
+.I n
+is the display number. This connection type can be disabled with the
+.B \-nolisten
+option (see the Xserver(1) man page for details).
+.SH "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
+.I XLOCAL
+environment variable described below. If the display name indicates a
+best-choice connection should be made (e.g.
+.BR :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
+.BR unix:0.0 .
+.PP
+The
+.I XLOCAL
+environment variable should contain a list of one more
+more of the following:
+.PP
+.RS 8
+.nf
+NAMED
+PTS
+SCO
+ISC
+.fi
+.RE
+.PP
+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.
+.IR XLOCAL=NAMED ),
+or an ordered list (e.g. \fIXLOCAL="NAMED:PTS:SCO"\fP).
+his variable overrides the compiled-in defaults. For SVR4 it is
+recommended that
+.I NAMED
+be the first preference connection. The default setting is
+.IR PTS:NAMED:ISC:SCO .
+.PP
+To globally override the compiled-in defaults, you should define (and
+export if using
+.B sh
+or
+.BR ksh )
+.I XLOCAL
+globally. If you use startx(1) or xinit(1), the definition should be
+at the top of your
+.I .xinitrc
+file. If you use xdm(1), the definitions should be early on in the
+.I __projectroot__/lib/X11/xdm/Xsession
+script.
+.SH OPTIONS
+.B __xservername__
+supports several mechanisms for supplying/obtaining configuration and
+run-time parameters: command line options, environment variables, the
+__xconfigfile__(__filemansuffix__) 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 __xconfigfile__(__filemansuffix__) manual
+page. Driver and module specific configuration parameters are described
+in the relevant driver or module manual page.
+.PP
+In addition to the normal server options described in the Xserver(1)
+manual page,
+.B __xservername__
+accepts the following command line switches:
+.TP 8
+.BI vt XX
+.I XX
+specifies the Virtual Terminal device number which
+.B __xservername__
+will use. Without this option,
+.B __xservername__
+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.
+.TP
+.B \-allowMouseOpenFail
+Allow the server to start up even if the mouse device can't be opened
+or initialised. This is equivalent to the
+.B AllowMouseOpenFail
+__xconfigfile__(__filemansuffix__) file option.
+.TP 8
+.B \-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
+.B AllowNonLocalModInDev
+__xconfigfile__(__filemansuffix__) file option.
+.TP 8
+.B \-allowNonLocalXvidtune
+Make the VidMode extension available to remote clients. This allows
+the xvidtune client to connect from another host. This is equivalent
+to the
+.B AllowNonLocalXvidtune
+__xconfigfile__(__filemansuffix__) file option. By default non-local
+connections are not allowed.
+.TP 8
+.BI \-bgamma " value"
+Set the blue gamma correction.
+.I value
+must be between 0.1 and 10.
+The default is 1.0. Not all drivers support this. See also the
+.BR \-gamma ,
+.BR \-rgamma ,
+and
+.B \-ggamma
+options.
+.TP 8
+.BI \-bpp " n"
+No longer supported. Use
+.B \-depth
+to set the color depth, and use
+.B \-fbbpp
+if you really need to force a non-default framebuffer (hardware) pixel
+format.
+.TP
+.B \-configure
+When this option is specified, the
+.B __xservername__
+server loads all video driver modules, probes for available hardware,
+and writes out an initial __xconfigfile__(__filemansuffix__) 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).
+.TP 8
+.BI "\-crt /dev/tty" XX
+SCO only. This is the same as the
+.B vt
+option, and is provided for compatibility with the native SCO X server.
+.TP 8
+.BI \-depth " n"
+Sets the default color depth. Legal values are 1, 4, 8, 15, 16, and
+24. Not all drivers support all values.
+.TP 8
+.B \-disableModInDev
+Disable dynamic modification of input device settings. This is equivalent
+to the
+.B DisableModInDev
+__xconfigfile__(__filemansuffix__) file option.
+.TP 8
+.B \-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
+.B DisableVidModeExtension
+__xconfigfile__(__filemansuffix__) file option.
+.TP 8
+.B \-fbbpp \fIn\fP
+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
+.B \-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.
+.TP 8
+.B \-flipPixels
+Swap the default values for the black and white pixels.
+.TP 8
+.BI \-gamma " value"
+Set the gamma correction.
+.I 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
+.BR \-rgamma ,
+.BR \-bgamma ,
+and
+.B \-ggamma
+options. Not all drivers support this.
+.TP 8
+.BI \-ggamma " value"
+Set the green gamma correction.
+.I value
+must be between 0.1 and 10. The default is 1.0. Not all drivers support
+this. See also the
+.BR \-gamma ,
+.BR \-rgamma ,
+and
+.B \-bgamma
+options.
+.TP 8
+.B \-ignoreABI
+The
+.B __xservername__
+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.
+.TP 8
+.B \-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.
+.TP 8
+.BI \-keyboard " keyboard-name"
+Use the __xconfigfile__(__filemansuffix__) file
+.B InputDevice
+section called
+.I keyboard-name
+as the core keyboard. This option is ignored when the
+.B Layout
+section specifies a core keyboard. In the absence of both a Layout
+section and this option, the first relevant
+.B InputDevice
+section is used for the core keyboard.
+.TP 8
+.BI \-layout " layout-name"
+Use the __xconfigfile__(__filemansuffix__) file
+.B Layout
+section called
+.IR layout-name .
+By default the first
+.B Layout
+section is used.
+.TP 8
+.BI \-logfile " filename"
+Use the file called
+.I filename
+as the
+.B __xservername__
+server log file. The default log file is
+.BI __logdir__/__xservername__. n .log
+on most platforms, where
+.I n
+is the display number of the
+.B __xservername__
+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).
+.TP 8
+.BR \-logverbose " [\fIn\fP]"
+Sets the verbosity level for information printed to the
+.B __xservername__
+server log file. If the
+.I n
+value isn't supplied, each occurrence of this option increments the log
+file verbosity level. When the
+.I n
+value is supplied, the log file verbosity level is set to that value.
+The default log file verbosity level is 3.
+.TP 8
+.BI \-modulepath " searchpath"
+Set the module search path to
+.IR searchpath .
+.I searchpath
+is a comma separated list of directories to search for
+.B __xservername__
+server modules. This option is only available when the server is run
+as root (i.e, with real-uid 0).
+.TP 8
+.B \-nosilk
+Disable Silken Mouse support.
+.TP 8
+.B \-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
+.B Pixmap
+__xconfigfile__(__filemansuffix__) file option.
+.TP 8
+.B \-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
+.B Pixmap
+__xconfigfile__(__filemansuffix__) file option.
+.TP 8
+.BI \-pointer " pointer-name"
+Use the __xconfigfile__(__filemansuffix__) file
+.B InputDevice
+section called
+.I pointer-name
+as the core pointer. This option is ignored when the
+.B Layout
+section specifies a core pointer. In the absence of both a Layout
+section and this option, the first relevant
+.B InputDevice
+section is used for the core pointer.
+.TP 8
+.B \-probeonly
+Causes the server to exit after the device probing stage. The
+__xconfigfile__(__filemansuffix__) file is still used when this option is
+given, so information that can be auto-detected should be commented out.
+.TP 8
+.B \-quiet
+Suppress most informational messages at startup. The verbosity level
+is set to zero.
+.TP 8
+.BI \-rgamma " value"
+Set the red gamma correction.
+.I value
+must be between 0.1 and 10. The default is 1.0. Not all drivers support
+this. See also the
+.BR \-gamma ,
+.BR \-bgamma ,
+and
+.B \-ggamma
+options.
+.TP 8
+.B \-scanpci
+When this option is specified, the
+.B __xservername__
+server scans the PCI bus, and prints out some information about each
+device that was detected. See also scanpci(1) and pcitweak(1).
+.TP 8
+.BI \-screen " screen-name"
+Use the __xconfigfile__(__filemansuffix__) file
+.B Screen
+section called
+.IR screen-name .
+By default the screens referenced by the default
+.B Layout
+section are used, or the first
+.B Screen
+section when there are no
+.B Layout
+sections.
+.TP 8
+.B \-showconfig
+This is the same as the
+.B \-version
+option, and is included for compatibility reasons. It may be removed
+in a future release, so the
+.B \-version
+option should be used instead.
+.TP 8
+.BI \-weight " nnn"
+Set RGB weighting at 16 bpp. The default is 565. This applies only to
+those drivers which support 16 bpp.
+.TP 8
+.BR \-verbose " [\fIn\fP]"
+Sets the verbosity level for information printed on stderr. If the
+.I n
+value isn't supplied, each occurrence of this option increments the
+verbosity level. When the
+.I n
+value is supplied, the verbosity level is set to that value. The default
+verbosity level is 0.
+.TP 8
+.B \-version
+Print out the server version, patchlevel, release date, the operating
+system/platform it was built on, and whether it includes module loader
+support.
+.TP 8
+.BI \-config " file"
+Read the server configuration from
+.IR 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.
+.SH "KEYBOARD"
+.PP
+The
+.B __xservername__
+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.
+.PP
+For more information about when the builtin event handler
+is used to recognize the special key combinations, see
+the documentation on the
+.B HandleSpecialKeys
+option in the __xconfigfile__(__filemansuffix__) man page.
+.PP
+The special combinations of key presses recognized directly
+by
+.B __xservername__
+are:
+.TP 8
+.B Ctrl+Alt+Backspace
+Immediately kills the server -- no questions asked. This can be disabled
+with the
+.B DontZap
+__xconfigfile__(__filemansuffix__) file option.
+.TP 8
+.B Ctrl+Alt+Keypad-Plus
+Change video mode to next one specified in the configuration file.
+This can be disabled with the
+.B DontZoom
+__xconfigfile__(__filemansuffix__) file option.
+.TP 8
+.B Ctrl+Alt+Keypad-Minus
+Change video mode to previous one specified in the configuration file.
+This can be disabled with the
+.B DontZoom
+__xconfigfile__(__filemansuffix__) file option.
+.TP 8
+.B Ctrl+Alt+Keypad-Multiply
+Not treated specially by default. If the
+.B AllowClosedownGrabs
+__xconfigfile__(__filemansuffix__) 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(__libmansuffix__) Xlib function.
+.TP 8
+.B Ctrl+Alt+Keypad-Divide
+Not treated specially by default. If the
+.B AllowDeactivateGrabs
+__xconfigfile__(__filemansuffix__) file option is specified, this key sequence
+deactivates any active keyboard and mouse grabs.
+.TP 8
+.B 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
+.B DontVTSwitch
+__xconfigfile__(__filemansuffix__) file option.
+.SH CONFIGURATION
+.B __xservername__
+typically uses a configuration file called
+.B __xconfigfile__
+for its initial setup.
+Refer to the __xconfigfile__(__filemansuffix__) manual page for information
+about the format of this file.
+.PP
+Starting with version 4.4,
+.B __xservername__
+has a mechanism for automatically generating a built-in configuration
+at run-time when no
+.B __xconfigfile__
+file is present. The current version of this automatic configuration
+mechanism works in three ways.
+.PP
+The first is via enhancements that have made many components of the
+.B __xconfigfile__
+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.
+.PP
+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.
+.PP
+The third is to have "safe" fallbacks for most configuration information.
+This maximises the likelihood that the
+.B __xservername__
+server will start up in some usable configuration even when information
+about the specific hardware is not available.
+.PP
+The automatic configuration support for __xservername__ is work in progress.
+It is currently aimed at the most popular hardware and software platforms
+supported by __xservername__. Enhancements are planned for future releases.
+.SH FILES
+The
+.B __xservername__
+server config file can be found in a range of locations. These are
+documented fully in the __xconfigfile__(__filemansuffix__) manual page. The
+most commonly used locations are shown here.
+.TP 30
+.B /etc/X11/__xconfigfile__
+Server configuration file.
+.TP 30
+.B /etc/X11/__xconfigfile__-4
+Server configuration file.
+.TP 30
+.B /etc/__xconfigfile__
+Server configuration file.
+.TP 30
+.B __projectroot__/etc/__xconfigfile__
+Server configuration file.
+.TP 30
+.B __projectroot__/lib/X11/__xconfigfile__
+Server configuration file.
+.TP 30
+.BI __logdir__/__xservername__. n .log
+Server log file for display
+.IR n .
+.TP 30
+.B __projectroot__/bin/\(**
+Client binaries.
+.TP 30
+.B __projectroot__/include/\(**
+Header files.
+.TP 30
+.B __projectroot__/lib/\(**
+Libraries.
+.TP 30
+.B __projectroot__/lib/X11/fonts/\(**
+Fonts.
+.TP 30
+.B __projectroot__/lib/X11/rgb.txt
+Color names to RGB mapping.
+.TP 30
+.B __projectroot__/lib/X11/XErrorDB
+Client error message database.
+.TP 30
+.B __projectroot__/lib/X11/app-defaults/\(**
+Client resource specifications.
+.TP 30
+.B __projectroot__/man/man?/\(**
+Manual pages.
+.TP 30
+.BI /etc/X n .hosts
+Initial access control list for display
+.IR n .
+.SH "SEE ALSO"
+X(__miscmansuffix__), Xserver(__appmansuffix__), xdm(__appmansuffix__), xinit(__appmansuffix__),
+__xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), xorgcfg(__appmansuffix__), xvidtune(__appmansuffix__),
+apm(__drivermansuffix__),
+ati(__drivermansuffix__),
+chips(__drivermansuffix__),
+cirrus(__drivermansuffix__),
+cyrix(__drivermansuffix__),
+fbdev(__drivermansuffix__),
+glide(__drivermansuffix__),
+glint(__drivermansuffix__),
+i128(__drivermansuffix__),
+i740(__drivermansuffix__),
+i810(__drivermansuffix__),
+imstt(__drivermansuffix__),
+mga(__drivermansuffix__),
+neomagic(__drivermansuffix__),
+nsc(__drivermansuffix__),
+nv(__drivermansuffix__),
+r128(__drivermansuffix__),
+rendition(__drivermansuffix__),
+s3virge(__drivermansuffix__),
+siliconmotion(__drivermansuffix__),
+sis(__drivermansuffix__),
+sunbw2(__drivermansuffix__),
+suncg14(__drivermansuffix__),
+suncg3(__drivermansuffix__),
+suncg6(__drivermansuffix__),
+sunffb(__drivermansuffix__),
+sunleo(__drivermansuffix__),
+suntcx(__drivermansuffix__),
+tdfx(__drivermansuffix__),
+tga(__drivermansuffix__),
+trident(__drivermansuffix__),
+tseng(__drivermansuffix__),
+v4l(__drivermansuffix__),
+vesa(__drivermansuffix__),
+vga(__drivermansuffix__),
+vmware(__drivermansuffix__),
+.br
+Web site
+.IR <http://www.x.org> .
+
+.SH AUTHORS
+__xservername__ 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.
+.PP
+__xservername__ was originally based on XFree86 4.4rc2.
+That was originally based on \fIX386 1.2\fP by Thomas Roell, which
+was contributed to the then X Consortium's X11R5 distribution by SGCS.
+.PP
+__xservername__ is released by the X.org Foundation.
+.PP
+The project that became XFree86 was originally founded in 1992 by
+David Dawes, Glenn Lai, Jim Tsillas and David Wexelblat.
+.PP
+XFree86 was later integrated in the then X Consortium's X11R6 release
+by a group of dedicated XFree86 developers, including the following:
+.PP
+.RS 4
+.nf
+Stuart Anderson \fIanderson@metrolink.com\fP
+Doug Anson \fIdanson@lgc.com\fP
+Gertjan Akkerman \fIakkerman@dutiba.twi.tudelft.nl\fP
+Mike Bernson \fImike@mbsun.mlb.org\fP
+Robin Cutshaw \fIrobin@XFree86.org\fP
+David Dawes \fIdawes@XFree86.org\fP
+Marc Evans \fImarc@XFree86.org\fP
+Pascal Haible \fIhaible@izfm.uni-stuttgart.de\fP
+Matthieu Herrb \fIMatthieu.Herrb@laas.fr\fP
+Dirk Hohndel \fIhohndel@XFree86.org\fP
+David Holland \fIdavidh@use.com\fP
+Alan Hourihane \fIalanh@fairlite.demon.co.uk\fP
+Jeffrey Hsu \fIhsu@soda.berkeley.edu\fP
+Glenn Lai \fIglenn@cs.utexas.edu\fP
+Ted Lemon \fImellon@ncd.com\fP
+Rich Murphey \fIrich@XFree86.org\fP
+Hans Nasten \fInasten@everyware.se\fP
+Mark Snitily \fImark@sgcs.com\fP
+Randy Terbush \fIrandyt@cse.unl.edu\fP
+Jon Tombs \fItombs@XFree86.org\fP
+Kees Verstoep \fIversto@cs.vu.nl\fP
+Paul Vixie \fIpaul@vix.com\fP
+Mark Weaver \fIMark_Weaver@brown.edu\fP
+David Wexelblat \fIdwex@XFree86.org\fP
+Philip Wheatley \fIPhilip.Wheatley@ColumbiaSC.NCR.COM\fP
+Thomas Wolfram \fIwolf@prz.tu-berlin.de\fP
+Orest Zborowski \fIorestz@eskimo.com\fP
+.fi
+.RE
+.PP
+__xservername__ source is available from the FTP server
+\fI<ftp://ftp.x.org/>\fP, and from the X.org
+server \fI<http://www.freedesktop.org/cvs/>\fP. Documentation and other
+information can be found from the X.org web site
+\fI<http://www.x.org/>\fP.
+
+.SH LEGAL
+.PP
+.B __xservername__
+is copyright software, provided under licenses that permit modification
+and redistribution in source and binary form without fee.
+.B __xservername__ is copyright by numerous authors and
+contributors from around the world. Licensing information can be found
+at
+.IR <http://www.x.org> .
+Refer to the source code for specific copyright notices.
+.PP
+.B XFree86(TM)
+is a trademark of The XFree86 Project, Inc.
+.PP
+.B X11(TM)
+and
+.B X Window System(TM)
+are trademarks of The Open Group.
diff --git a/hw/xfree86/doc/man/xorg.conf.man.pre b/hw/xfree86/doc/man/xorg.conf.man.pre
new file mode 100644
index 000000000..e530991e8
--- /dev/null
+++ b/hw/xfree86/doc/man/xorg.conf.man.pre
@@ -0,0 +1,1872 @@
+.\" $XdotOrg: xc/programs/Xserver/hw/xfree86/xorg.conf.man,v 1.1.2.1 2004/03/27 17:01:11 keithp Exp $
+.\" shorthand for double quote that works everywhere.
+.ds q \N'34'
+.TH __xconfigfile__ __filemansuffix__ __vendorversion__
+.SH NAME
+__xconfigfile__ - Configuration File for __xservername__
+.SH INTRODUCTION
+.B __xservername__
+supports several mechanisms for supplying/obtaining configuration and
+run-time parameters: command line options, environment variables, the
+__xconfigfile__ 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 in the Xserver(__appmansuffix__)
+and __xservername__(__appmansuffix__) manual pages. Most configuration file parameters, with
+their defaults, are described below. Driver and module specific
+configuration parameters are described in the relevant driver or module
+manual page.
+.SH DESCRIPTION
+.B __xservername__
+uses a configuration file called
+.B __xconfigfile__
+for its initial setup. This configuration file is searched for in the
+following places when the server is started as a normal user:
+.PP
+.RS 4
+.nf
+.IR /etc/X11/ <cmdline>
+.IR __projectroot__/etc/X11/ <cmdline>
+.IB /etc/X11/ $XORGCONFIG
+.IB __projectroot__/etc/X11/ $XORGCONFIG
+.I /etc/X11/__xconfigfile__-4
+.I /etc/X11/__xconfigfile__
+.I /etc/__xconfigfile__
+.IR __projectroot__/etc/X11/__xconfigfile__. <hostname>
+.I __projectroot__/etc/X11/__xconfigfile__-4
+.I __projectroot__/etc/X11/__xconfigfile__
+.IR __projectroot__/lib/X11/__xconfigfile__. <hostname>
+.I __projectroot__/lib/X11/__xconfigfile__-4
+.I __projectroot__/lib/X11/__xconfigfile__
+.fi
+.RE
+.PP
+where
+.I <cmdline>
+is a relative path (with no ".." components) specified with the
+.B \-config
+command line option,
+.B $XORGCONFIG
+is the relative path (with no ".." components) specified by that
+environment variable, and
+.I <hostname>
+is the machine's hostname as reported by gethostname(3).
+.PP
+When the __xservername__ server is started by the "root" user, the config file
+search locations are as follows:
+.PP
+.RS 4
+.nf
+<cmdline>
+.IR /etc/X11/ <cmdline>
+.IR __projectroot__/etc/X11/ <cmdline>
+.B $XORGCONFIG
+.IB /etc/X11/ $XORGCONFIG
+.IB __projectroot__/etc/X11/ $XORGCONFIG
+.BI $HOME /__xconfigfile__
+.I /etc/X11/__xconfigfile__-4
+.I /etc/X11/__xconfigfile__
+.I /etc/__xconfigfile__
+.IR __projectroot__/etc/X11/__xconfigfile__. <hostname>
+.I __projectroot__/etc/X11/__xconfigfile__-4
+.I __projectroot__/etc/X11/__xconfigfile__
+.IR __projectroot__/lib/X11/__xconfigfile__. <hostname>
+.I __projectroot__/lib/X11/__xconfigfile__-4
+.I __projectroot__/lib/X11/__xconfigfile__
+.fi
+.RE
+.PP
+where
+.I <cmdline>
+is the path specified with the
+.B \-config
+command line option (which may be absolute or relative),
+.B $XORGCONFIG
+is the path specified by that
+environment variable (absolute or relative),
+.B $HOME
+is the path specified by that environment variable (usually the home
+directory), and
+.I <hostname>
+is the machine's hostname as reported by gethostname(3).
+.PP
+The
+.B __xconfigfile__
+file is composed of a number of sections which may be present in any
+order. Each section has
+the form:
+.PP
+.RS 4
+.nf
+.BI "Section \*q" SectionName \*q
+.RI " " SectionEntry
+ ...
+.B EndSection
+.fi
+.RE
+.PP
+The section names are:
+.PP
+.RS 4
+.nf
+.BR "Files " "File pathnames"
+.BR "ServerFlags " "Server flags"
+.BR "Module " "Dynamic module loading"
+.BR "InputDevice " "Input device description"
+.BR "Device " "Graphics device description"
+.BR "VideoAdaptor " "Xv video adaptor description"
+.BR "Monitor " "Monitor description"
+.BR "Modes " "Video modes descriptions"
+.BR "Screen " "Screen configuration"
+.BR "ServerLayout " "Overall layout"
+.BR "DRI " "DRI-specific configuration"
+.BR "Vendor " "Vendor-specific configuration"
+.fi
+.RE
+.PP
+The following obsolete section names are still recognised for compatibility
+purposes. In new config files, the
+.B InputDevice
+section should be used instead.
+.PP
+.RS 4
+.nf
+.BR "Keyboard " "Keyboard configuration"
+.BR "Pointer " "Pointer/mouse configuration"
+.fi
+.RE
+.PP
+The old
+.B XInput
+section is no longer recognised.
+.PP
+The
+.B ServerLayout
+sections are at the highest level. They bind together the input and
+output devices that will be used in a session. The input devices
+are described in the
+.B InputDevice
+sections. Output devices usually consist of multiple independent
+components (e.g., and graphics board and a monitor). These multiple
+components are bound together in the
+.B Screen
+sections, and it is these that are referenced by the
+.B ServerLayout
+section. Each
+.B Screen
+section binds together a graphics board and a monitor. The graphics
+boards are described in the
+.B Device
+sections, and the monitors are described in the
+.B Monitor
+sections.
+.PP
+Config file keywords are case-insensitive, and "_" characters are
+ignored. Most strings (including
+.B Option
+names) are also case-insensitive, and insensitive to white space and
+"_" characters.
+.PP
+Each config file entry usually takes up a single line in the file.
+They consist of a keyword, which is possibly followed by one or
+more arguments, with the number and types of the arguments depending
+on the keyword. The argument types are:
+.PP
+.RS 4
+.nf
+.BR "Integer " "an integer number in decimal, hex or octal"
+.BR "Real " "a floating point number"
+.BR "String " "a string enclosed in double quote marks (\*q)"
+.fi
+.RE
+.PP
+Note: hex integer values must be prefixed with "0x", and octal values
+with "0".
+.PP
+A special keyword called
+.B Option
+may be used to provide free-form data to various components of the server.
+The
+.B Option
+keyword takes either one or two string arguments. The first is the option
+name, and the optional second argument is the option value. Some commonly
+used option value types include:
+.PP
+.RS 4
+.nf
+.BR "Integer " "an integer number in decimal, hex or octal"
+.BR "Real " "a floating point number"
+.BR "String " "a sequence of characters"
+.BR "Boolean " "a boolean value (see below)"
+.BR "Frequency " "a frequency value (see below)"
+.fi
+.RE
+.PP
+Note that
+.I all
+.B Option
+values, not just strings, must be enclosed in quotes.
+.PP
+Boolean options may optionally have a value specified. When no value
+is specified, the option's value is
+.BR TRUE .
+The following boolean option values are recognised as
+.BR TRUE :
+.PP
+.RS 4
+.BR 1 ,
+.BR on ,
+.BR true ,
+.B yes
+.RE
+.PP
+and the following boolean option values are recognised as
+.BR FALSE :
+.PP
+.RS 4
+.BR 0 ,
+.BR off ,
+.BR false ,
+.B no
+.RE
+.PP
+If an option name is prefixed with
+.RB \*q No \*q,
+then the option value is negated.
+.PP
+Example: the following option entries are equivalent:
+.PP
+.RS 4
+.nf
+.B "Option \*qAccel\*q \*qOff\*q"
+.B "Option \*qNoAccel\*q"
+.B "Option \*qNoAccel\*q \*qOn\*q"
+.B "Option \*qAccel\*q \*qfalse\*q"
+.B "Option \*qAccel\*q \*qno\*q"
+.fi
+.RE
+.PP
+Frequency option values consist of a real number that is optionally
+followed by one of the following frequency units:
+.PP
+.RS 4
+.BR Hz ,
+.BR k ,
+.BR kHz ,
+.BR M ,
+.B MHz
+.RE
+.PP
+When the unit name is omitted, the correct units will be determined from
+the value and the expectations of the appropriate range of the value.
+It is recommended that the units always be specified when using frequency
+option values to avoid any errors in determining the value.
+.SH FILES SECTION
+The
+.B Files
+section is used to specify some path names required by the server.
+Some of these paths can also be set from the command line (see Xserver(__appmansuffix__)
+and __xservername__(__appmansuffix__)). The command line settings override the values specified
+in the config file. The
+.B Files
+section is optional, as are all of the entries that may appear in it.
+.PP
+The entries that can appear in this section are:
+.TP 7
+.BI "FontPath \*q" path \*q
+sets the search path for fonts. This path is a comma separated list of
+font path elements which the __xservername__ server searches for font databases.
+Multiple
+.B FontPath
+entries may be specified, and they will be concatenated to build up the
+fontpath used by the server. Font path elements may be either absolute
+directory paths, or a font server identifier. Font server identifiers
+have the form:
+.PP
+.RS 11
+.IR <trans> / <hostname> : <port-number>
+.RE
+.PP
+.RS 7
+where
+.I <trans>
+is the transport type to use to connect to the font server (e.g.,
+.B unix
+for UNIX-domain sockets or
+.B tcp
+for a TCP/IP connection),
+.I <hostname>
+is the hostname of the machine running the font server, and
+.I <port-number>
+is the port number that the font server is listening on (usually 7100).
+.PP
+When this entry is not specified in the config file, the server falls back
+to the compiled-in default font path, which contains the following
+font path elements:
+.PP
+.RS 4
+.nf
+.I __projectroot__/lib/X11/fonts/misc/
+.I __projectroot__/lib/X11/fonts/Speedo/
+.I __projectroot__/lib/X11/fonts/Type1/
+.I __projectroot__/lib/X11/fonts/CID/
+.I __projectroot__/lib/X11/fonts/75dpi/
+.I __projectroot__/lib/X11/fonts/100dpi/
+.fi
+.RE
+.PP
+The recommended font path contains the following font path elements:
+.PP
+.RS 4
+.nf
+.I __projectroot__/lib/X11/fonts/local/
+.I __projectroot__/lib/X11/fonts/misc/
+.I __projectroot__/lib/X11/fonts/75dpi/:unscaled
+.I __projectroot__/lib/X11/fonts/100dpi/:unscaled
+.I __projectroot__/lib/X11/fonts/Type1/
+.I __projectroot__/lib/X11/fonts/CID/
+.I __projectroot__/lib/X11/fonts/Speedo/
+.I __projectroot__/lib/X11/fonts/75dpi/
+.I __projectroot__/lib/X11/fonts/100dpi/
+.fi
+.RE
+.PP
+Font path elements that are found to be invalid are removed from the
+font path when the server starts up.
+.RE
+.TP 7
+.BI "RGBPath \*q" path \*q
+sets the path name for the RGB color database.
+When this entry is not specified in the config file, the server falls back
+to the compiled-in default RGB path, which is:
+.PP
+.RS 11
+.I __projectroot__/lib/X11/rgb
+.RE
+.PP
+Note that an implicit
+.I .txt
+is added to this path if the server was compiled to use text rather than
+binary format RGB color databases.
+.TP 7
+.BI "ModulePath \*q" path \*q
+sets the search path for loadable __xservername__ server modules. This path is
+a comma separated list of directories which the __xservername__ server searches
+for loadable modules loading in the order specified. Multiple
+.B ModulePath
+entries may be specified, and they will be concatenated to build the
+module search path used by the server.
+.\" The LogFile keyword is not currently implemented
+.ig
+.TP 7
+.BI "LogFile \*q" path \*q
+sets the name of the __xservername__ server log file. The default log file name
+is
+.PP
+.RS 11
+.RI __logdir__/__xservername__. <n> .log
+.RE
+.PP
+.RS 7
+where
+.I <n>
+is the display number for the __xservername__ server.
+..
+.SH SERVERFLAGS SECTION
+The
+.B ServerFlags
+section is used to specify some global
+__xservername__ server options. All of the entries in this section are
+.BR Options ,
+although for compatibility purposes some of the old style entries are
+still recognised. Those old style entries are not documented here, and
+using them is discouraged. The
+.B ServerFlags
+section is optional, as are the entries that may be specified in it.
+.PP
+.B Options
+specified in this section (with the exception of the
+.B \*qDefaultServerLayout\*q
+.BR Option )
+may be overridden by
+.B Options
+specified in the active
+.B ServerLayout
+section. Options with command line equivalents are overridden when their
+command line equivalent is used. The options recognised by this section
+are:
+.TP 7
+.BI "Option \*qDefaultServerLayout\*q \*q" layout-id \*q
+This specifies the default
+.B ServerLayout
+section to use in the absence of the
+.B \-layout
+command line option.
+.TP 7
+.BI "Option \*qNoTrapSignals\*q \*q" boolean \*q
+This prevents the __xservername__ server from trapping a range of unexpected
+fatal signals and exiting cleanly. Instead, the __xservername__ server will die
+and drop core where the fault occurred. The default behaviour is
+for the __xservername__ server to exit cleanly, but still drop a core file. In
+general you never want to use this option unless you are debugging
+an __xservername__ server problem and know how to deal with the consequences.
+.TP 7
+.BI "Option \*qDontVTSwitch\*q \*q" boolean \*q
+This disallows the use of the
+.BI Ctrl+Alt+F n
+sequence (where
+.RI F n
+refers to one of the numbered function keys). That sequence is normally
+used to switch to another \*qvirtual terminal\*q on operating systems
+that have this feature. When this option is enabled, that key sequence has
+no special meaning and is passed to clients. Default: off.
+.TP 7
+.BI "Option \*qDontZap\*q \*q" boolean \*q
+This disallows the use of the
+.B Ctrl+Alt+Backspace
+sequence. That sequence is normally used to terminate the __xservername__ server.
+When this option is enabled, that key sequence has no special meaning
+and is passed to clients. Default: off.
+.TP 7
+.BI "Option \*qDontZoom\*q \*q" boolean \*q
+This disallows the use of the
+.B Ctrl+Alt+Keypad-Plus
+and
+.B Ctrl+Alt+Keypad-Minus
+sequences. These sequences allows you to switch between video modes.
+When this option is enabled, those key sequences have no special meaning
+and are passed to clients. Default: off.
+.TP 7
+.BI "Option \*qDisableVidModeExtension\*q \*q" boolean \*q
+This disables the parts of the VidMode extension used by the xvidtune client
+that can be used to change the video modes. Default: the VidMode extension
+is enabled.
+.TP 7
+.BI "Option \*qAllowNonLocalXvidtune\*q \*q" boolean \*q
+This allows the xvidtune client (and other clients that use the VidMode
+extension) to connect from another host. Default: off.
+.TP 7
+.BI "Option \*qDisableModInDev\*q \*q" boolean \*q
+This disables the parts of the __xservername__-Misc extension that can be used to
+modify the input device settings dynamically. Default: that functionality
+is enabled.
+.TP 7
+.BI "Option \*qAllowNonLocalModInDev\*q \*q" boolean \*q
+This allows a client to connect from another host and change keyboard
+and mouse settings in the running server. Default: off.
+.TP 7
+.BI "Option \*qAllowMouseOpenFail\*q \*q" boolean \*q
+This allows the server to start up even if the mouse device can't be
+opened/initialised. Default: false.
+.TP 7
+.BI "Option \*qVTInit\*q \*q" command \*q
+Runs
+.I command
+after the VT used by the server has been opened.
+The command string is passed to "/bin/sh -c", and is run with the
+real user's id with stdin and stdout set to the VT. The purpose
+of this option is to allow system dependent VT initialisation
+commands to be run. This option should rarely be needed. Default: not set.
+.TP 7
+.BI "Option \*qVTSysReq\*q \*q" boolean \*q
+enables the SYSV-style VT switch sequence for non-SYSV systems
+which support VT switching. This sequence is
+.B Alt-SysRq
+followed
+by a function key
+.RB ( Fn ).
+This prevents the __xservername__ server trapping the
+keys used for the default VT switch sequence, which means that clients can
+access them. Default: off.
+.TP 7
+.BI "Option \*qXkbDisable\*q \*q" boolean \*q
+disable/enable the XKEYBOARD extension. The \-kb command line
+option overrides this config file option. Default: XKB is enabled.
+.\" The following four options are "undocumented".
+.ig
+.TP 7
+.BI "Option \*qPciProbe1\*q"
+Use PCI probe method 1. Default: set.
+.TP 7
+.BI "Option \*qPciProbe2\*q"
+Use PCI probe method 2. Default: not set.
+.TP 7
+.BI "Option \*qPciForceConfig1\*q"
+Force the use PCI config type 1. Default: not set.
+.TP 7
+.BI "Option \*qPciForceConfig2\*q"
+Force the use PCI config type 2. Default: not set.
+..
+.TP 7
+.BI "Option \*qBlankTime\*q \*q" time \*q
+sets the inactivity timeout for the blanking phase of the screensaver.
+.I time
+is in minutes. This is equivalent to the __xservername__ server's `-s' flag,
+and the value can be changed at run-time with xset(__appmansuffix__). Default: 10
+minutes.
+.TP 7
+.BI "Option \*qStandbyTime\*q \*q" time \*q
+sets the inactivity timeout for the "standby" phase of DPMS mode.
+.I time
+is in minutes, and the value can be changed at run-time with xset(__appmansuffix__).
+Default: 20 minutes. This is only suitable for VESA DPMS compatible
+monitors, and may not be supported by all video drivers. It is only
+enabled for screens that have the
+.B \*qDPMS\*q
+option set (see the MONITOR section below).
+.TP 7
+.BI "Option \*qSuspendTime\*q \*q" time \*q
+sets the inactivity timeout for the "suspend" phase of DPMS mode.
+.I time
+is in minutes, and the value can be changed at run-time with xset(__appmansuffix__).
+Default: 30 minutes. This is only suitable for VESA DPMS compatible
+monitors, and may not be supported by all video drivers. It is only
+enabled for screens that have the
+.B \*qDPMS\*q
+option set (see the MONITOR section below).
+.TP 7
+.BI "Option \*qOffTime\*q \*q" time \*q
+sets the inactivity timeout for the "off" phase of DPMS mode.
+.I time
+is in minutes, and the value can be changed at run-time with xset(__appmansuffix__).
+Default: 40 minutes. This is only suitable for VESA DPMS compatible
+monitors, and may not be supported by all video drivers. It is only
+enabled for screens that have the
+.B \*qDPMS\*q
+option set (see the MONITOR section below).
+.TP 7
+.BI "Option \*qPixmap\*q \*q" bpp \*q
+This sets the pixmap format to use for depth 24. Allowed values for
+.I bpp
+are 24 and 32. Default: 32 unless driver constraints don't allow this
+(which is rare). Note: some clients don't behave well when this value
+is set to 24.
+.TP 7
+.BI "Option \*qPC98\*q \*q" boolean \*q
+Specify that the machine is a Japanese PC-98 machine. This should not
+be enabled for anything other than the Japanese-specific PC-98
+architecture. Default: auto-detected.
+.\" Doubt this should be documented.
+.ig
+.TP 7
+.BI "Option \*qEstimateSizesAggressively\*q \*q" value \*q
+This option affects the way that bus resource sizes are estimated.
+Default: 0.
+..
+.TP 7
+.BI "Option \*qNoPM\*q \*q" boolean \*q
+Disables something to do with power management events. Default: PM
+enabled on platforms that support it.
+.TP 7
+.BI "Option \*qXinerama\*q \*q" boolean \*q
+enable or disable XINERAMA extension. Default is disabled.
+.TP 7
+.BI "Option \*qAllowDeactivateGrabs\*q \*q" boolean \*q
+This option enables the use of the
+.B Ctrl+Alt+Keypad-Divide
+key sequence to deactivate any active keyboard and mouse grabs. Default:
+off.
+.TP 7
+.BI "Option \*qAllowClosedownGrabs\*q \*q" boolean \*q
+This option enables the use of the
+.B Ctrl+Alt+Keypad-Multiply
+key sequence to kill clients with an active keyboard or mouse grab as
+well as killing any application that may have locked the server, normally
+using the XGrabServer(__libmansuffix__) Xlib function. Default: off.
+.br
+Note that the options
+.BI AllowDeactivateGrabs
+and
+.BI AllowClosedownGrabs
+will allow users to remove the grab used by screen saver/locker programs.
+An API was written to such cases. If you enable this option, make sure
+your screen saver/locker is updated.
+.TP 7
+.BI "Option \*qHandleSpecialKeys\*q \*q" when \*q
+This option controls when the server uses the builtin handler to process
+special key combinations (such as
+.BR Ctrl+Alt+Backspace ).
+Normally the XKEYBOARD extension keymaps will provide mappings for each
+of the special key combinations, so the builtin handler is not needed
+unless the XKEYBOARD extension is disabled. The value of
+.I when
+can be
+.BR Always ,
+.BR Never ,
+or
+.BR WhenNeeded .
+Default: Use the builtin handler only if needed. The server will scan
+the keymap for a mapping to the
+.B Terminate
+action and, if found, use XKEYBOARD for processing actions, otherwise
+the builtin handler will be used.
+.SH MODULE SECTION
+The
+.B Module
+section is used to specify which __xservername__ server modules should be loaded.
+This section is ignored when the __xservername__ server is built in static form.
+The types of modules normally loaded in this section are __xservername__ server
+extension modules, and font rasteriser modules. Most other module types
+are loaded automatically when they are needed via other mechanisms.
+The
+.B Module
+section is optional, as are all of the entries that may be specified in
+it.
+.PP
+Entries in this section may be in two forms. The first and most commonly
+used form is an entry that uses the
+.B Load
+keyword, as described here:
+.TP 7
+.BI "Load \*q" modulename \*q
+This instructs the server to load the module called
+.IR modulename .
+The module name given should be the module's standard name, not the
+module file name. The standard name is case-sensitive, and does not
+include the "lib" prefix, or the ".a", ".o", or ".so" suffixes.
+.PP
+.RS 7
+Example: the Type 1 font rasteriser can be loaded with the following entry:
+.PP
+.RS 4
+.B "Load \*qtype1\*q"
+.RE
+.RE
+.PP
+The second form of entry is a
+.BR SubSection,
+with the subsection name being the module name, and the contents of the
+.B SubSection
+being
+.B Options
+that are passed to the module when it is loaded.
+.PP
+Example: the extmod module (which contains a miscellaneous group of
+server extensions) can be loaded, with the __xservername__-DGA extension
+disabled by using the following entry:
+.PP
+.RS 4
+.nf
+.B "SubSection \*qextmod\*q"
+.B " Option \*qomit XFree86-DGA\*q"
+.B EndSubSection
+.fi
+.RE
+.PP
+Modules are searched for in each directory specified in the
+.B ModulePath
+search path, and in the drivers, input, extensions, fonts, and
+internal subdirectories of each of those directories.
+In addition to this, operating system specific subdirectories of all
+the above are searched first if they exist.
+.PP
+To see what font and extension modules are available, check the contents
+of the following directories:
+.PP
+.RS 4
+.nf
+__projectroot__/lib/modules/fonts
+__projectroot__/lib/modules/extensions
+.fi
+.RE
+.PP
+The "bitmap" font modules is loaded automatically. It is recommended
+that at very least the "extmod" extension module be loaded. If it isn't
+some commonly used server extensions (like the SHAPE extension) will not be
+available.
+.SH INPUTDEVICE SECTION
+The config file may have multiple
+.B InputDevice
+sections. There will normally be at least two: one for the core (primary)
+keyboard, and one of the core pointer. If either of these two is missing,
+a default configuration for the missing ones will be used. Currently the
+default configuration may not work as expected on all platforms.
+.PP
+.B InputDevice
+sections have the following format:
+.PP
+.RS 4
+.nf
+.B "Section \*qInputDevice\*q"
+.BI " Identifier \*q" name \*q
+.BI " Driver \*q" inputdriver \*q
+.I " options"
+.I " ..."
+.B "EndSection"
+.fi
+.RE
+.PP
+The
+.B Identifier
+and
+.B Driver
+entries are required in all
+.B InputDevice
+sections. All other entries are optional.
+.PP
+The
+.B Identifier
+entry specifies the unique name for this input device. The
+.B Driver
+entry specifies the name of the driver to use for this input device.
+When using the loadable server, the input driver module
+.RI \*q inputdriver \*q
+will be loaded for each active
+.B InputDevice
+section. An
+.B InputDevice
+section is considered active if it is referenced by an active
+.B ServerLayout
+section, if it is referenced by the
+.B \-keyboard
+or
+.B \-pointer
+command line options, or if it is selected implicitly as the core pointer
+or keyboard device in the absence of such explicit references.
+The most commonly used input drivers are "keyboard" and "mouse".
+.PP
+In the absence of an explicitly specified core input device, the first
+.B InputDevice
+marked as
+.B CorePointer
+(or
+.BR CoreKeyboard )
+is used. If there is no match there, the first
+.B InputDevice
+that uses the "mouse" (or "keyboard" or "kbd") driver is used. The final
+fallback is to use built-in default configurations.
+.PP
+.B InputDevice
+sections recognise some driver-independent
+.BR Options ,
+which are described here. See the individual input driver manual pages
+for a description of the device-specific options.
+.TP 7
+.BI "Option \*qCorePointer\*q"
+When this is set, the input device is installed as the core (primary)
+pointer device. There must be exactly one core pointer. If this option
+is not set here, or in the
+.B ServerLayout
+section, or from the
+.B \-pointer
+command line option, then the first input device that is capable of
+being used as a core pointer will be selected as the core pointer.
+This option is implicitly set when the obsolete
+.B Pointer
+section is used.
+.TP 7
+.BI "Option \*qCoreKeyboard\*q"
+When this is set, the input device is to be installed as the core
+(primary) keyboard device. There must be exactly one core keyboard. If
+this option is not set here, in the
+.B ServerLayout
+section, or from the
+.B \-keyboard
+command line option, then the first input device that is capable of
+being used as a core keyboard will be selected as the core keyboard.
+This option is implicitly set when the obsolete
+.B Keyboard
+section is used.
+.TP 7
+.BI "Option \*qAlwaysCore\*q \*q" boolean \*q
+.TP 7
+.BI "Option \*qSendCoreEvents\*q \*q" boolean \*q
+Both of these options are equivalent, and when enabled cause the
+input device to always report core events. This can be used, for
+example, to allow an additional pointer device to generate core
+pointer events (like moving the cursor, etc).
+.TP 4
+.BI "Option \*qHistorySize\*q \*q" number \*q
+Sets the motion history size. Default: 0.
+.TP 7
+.BI "Option \*qSendDragEvents\*q \*q" boolean \*q
+???
+.SH DEVICE SECTION
+The config file may have multiple
+.B Device
+sections. There must be at least one, for the video card being used.
+.PP
+.B Device
+sections have the following format:
+.PP
+.RS 4
+.nf
+.B "Section \*qDevice\*q"
+.BI " Identifier \*q" name \*q
+.BI " Driver \*q" driver \*q
+.I " entries"
+.I " ..."
+.B "EndSection"
+.fi
+.RE
+.PP
+The
+.B Identifier
+and
+.B Driver
+entries are required in all
+.B Device
+sections. All other entries are optional.
+.PP
+The
+.B Identifier
+entry specifies the unique name for this graphics device. The
+.B Driver
+entry specifies the name of the driver to use for this graphics device.
+When using the loadable server, the driver module
+.RI \*q driver \*q
+will be loaded for each active
+.B Device
+section. A
+.B Device
+section is considered active if it is referenced by an active
+.B Screen
+section.
+.PP
+.B Device
+sections recognise some driver-independent entries and
+.BR Options ,
+which are described here. Not all drivers make use of these
+driver-independent entries, and many of those that do don't require them
+to be specified because the information is auto-detected. See the
+individual graphics driver manual pages for further information about
+this, and for a description of the device-specific options.
+Note that most of the
+.B Options
+listed here (but not the other entries) may be specified in the
+.B Screen
+section instead of here in the
+.B Device
+section.
+.TP 7
+.BI "BusID \*q" bus-id \*q
+This specifies the bus location of the graphics card. For PCI/AGP cards,
+the
+.I bus-id
+string has the form
+.BI PCI: bus : device : function
+(e.g., "PCI:1:0:0" might be appropriate for an AGP card).
+This field is usually optional in single-head configurations when using
+the primary graphics card. In multi-head configurations, or when using
+a secondary graphics card in a single-head configuration, this entry is
+mandatory. Its main purpose is to make an unambiguous connection between
+the device section and the hardware it is representing. This information
+can usually be found by running the __xservername__ server with the
+.B \-scanpci
+command line option.
+.TP 7
+.BI "Screen " number
+This option is mandatory for cards where a single PCI entity can drive more
+than one display (i.e., multiple CRTCs sharing a single graphics accelerator
+and video memory). One
+.B Device
+section is required for each head, and this
+parameter determines which head each of the
+.B Device
+sections applies to. The legal values of
+.I number
+range from 0 to one less than the total number of heads per entity.
+Most drivers require that the primary screen (0) be present.
+.TP 7
+.BI "Chipset \*q" chipset \*q
+This usually optional entry specifies the chipset used on the graphics
+board. In most cases this entry is not required because the drivers
+will probe the hardware to determine the chipset type. Don't
+specify it unless the driver-specific documentation recommends that you
+do.
+.TP 7
+.BI "Ramdac \*q" ramdac-type \*q
+This optional entry specifies the type of RAMDAC used on the graphics
+board. This is only used by a few of the drivers, and in most cases it
+is not required because the drivers will probe the hardware to determine
+the RAMDAC type where possible. Don't specify it unless the
+driver-specific documentation recommends that you do.
+.TP 7
+.BI "DacSpeed " speed
+.TP 7
+.BI "DacSpeed " "speed-8 speed-16 speed-24 speed-32"
+This optional entry specifies the RAMDAC speed rating (which is usually
+printed on the RAMDAC chip). The speed is in MHz. When one value is
+given, it applies to all framebuffer pixel sizes. When multiple values
+are give, they apply to the framebuffer pixel sizes 8, 16, 24 and 32
+respectively. This is not used by many drivers, and only needs to be
+specified when the speed rating of the RAMDAC is different from the
+defaults built in to driver, or when the driver can't auto-detect the
+correct defaults. Don't specify it unless the driver-specific
+documentation recommends that you do.
+.TP 7
+.BI "Clocks " "clock ..."
+specifies the pixel that are on your graphics board. The clocks are in
+MHz, and may be specified as a floating point number. The value is
+stored internally to the nearest kHz. The ordering of the clocks is
+important. It must match the order in which they are selected on the
+graphics board. Multiple
+.B Clocks
+lines may be specified, and each is concatenated to form the list. Most
+drivers do not use this entry, and it is only required for some older
+boards with non-programmable clocks. Don't specify this entry unless
+the driver-specific documentation explicitly recommends that you do.
+.TP
+.BI "ClockChip \*q" clockchip-type \*q
+This optional entry is used to specify the clock chip type on graphics
+boards which have a programmable clock generator. Only a few __xservername__
+drivers support programmable clock chips. For details, see the appropriate
+driver manual page.
+.TP 7
+.BI "VideoRam " "mem"
+This optional entry specifies the amount of video ram that is installed
+on the graphics board. This is measured in kBytes. In most cases this
+is not required because the __xservername__ server probes the graphics board to
+determine this quantity. The driver-specific documentation should
+indicate when it might be needed.
+.TP 7
+.BI "BiosBase " "baseaddress"
+This optional entry specifies the base address of the video BIOS for
+the VGA board. This address is normally auto-detected, and should only
+be specified if the driver-specific documentation recommends it.
+.TP 7
+.BI "MemBase " "baseaddress"
+This optional entry specifies the memory base address of a graphics
+board's linear frame buffer. This entry is not used by many drivers,
+and it should only be specified if the driver-specific documentation
+recommends it.
+.TP 7
+.BI "IOBase " "baseaddress"
+This optional entry specifies the IO base address. This entry is not
+used by many drivers, and it should only be specified if the
+driver-specific documentation recommends it.
+.TP 7
+.BI "ChipID " "id"
+This optional entry specifies a numerical ID representing the chip type.
+For PCI cards, it is usually the device ID. This can be used to override
+the auto-detection, but that should only be done when the driver-specific
+documentation recommends it.
+.TP 7
+.BI "ChipRev " "rev"
+This optional entry specifies the chip revision number. This can be
+used to override the auto-detection, but that should only be done when
+the driver-specific documentation recommends it.
+.TP 7
+.BI "TextClockFreq " "freq"
+This optional entry specifies the pixel clock frequency that is used
+for the regular text mode. The frequency is specified in MHz. This is
+rarely used.
+.ig
+.TP 7
+This optional entry allows an IRQ number to be specified.
+..
+.TP 7
+.B Options
+Option flags may be specified in the
+.B Device
+sections. These include driver-specific options and driver-independent
+options. The former are described in the driver-specific documentation.
+Some of the latter are described below in the section about the
+.B Screen
+section, and they may also be included here.
+
+.SH VIDEOADAPTOR SECTION
+Nobody wants to say how this works. Maybe nobody knows ...
+
+.SH MONITOR SECTION
+The config file may have multiple
+.B Monitor
+sections. There should normally be at least one, for the monitor being used,
+but a default configuration will be created when one isn't specified.
+.PP
+.B Monitor
+sections have the following format:
+.PP
+.RS 4
+.nf
+.B "Section \*qMonitor\*q"
+.BI " Identifier \*q" name \*q
+.I " entries"
+.I " ..."
+.B "EndSection"
+.fi
+.RE
+.PP
+The only mandatory entry in a
+.B Monitor
+section is the
+.B Identifier
+entry.
+.PP
+The
+.B Identifier
+entry specifies the unique name for this monitor. The
+.B Monitor
+section provides information about the specifications of the monitor,
+monitor-specific
+.BR Options ,
+and information about the video modes to use with the monitor. Specifying
+video modes is optional because the server now has a built-in list of
+VESA standard modes. When modes are specified explicitly in the
+.B Monitor
+section (with the
+.BR Modes ,
+.BR ModeLine ,
+or
+.B UseModes
+keywords), built-in modes with the same names are not included. Built-in
+modes with different names are, however, still implicitly included.
+.PP
+The entries that may be used in
+.B Monitor
+sections are described below.
+.TP 7
+.BI "VendorName \*q" vendor \*q
+This optional entry specifies the monitor's manufacturer.
+.TP 7
+.BI "ModelName \*q" model \*q
+This optional entry specifies the monitor's model.
+.TP 7
+.BI "HorizSync " "horizsync-range"
+gives the range(s) of horizontal sync frequencies supported by the
+monitor.
+.I horizsync-range
+may be a comma separated list of either discrete values or ranges of
+values. A range of values is two values separated by a dash. By default
+the values are in units of kHz. They may be specified in MHz or Hz if
+.B MHz
+or
+.B Hz
+is added to the end of the line. The data given here is used by the
+__xservername__ server to determine if video modes are within the specifications
+of the monitor. This information should be available in the monitor's
+handbook. If this entry is omitted, a default range of 28\-33kHz is
+used.
+.TP 7
+.BI "VertRefresh " "vertrefresh-range"
+gives the range(s) of vertical refresh frequencies supported by the
+monitor.
+.I vertrefresh-range
+may be a comma separated list of either discrete values or ranges of
+values. A range of values is two values separated by a dash. By default
+the values are in units of Hz. They may be specified in MHz or kHz if
+.B MHz
+or
+.B kHz
+is added to the end of the line. The data given here is used by the
+__xservername__ server to determine if video modes are within the specifications
+of the monitor. This information should be available in the monitor's
+handbook. If this entry is omitted, a default range of 43-72Hz is used.
+.TP 7
+.BI "DisplaySize " "width height"
+This optional entry gives the width and height, in millimetres, of the
+picture area of the monitor. If given this is used to calculate the
+horizontal and vertical pitch (DPI) of the screen.
+.TP 7
+.BI "Gamma " "gamma-value"
+.TP 7
+.BI "Gamma " "red-gamma green-gamma blue-gamma"
+This is an optional entry that can be used to specify the gamma correction
+for the monitor. It may be specified as either a single value or as
+three separate RGB values. The values should be in the range 0.1 to
+10.0, and the default is 1.0. Not all drivers are capable of using this
+information.
+.TP 7
+.BI "UseModes \*q" modesection-id \*q
+Include the set of modes listed in the
+.B Modes
+section called
+.IR modesection-id.
+This make all of the modes defined in that section available for use by
+this monitor.
+.TP 7
+.BI "Mode \*q" name \*q
+This is an optional multi-line entry that can be used to provide
+definitions for video modes for the monitor. In most cases this isn't
+necessary because the built-in set of VESA standard modes will be
+sufficient. The
+.B Mode
+keyword indicates the start of a multi-line video mode description.
+The mode description is terminated with the
+.B EndMode
+keyword. The mode description consists of the following entries:
+.RS 7
+.TP 4
+.BI "DotClock " clock
+is the dot (pixel) clock rate to be used for the mode.
+.TP 4
+.BI "HTimings " "hdisp hsyncstart hsyncend htotal"
+specifies the horizontal timings for the mode.
+.TP 4
+.BI "VTimings " "vdisp vsyncstart vsyncend vtotal"
+specifies the vertical timings for the mode.
+.TP 4
+.BI "Flags \*q" flag \*q " ..."
+specifies an optional set of mode flags, each of which is a separate
+string in double quotes.
+.B \*qInterlace\*q
+indicates that the mode is interlaced.
+.B \*qDoubleScan\*q
+indicates a mode where each scanline is doubled.
+.B \*q+HSync\*q
+and
+.B \*q\-HSync\*q
+can be used to select the polarity of the HSync signal.
+.B \*q+VSync\*q
+and
+.B \*q\-VSync\*q
+can be used to select the polarity of the VSync signal.
+.B \*qComposite\*q
+can be used to specify composite sync on hardware where this is supported.
+Additionally, on some hardware,
+.B \*q+CSync\*q
+and
+.B \*q\-CSync\*q
+may be used to select the composite sync polarity.
+.TP 4
+.BI "HSkew " hskew
+specifies the number of pixels (towards the right edge of the screen)
+by which the display enable signal is to be skewed. Not all drivers
+use this information. This option might become necessary to override
+the default value supplied by the server (if any). "Roving" horizontal
+lines indicate this value needs to be increased. If the last few pixels
+on a scan line appear on the left of the screen, this value should be
+decreased.
+.TP 4
+.BI "VScan " vscan
+specifies the number of times each scanline is painted on the screen.
+Not all drivers use this information. Values less than 1 are treated
+as 1, which is the default. Generally, the
+.B \*qDoubleScan\*q
+.B Flag
+mentioned above doubles this value.
+.RE
+.TP 7
+.BI "ModeLine \*q" name \*q " mode-description"
+This entry is a more compact version of the
+.B Mode
+entry, and it also can be used to specify video modes for the monitor.
+is a single line format for specifying video modes. In most cases this
+isn't necessary because the built-in set of VESA standard modes will be
+sufficient.
+.PP
+.RS 7
+The
+.I mode-description
+is in four sections, the first three of which are mandatory. The first
+is the dot (pixel) clock. This is a single number specifying the pixel
+clock rate for the mode in MHz. The second section is a list of four
+numbers specifying the horizontal timings. These numbers are the
+.IR hdisp ,
+.IR hsyncstart ,
+.IR hsyncend ,
+and
+.I htotal
+values. The third section is a list of four numbers specifying the
+vertical timings. These numbers are the
+.IR vdisp ,
+.IR vsyncstart ,
+.IR vsyncend ,
+and
+.I vtotal
+values. The final section is a list of flags specifying other
+characteristics of the mode.
+.B Interlace
+indicates that the mode is interlaced.
+.B DoubleScan
+indicates a mode where each scanline is doubled.
+.B +HSync
+and
+.B \-HSync
+can be used to select the polarity of the HSync signal.
+.B +VSync
+and
+.B \-VSync
+can be used to select the polarity of the VSync signal.
+.B Composite
+can be used to specify composite sync on hardware where this is supported.
+Additionally, on some hardware,
+.B +CSync
+and
+.B \-CSync
+may be used to select the composite sync polarity. The
+.B HSkew
+and
+.B VScan
+options mentioned above in the
+.B Modes
+entry description can also be used here.
+.RE
+.TP 7
+.B Options
+Some
+.B Option
+flags that may be useful to include in
+.B Monitor
+sections (when needed) include
+.BR \*qDPMS\*q ,
+and
+.BR \*qSyncOnGreen\*q .
+
+.SH MODES SECTION
+The config file may have multiple
+.B Modes
+sections, or none. These sections provide a way of defining sets of
+video modes independently of the
+.B Monitor
+sections.
+.B Monitor
+sections may include the definitions provided in these sections by
+using the
+.B UseModes
+keyword. In most cases the
+.B Modes
+sections are not necessary because the built-in set of VESA standard modes
+will be sufficient.
+.PP
+.B Modes
+sections have the following format:
+.PP
+.RS 4
+.nf
+.B "Section \*qModes\*q"
+.BI " Identifier \*q" name \*q
+.I " entries"
+.I " ..."
+.B "EndSection"
+.fi
+.RE
+.PP
+The
+.B Identifier
+entry specifies the unique name for this set of mode descriptions.
+The other entries permitted in
+.B Modes
+sections are the
+.B Mode
+and
+.B ModeLine
+entries that are described above in the
+.B Monitor
+section.
+.SH SCREEN SECTION
+The config file may have multiple
+.B Screen
+sections. There must be at least one, for the "screen" being used.
+A "screen" represents the binding of a graphics device
+.RB ( Device
+section) and a monitor
+.RB ( Monitor
+section). A
+.B Screen
+section is considered "active" if it is referenced by an active
+.B ServerLayout
+section or by the
+.B \-screen
+command line option. If neither of those is present, the first
+.B Screen
+section found in the config file is considered the active one.
+.PP
+.B Screen
+sections have the following format:
+.PP
+.RS 4
+.nf
+.B "Section \*qScreen\*q"
+.BI " Identifier \*q" name \*q
+.BI " Device \*q" devid \*q
+.BI " Monitor \*q" monid \*q
+.I " entries"
+.I " ..."
+.BI " SubSection \*qDisplay\*q"
+.I " entries"
+.I " ...
+.B " EndSubSection"
+.I " ..."
+.B "EndSection"
+.fi
+.RE
+.PP
+The
+.B Identifier
+and
+.B Device
+entries are mandatory. All others are optional.
+.PP
+The
+.B Identifier
+entry specifies the unique name for this screen. The
+.B Screen
+section provides information specific to the whole screen, including
+screen-specific
+.BR Options .
+In multi-head configurations, there will be multiple active
+.B Screen
+sections, one for each head.
+The entries available
+for this section are:
+.TP 7
+.BI "Device \*q" device-id \*q
+This mandatory entry specifies the
+.B Device
+section to be used for this screen. This is what ties a specific
+graphics card to a screen. The
+.I device-id
+must match the
+.B Identifier
+of a
+.B Device
+section in the config file.
+.TP 7
+.BI "Monitor \*q" monitor-id \*q
+specifies which monitor description is to be used for this screen.
+If a
+.B Monitor
+name is not specified, a default configuration is used. Currently the default
+configuration may not function as expected on all platforms.
+.TP 7
+.BI "VideoAdaptor \*q" xv-id \*q
+specifies an optional Xv video adaptor description to be used with this
+screen.
+.TP 7
+.BI "DefaultDepth " depth
+specifies which color depth the server should use by default. The
+.B \-depth
+command line option can be used to override this. If neither is specified,
+the default depth is driver-specific, but in most cases is 8.
+.TP 7
+.BI "DefaultFbBpp " bpp
+specifies which framebuffer layout to use by default. The
+.B \-fbbpp
+command line option can be used to override this. In most cases the
+driver will chose the best default value for this. The only case where
+there is even a choice in this value is for depth 24, where some hardware
+supports both a packed 24 bit framebuffer layout and a sparse 32 bit
+framebuffer layout.
+.TP 7
+.B Options
+Various
+.B Option
+flags may be specified in the
+.B Screen
+section. Some are driver-specific and are described in the driver
+documentation. Others are driver-independent, and will eventually be
+described here.
+.\" XXX These should really be in an xaa man page.
+.TP 7
+.BI "Option \*qAccel\*q"
+Enables XAA (X Acceleration Architecture), a mechanism that makes video
+cards' 2D hardware acceleration available to the
+__xservername__ server. This
+option is on by default, but it may be necessary to turn it off if there
+are bugs in the driver. There are many options to disable specific
+accelerated operations, listed below. Note that disabling an operation
+will have no effect if the operation is not accelerated (whether due to
+lack of support in the hardware or in the driver).
+.TP 7
+.BI "Option \*qBiosLocation\*q \*q" address \*q
+Set the location of the BIOS for the Int10 module. One may select a BIOS
+of another card for posting or the legacy V_BIOS range located at 0xc0000
+or an alternative address (BUS_ISA). This is only useful under very
+special circumstances and should be used with extreme care.
+.TP 7
+.BI "Option \*qInitPrimary\*q \*q" boolean \*q
+Use the Int10 module to initialize the primary graphics card. Normally,
+only secondary cards are soft-booted using the Int10 module, as the
+primary card has already been initialized by the BIOS at boot time.
+Default: false.
+.TP 7
+.BI "Option \*qNoInt10\*q \*q" boolean \*q
+Disables the Int10 module, a module that uses the int10 call to the BIOS
+of the graphics card to initialize it. Default: false.
+.TP 7
+.BI "Option \*qNoMTRR\*q"
+Disables MTRR (Memory Type Range Register) support, a feature of modern
+processors which can improve video performance by a factor of up to 2.5.
+Some hardware has buggy MTRR support, and some video drivers have been
+known to exhibit problems when MTRR's are used.
+.TP 7
+.BI "Option \*qXaaNoCPUToScreenColorExpandFill\*q"
+Disables accelerated rectangular expansion blits from source patterns
+stored in system memory (using a memory-mapped aperture).
+.TP 7
+.BI "Option \*qXaaNoColor8x8PatternFillRect\*q"
+Disables accelerated fills of a rectangular region with a full-color
+pattern.
+.TP 7
+.BI "Option \*qXaaNoColor8x8PatternFillTrap\*q"
+Disables accelerated fills of a trapezoidal region with a full-color
+pattern.
+.TP 7
+.BI "Option \*qXaaNoDashedBresenhamLine\*q"
+Disables accelerated dashed Bresenham line draws.
+.TP 7
+.BI "Option \*qXaaNoDashedTwoPointLine\*q"
+Disables accelerated dashed line draws between two arbitrary points.
+.TP 7
+.BI "Option \*qXaaNoImageWriteRect\*q"
+Disables accelerated transfers of full-color rectangular patterns from
+system memory to video memory (using a memory-mapped aperture).
+.TP 7
+.BI "Option \*qXaaNoMono8x8PatternFillRect\*q"
+Disables accelerated fills of a rectangular region with a monochrome
+pattern.
+.TP 7
+.BI "Option \*qXaaNoMono8x8PatternFillTrap\*q"
+Disables accelerated fills of a trapezoidal region with a monochrome
+pattern.
+.TP 7
+.BI "Option \*qXaaNoOffscreenPixmaps\*q"
+Disables accelerated draws into pixmaps stored in offscreen video memory.
+.TP 7
+.BI "Option \*qXaaNoPixmapCache\*q"
+Disables caching of patterns in offscreen video memory.
+.TP 7
+.BI "Option \*qXaaNoScanlineCPUToScreenColorExpandFill\*q"
+Disables accelerated rectangular expansion blits from source patterns
+stored in system memory (one scan line at a time).
+.TP 7
+.BI "Option \*qXaaNoScanlineImageWriteRect\*q"
+Disables accelerated transfers of full-color rectangular patterns from
+system memory to video memory (one scan line at a time).
+.TP 7
+.BI "Option \*qXaaNoScreenToScreenColorExpandFill\*q"
+Disables accelerated rectangular expansion blits from source patterns
+stored in offscreen video memory.
+.TP 7
+.BI "Option \*qXaaNoScreenToScreenCopy\*q"
+Disables accelerated copies of rectangular regions from one part of
+video memory to another part of video memory.
+.TP 7
+.BI "Option \*qXaaNoSolidBresenhamLine\*q"
+Disables accelerated solid Bresenham line draws.
+.TP 7
+.BI "Option \*qXaaNoSolidFillRect\*q"
+Disables accelerated solid-color fills of rectangles.
+.TP 7
+.BI "Option \*qXaaNoSolidFillTrap\*q"
+Disables accelerated solid-color fills of Bresenham trapezoids.
+.TP 7
+.BI "Option \*qXaaNoSolidHorVertLine\*q"
+Disables accelerated solid horizontal and vertical line draws.
+.TP 7
+.BI "Option \*qXaaNoSolidTwoPointLine\*q"
+Disables accelerated solid line draws between two arbitrary points.
+.PP
+Each
+.B Screen
+section may optionally contain one or more
+.B Display
+subsections. Those subsections provide depth/fbbpp specific configuration
+information, and the one chosen depends on the depth and/or fbbpp that
+is being used for the screen. The
+.B Display
+subsection format is described in the section below.
+
+.SH DISPLAY SUBSECTION
+Each
+.B Screen
+section may have multiple
+.B Display
+subsections.
+The "active"
+.B Display
+subsection is the first that matches the depth and/or fbbpp values being
+used, or failing that, the first that has neither a depth or fbbpp value
+specified. The
+.B Display
+subsections are optional. When there isn't one that matches the depth
+and/or fbbpp values being used, all the parameters that can be specified
+here fall back to their defaults.
+.PP
+.B Display
+subsections have the following format:
+.PP
+.RS 4
+.nf
+.B " SubSection \*qDisplay\*q"
+.BI " Depth " depth
+.I " entries"
+.I " ..."
+.B " EndSubSection"
+.fi
+.RE
+.PP
+.TP 7
+.BI "Depth " depth
+This entry specifies what colour depth the
+.B Display
+subsection is to be used for. This entry is usually specified,
+but it may be omitted to create a match-all
+.B Display
+subsection or when wishing to match only against the
+.B FbBpp
+parameter. The range of
+.I depth
+values that are allowed depends on the driver. Most driver support
+8, 15, 16 and 24. Some also support 1 and/or 4, and some may support
+other values (like 30). Note:
+.I depth
+means the number of bits in a pixel that are actually used to determine
+the pixel colour. 32 is not a valid
+.I depth
+value. Most hardware that uses 32 bits per pixel only uses 24 of them
+to hold the colour information, which means that the colour depth is
+24, not 32.
+.TP 7
+.BI "FbBpp " bpp
+This entry specifies the framebuffer format this
+.B Display
+subsection is to be used for. This entry is only needed when providing
+depth 24 configurations that allow a choice between a 24 bpp packed
+framebuffer format and a 32bpp sparse framebuffer format. In most cases
+this entry should not be used.
+.TP 7
+.BI "Weight " "red-weight green-weight blue-weight"
+This optional entry specifies the relative RGB weighting to be used
+for a screen is being used at depth 16 for drivers that allow multiple
+formats. This may also be specified from the command line with the
+.B \-weight
+option (see __xservername__(__appmansuffix__)).
+.TP 7
+.BI "Virtual " "xdim ydim"
+This optional entry specifies the virtual screen resolution to be used.
+.I xdim
+must be a multiple of either 8 or 16 for most drivers, and a multiple
+of 32 when running in monochrome mode. The given value will be rounded
+down if this is not the case. Video modes which are too large for the
+specified virtual size will be rejected. If this entry is not present,
+the virtual screen resolution will be set to accommodate all the valid
+video modes given in the
+.B Modes
+entry. Some drivers/hardware combinations do not support virtual screens.
+Refer to the appropriate driver-specific documentation for details.
+.TP 7
+.BI "ViewPort " "x0 y0"
+This optional entry sets the upper left corner of the initial display.
+This is only relevant when the virtual screen resolution is different
+from the resolution of the initial video mode. If this entry is not
+given, then the initial display will be centered in the virtual display
+area.
+.TP 7
+.BI "Modes \*q" mode-name \*q " ..."
+This optional entry specifies the list of video modes to use. Each
+.I mode-name
+specified must be in double quotes. They must correspond to those
+specified or referenced in the appropriate
+.B Monitor
+section (including implicitly referenced built-in VESA standard modes).
+The server will delete modes from this list which don't satisfy various
+requirements. The first valid mode in this list will be the default
+display mode for startup. The list of valid modes is converted internally
+into a circular list. It is possible to switch to the next mode with
+.B Ctrl+Alt+Keypad-Plus
+and to the previous mode with
+.BR Ctrl+Alt+Keypad-Minus .
+When this entry is omitted, the valid modes referenced by the appropriate
+.B Monitor
+section will be used. If the
+.B Monitor
+section contains no modes, then the selection will be taken from the
+built-in VESA standard modes.
+.TP 7
+.BI "Visual \*q" visual-name \*q
+This optional entry sets the default root visual type. This may also
+be specified from the command line (see the Xserver(__appmansuffix__) man page). The
+visual types available for depth 8 are (default is
+.BR PseudoColor ):
+.PP
+.RS 11
+.nf
+.B StaticGray
+.B GrayScale
+.B StaticColor
+.B PseudoColor
+.B TrueColor
+.B DirectColor
+.fi
+.RE
+.PP
+.RS 7
+The visual type available for the depths 15, 16 and 24 are (default is
+.BR TrueColor ):
+.PP
+.RS 4
+.nf
+.B TrueColor
+.B DirectColor
+.fi
+.RE
+.PP
+Not all drivers support
+.B DirectColor
+at these depths.
+.PP
+The visual types available for the depth 4 are (default is
+.BR StaticColor ):
+.PP
+.RS 4
+.nf
+.B StaticGray
+.B GrayScale
+.B StaticColor
+.B PseudoColor
+.fi
+.RE
+.PP
+The visual type available for the depth 1 (monochrome) is
+.BR StaticGray .
+.RE
+.TP 7
+.BI "Black " "red green blue"
+This optional entry allows the "black" colour to be specified. This
+is only supported at depth 1. The default is black.
+.TP 7
+.BI "White " "red green blue"
+This optional entry allows the "white" colour to be specified. This
+is only supported at depth 1. The default is white.
+.TP 7
+.B Options
+Option flags may be specified in the
+.B Display
+subsections. These may include driver-specific options and
+driver-independent options. The former are described in the
+driver-specific documentation. Some of the latter are described above
+in the section about the
+.B Screen
+section, and they may also be included here.
+.SH SERVERLAYOUT SECTION
+The config file may have multiple
+.B ServerLayout
+sections.
+A "server layout" represents the binding of one or more screens
+.RB ( Screen
+sections) and one or more input devices
+.RB ( InputDevice
+sections) to form a complete configuration. In multi-head configurations,
+it also specifies the relative layout of the heads. A
+.B ServerLayout
+section is considered "active" if it is referenced by the
+.B \-layout
+command line option or by an
+.B "Option \*qDefaultServerLayout\*q"
+entry in the
+.B ServerFlags
+section (the former takes precedence over the latter). If those options are
+not used, the first
+.B ServerLayout
+section found in the config file is considered the active one. If no
+.B ServerLayout
+sections are present, the single active screen and two active (core)
+input devices are selected as described in the relevant sections above.
+.PP
+.B ServerLayout
+sections have the following format:
+.PP
+.RS 4
+.nf
+.B "Section \*qServerLayout\*q"
+.BI " Identifier \*q" name \*q
+.BI " Screen \*q" screen-id \*q
+.I " ..."
+.BI " InputDevice \*q" idev-id \*q
+.I " ..."
+.I " options"
+.I " ..."
+.B "EndSection"
+.fi
+.RE
+.PP
+Each
+.B ServerLayout
+section must have an
+.B Identifier
+entry and at least one
+.B Screen
+entry.
+.PP
+The
+.B Identifier
+entry specifies the unique name for this server layout. The
+.B ServerLayout
+section provides information specific to the whole session, including
+session-specific
+.BR Options .
+The
+.B ServerFlags
+options (described above) may be specified here, and ones given here
+override those given in the
+.B ServerFlags
+section.
+.PP
+The entries that may be used in this section are described here.
+.TP 7
+.BI "Screen " "screen-num" " \*qscreen-id\*q " "position-information"
+One of these entries must be given for each screen being used in
+a session. The
+.I screen-id
+field is mandatory, and specifies the
+.B Screen
+section being referenced. The
+.I screen-num
+field is optional, and may be used to specify the screen number
+in multi-head configurations. When this field is omitted, the
+screens will be numbered in the order that they are listed in.
+The numbering starts from 0, and must be consecutive. The
+.I position-information
+field describes the way multiple screens are positioned. There are
+a number of different ways that this information can be provided:
+.RS 7
+.TP 4
+.I "x y"
+.TP 4
+.BI "Absolute " "x y"
+These both specify that the upper left corner's coordinates are
+.RI ( x , y ).
+The
+.B Absolute
+keyword is optional. Some older versions of __xservername__ (4.2 and earlier) don't
+recognise the
+.B Absolute
+keyword, so it's safest to just specify the coordinates without it.
+.TP 4
+.BI "RightOf \*q" screen-id \*q
+.TP 4
+.BI "LeftOf \*q" screen-id \*q
+.TP 4
+.BI "Above \*q" screen-id \*q
+.TP 4
+.BI "Below \*q" screen-id \*q
+.TP 4
+.BI "Relative \*q" screen-id \*q " x y"
+These give the screen's location relative to another screen. The first four
+position the screen immediately to the right, left, above or below the
+other screen. When positioning to the right or left, the top edges are
+aligned. When positioning above or below, the left edges are aligned.
+The
+.B Relative
+form specifies the offset of the screen's origin (upper left corner)
+relative to the origin of another screen.
+.RE
+.TP 7
+.BI "InputDevice \*q" idev-id "\*q \*q" option \*q " ..."
+One of these entries should be given for each input device being used in
+a session. Normally at least two are required, one each for the core
+pointer and keyboard devices. If either of those is missing, suitable
+.B InputDevice
+entries are searched for using the method described above in the
+.B INPUTDEVICE
+section. The
+.I idev-id
+field is mandatory, and specifies the name of the
+.B InputDevice
+section being referenced. Multiple
+.I option
+fields may be specified, each in double quotes. The options permitted
+here are any that may also be given in the
+.B InputDevice
+sections. Normally only session-specific input device options would be
+used here. The most commonly used options are:
+.PP
+.RS 11
+.nf
+.B \*qCorePointer\*q
+.B \*qCoreKeyboard\*q
+.B \*qSendCoreEvents\*q
+.fi
+.RE
+.PP
+.RS 7
+and the first two should normally be used to indicate the core pointer
+and core keyboard devices respectively.
+.RE
+.TP 7
+.B Options
+Any option permitted in the
+.B ServerFlags
+section may also be specified here. When the same option appears in both
+places, the value given here overrides the one given in the
+.B ServerFlags
+section.
+.PP
+Here is an example of a
+.B ServerLayout
+section for a dual headed configuration with two mice:
+.PP
+.RS 4
+.nf
+.B "Section \*qServerLayout\*q"
+.B " Identifier \*qLayout 1\*q"
+.B " Screen \*qMGA 1\*q"
+.B " Screen \*qMGA 2\*q RightOf \*qMGA 1\*q"
+.B " InputDevice \*qKeyboard 1\*q \*qCoreKeyboard\*q"
+.B " InputDevice \*qMouse 1\*q \*qCorePointer\*q"
+.B " InputDevice \*qMouse 2\*q \*qSendCoreEvents\*q"
+.B " Option \*qBlankTime\*q \*q5\*q"
+.B "EndSection"
+.fi
+.RE
+.SH DRI SECTION
+This optional section is used to provide some information for the
+Direct Rendering Infrastructure. Details about the format of this section
+can be found in the README.DRI document, which is also available on-line
+at
+.IR <http://www.x.org> .
+.SH VENDOR SECTION
+The optional
+.B Vendor
+section may be used to provide vendor-specific configuration information.
+Multiple
+.B Vendor
+sections may be present, and they may contain an
+.B Identifier
+entry and multiple
+.B Option
+flags. The data therein is not used in this release.
+.PP
+.SH FILES
+For an example of an __xconfigfile__ file, see the file installed as
+__projectroot__/lib/X11/__xconfigfile__.eg.
+.fi
+.SH "SEE ALSO"
+X(__miscmansuffix__),
+Xserver(__appmansuffix__),
+__xservername__(__appmansuffix__),
+apm(__drivermansuffix__),
+.\" .IR ati(__drivermansuffix__),
+chips(__drivermansuffix__),
+cirrus(__drivermansuffix__),
+cyrix(__drivermansuffix__),
+fbdev(__drivermansuffix__),
+glide(__drivermansuffix__),
+glint(__drivermansuffix__),
+i128(__drivermansuffix__),
+i740(__drivermansuffix__),
+i810(__drivermansuffix__),
+imstt(__drivermansuffix__),
+mga(__drivermansuffix__),
+neomagic(__drivermansuffix__),
+nv(__drivermansuffix__),
+r128(__drivermansuffix__),
+rendition(__drivermansuffix__),
+savage(__drivermansuffix__),
+s3virge(__drivermansuffix__),
+.\" .IR shadowfb(__drivermansuffix__),
+siliconmotion(__drivermansuffix__),
+sis(__drivermansuffix__),
+sunbw2(__drivermansuffix__),
+suncg14(__drivermansuffix__),
+suncg3(__drivermansuffix__),
+suncg6(__drivermansuffix__),
+sunffb(__drivermansuffix__),
+sunleo(__drivermansuffix__),
+suntcx(__drivermansuffix__),
+tdfx(__drivermansuffix__),
+tga(__drivermansuffix__),
+trident(__drivermansuffix__),
+tseng(__drivermansuffix__),
+v4l(__drivermansuffix__),
+vesa(__drivermansuffix__),
+vga(__drivermansuffix__),
+vmware(__drivermansuffix__),
+.br
+.SH AUTHORS
+This manual page was largely rewritten by David Dawes
+.IR <dawes@xfree86.org> .
diff --git a/hw/xfree86/doc/sgml/DESIGN.sgml b/hw/xfree86/doc/sgml/DESIGN.sgml
index 0478a0598..84e4fad21 100644
--- a/hw/xfree86/doc/sgml/DESIGN.sgml
+++ b/hw/xfree86/doc/sgml/DESIGN.sgml
@@ -1,4 +1,5 @@
-<!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN" [
+<!DOCTYPE linuxdoc PUBLIC "-//Xorg//DTD linuxdoc//EN" [
+ <!ENTITY % defs SYSTEM "defs.ent"> %defs;
<!-- config file keyword markup -->
<!ENTITY s.key STARTTAG "bf">
<!ENTITY e.key ENDTAG "bf">
@@ -27,6 +28,7 @@
<title>XFree86 server 4.x Design (DRAFT)
<author>The XFree86 Project, Inc
+<and>Updates for X11R&relvers; by Jim Gettys
<date>19 December 2003
@@ -79,10 +81,10 @@ The broad design principles are:
Unless we find major deficiencies in the DIX layer, we should avoid
making changes there.
-<sect>The XF86Config File
+<sect>The xorg.conf File
<p>
-The XF86Config file format is similar to the old format, with the following
+The xorg.conf file format is similar to the old format, with the following
changes:
<sect1>&k.device; section
@@ -315,7 +317,7 @@ the XFree86 common layer:
<tag>PreInit</tag>
- Process information from the XF86Config file, determine the
+ Process information from the xorg.conf file, determine the
full characteristics of the hardware, and determine if a valid
configuration is present.
</descrip>
@@ -426,12 +428,12 @@ control. &s.code;InitOutput()&e.code; is expected to fill in the global
&s.code;screenInfo.screen[]&e.code; entry for each screen present. Here
is what &s.code;InitOutput()&e.code; does:
-<sect1>Parse the XF86Config file
+<sect1>Parse the xorg.conf file
<p>
This is done at the start of the first server generation only.
- The XF86Config file is read in full, and the resulting information
+ The xorg.conf file is read in full, and the resulting information
stored in data structures. None of the parsed information is
processed at this point. The parser data structures are opaque to
the video drivers and to most of the common layer code.
@@ -595,7 +597,7 @@ is what &s.code;InitOutput()&e.code; does:
&s.code;PROBE_DETECT&e.code; is used if "-configure" or "-probe"
command line arguments are given and indicates to the
&s.code;Probe()&e.code; function that it should not configure the
- bus entities and that no XF86Config information is available.
+ bus entities and that no xorg.conf information is available.
The probe must find the active device sections that match the
driver by calling &s.code;xf86MatchDevice()&e.code;. The number
@@ -746,7 +748,7 @@ is what &s.code;InitOutput()&e.code; does:
After the Probe phase is finished, there will be some number of
&s.code;ScrnInfoRecs&e.code;. These are then matched with the active
- &k.screen; sections in the XF86Config, and those not having an active
+ &k.screen; sections in the xorg.conf, and those not having an active
&k.screen; section are deleted. If the number of remaining screens
is 0, &s.code;InitOutput()&e.code; sets
&s.code;screenInfo.numScreens&e.code; to &s.code;0&e.code; and
@@ -1294,10 +1296,10 @@ The function should not modify any other mode field, unless it wants to modify
the mode timings reported to the user by &s.code;xf86PrintModes()&e.code;.
<p>
-The function is called once for every mode in the XF86Config Monitor section
+The function is called once for every mode in the xorg.conf Monitor section
assigned to the screen, with &s.code;flags&e.code; set to
&s.code;MODECHECK_INITIAL&e.code;. It is subsequently called for every mode
-in the XF86Config Display subsection assigned to the screen, with
+in the xorg.conf Display subsection assigned to the screen, with
&s.code;flags&e.code; set to &s.code;MODECHECK_FINAL&e.code;. In the second
case, the mode will have successfully passed all other tests. In addition,
the &s.code;ScrnInfoRec&e.code;'s &s.code;virtualX&e.code;,
@@ -1866,7 +1868,7 @@ creates an entity record for each of them, registers non-relocatable
resources and allocates screens and adds the resources to screens.
Two helper functions are provided for matching device sections in the
-XF86Config file to the devices:
+xorg.conf file to the devices:
<quote><p>
&s.code;int xf86MatchPciInstances(const char *driverName, int vendorID,
@@ -5271,7 +5273,7 @@ be catered for the by the helpers.
<quote>Allow halved clocks</quote>
&s.code;LOOKUP_OPTIONAL_TOLERANCES&e.code;
<quote>Allow missing horizontal sync and/or vertical refresh
- ranges in the XF86Config Monitor section</quote>
+ ranges in the xorg.conf Monitor section</quote>
&s.code;LOOKUP_OPTIONAL_TOLERANCES&e.code; should only be
specified when the driver can ensure all modes it generates
@@ -5291,7 +5293,7 @@ be catered for the by the helpers.
&s.code;progClock&e.code;
<quote>Whether the clock is programmable or not</quote>
&s.code;monitor&e.code;
- <quote>Pointer to the applicable XF86Config monitor section</quote>
+ <quote>Pointer to the applicable xorg.conf monitor section</quote>
&s.code;fdFormat&e.code;
<quote>Format of the screen buffer</quote>
&s.code;videoRam&e.code;
@@ -6731,7 +6733,7 @@ ZZZProbe(DriverPtr drv, int flags)
Define the &s.code;AvailableOptions()&e.code; function. The purpose
of this is to return the available driver options back to the
- -configure option, so that an XF86Config file can be built and the
+ -configure option, so that an xorg.conf file can be built and the
user can see which options are available for them to use.
<sect2>PreInit