xserver

xserver with xephyr scale patch
git clone https://git.neptards.moe/u3shit/xserver.git
Log | Files | Refs | README | LICENSE

xorg.conf.man (77461B)


      1 .\" shorthand for double quote that works everywhere.
      2 .ds q \N'34'
      3 .TH xorg.conf @filemansuffix@ @vendorversion@
      4 .SH NAME
      5 xorg.conf, @xconfigdir@ \- configuration files for
      6 Xorg X server
      7 .SH INTRODUCTION
      8 .B Xorg
      9 supports several mechanisms for supplying/obtaining configuration and
     10 run-time parameters: command line options, environment variables, the
     11 xorg.conf and @xconfigdir@ configuration files, auto-detection,
     12 and fallback defaults. When the same information is supplied in more
     13 than one way, the highest precedence mechanism is used. The list of
     14 mechanisms is ordered from highest precedence to lowest. Note that not
     15 all parameters can be supplied via all methods. The available command
     16 line options and environment variables (and some defaults) are
     17 described in the Xserver(@appmansuffix@) and
     18 Xorg(@appmansuffix@) manual pages. Most configuration file
     19 parameters, with their defaults, are described below. Driver and module
     20 specific configuration parameters are described in the relevant driver
     21 or module manual page.
     22 .SH DESCRIPTION
     23 .B Xorg
     24 uses a configuration file called
     25 .I xorg.conf
     26 and files ending in the suffix
     27 .I .conf
     28 from the directory
     29 .I @xconfigdir@
     30 for its initial setup.
     31 The
     32 .I xorg.conf
     33 configuration file is searched for in the following places when the
     34 server is started as a normal user:
     35 .PP
     36 .RS 4
     37 .nf
     38 .IR /etc/X11/ <cmdline>
     39 .IR @projectroot@/etc/X11/ <cmdline>
     40 .IB /etc/X11/ $XORGCONFIG
     41 .IB @projectroot@/etc/X11/ $XORGCONFIG
     42 .I /etc/X11/xorg.conf
     43 .I /etc/xorg.conf
     44 .IR @projectroot@/etc/X11/xorg.conf. <hostname>
     45 .I @projectroot@/etc/X11/xorg.conf
     46 .IR @projectroot@/lib/X11/xorg.conf. <hostname>
     47 .I @projectroot@/lib/X11/xorg.conf
     48 .fi
     49 .RE
     50 .PP
     51 where
     52 .I <cmdline>
     53 is a relative path (with no \(lq..\(rq components) specified with the
     54 .B \-config
     55 command line option,
     56 .B $XORGCONFIG
     57 is the relative path (with no \(lq..\(rq components) specified by that
     58 environment variable, and
     59 .I <hostname>
     60 is the machine's hostname as reported by
     61 .BR gethostname (@libmansuffix@).
     62 .PP
     63 When the Xorg server is started by the \(lqroot\(rq user, the config file
     64 search locations are as follows:
     65 .PP
     66 .RS 4
     67 .nf
     68 <cmdline>
     69 .IR /etc/X11/ <cmdline>
     70 .IR @projectroot@/etc/X11/ <cmdline>
     71 .B $XORGCONFIG
     72 .IB /etc/X11/ $XORGCONFIG
     73 .IB @projectroot@/etc/X11/ $XORGCONFIG
     74 .I /etc/X11/xorg.conf
     75 .I /etc/xorg.conf
     76 .IR @projectroot@/etc/X11/xorg.conf. <hostname>
     77 .I @projectroot@/etc/X11/xorg.conf
     78 .IR @projectroot@/lib/X11/xorg.conf. <hostname>
     79 .I @projectroot@/lib/X11/xorg.conf
     80 .fi
     81 .RE
     82 .PP
     83 where
     84 .I <cmdline>
     85 is the path specified with the
     86 .B \-config
     87 command line option (which may be absolute or relative),
     88 .B $XORGCONFIG
     89 is the path specified by that
     90 environment variable (absolute or relative),
     91 .B $HOME
     92 is the path specified by that environment variable (usually the home
     93 directory), and
     94 .I <hostname>
     95 is the machine's hostname as reported by
     96 .BR gethostname (@libmansuffix@).
     97 .PP
     98 Additional configuration files are searched for in the following
     99 directories when the server is started as a normal user:
    100 .PP
    101 .RS 4
    102 .nf
    103 .IR /etc/X11/ <cmdline>
    104 .IR @sysconfdir@/X11/ <cmdline>
    105 .I /etc/X11/@xconfigdir@
    106 .I @sysconfdir@/X11/@xconfigdir@
    107 .fi
    108 .RE
    109 .PP
    110 where
    111 .I <cmdline>
    112 is a relative path (with no \(lq..\(rq components) specified with the
    113 .B \-configdir
    114 command line option.
    115 .PP
    116 When the Xorg server is started by the \(lqroot\(rq user, the
    117 config directory search locations are as follows:
    118 .PP
    119 .RS 4
    120 .nf
    121 <cmdline>
    122 .IR /etc/X11/ <cmdline>
    123 .IR @sysconfdir@/X11/ <cmdline>
    124 .I /etc/X11/@xconfigdir@
    125 .I @sysconfdir@/X11/@xconfigdir@
    126 .fi
    127 .RE
    128 .PP
    129 where
    130 .I <cmdline>
    131 is the path specified with the
    132 .B \-configdir
    133 command line option (which may be absolute or relative).
    134 .PP
    135 Finally, configuration files will also be searched for in a directory reserved
    136 for system use.
    137 This is to separate configuration files from the vendor or 3rd party packages
    138 from those of local administration.
    139 These files are found in the following directory:
    140 .PP
    141 .RS 4
    142 .nf
    143 .I @datadir@/X11/@xconfigdir@
    144 .fi
    145 .RE
    146 .PP
    147 The
    148 .I xorg.conf
    149 and
    150 .I @xconfigdir@
    151 files are composed of a number of sections which may be present in any order,
    152 or omitted to use default configuration values.
    153 Each section has the form:
    154 .PP
    155 .RS 4
    156 .nf
    157 .BI "Section  \*q" SectionName \*q
    158 .RI "    " SectionEntry
    159     ...
    160 .B EndSection
    161 .fi
    162 .RE
    163 .PP
    164 The section names are:
    165 .PP
    166 .RS 4
    167 .nf
    168 .BR "Files          " "File pathnames"
    169 .BR "ServerFlags    " "Server flags"
    170 .BR "Module         " "Dynamic module loading"
    171 .BR "Extensions     " "Extension enabling"
    172 .BR "InputDevice    " "Input device description"
    173 .BR "InputClass     " "Input class description"
    174 .BR "OutputClass    " "Output class description"
    175 .BR "Device         " "Graphics device description"
    176 .BR "VideoAdaptor   " "Xv video adaptor description"
    177 .BR "Monitor        " "Monitor description"
    178 .BR "Modes          " "Video modes descriptions"
    179 .BR "Screen         " "Screen configuration"
    180 .BR "ServerLayout   " "Overall layout"
    181 .BR "DRI            " "DRI\-specific configuration"
    182 .BR "Vendor         " "Vendor\-specific configuration"
    183 .fi
    184 .RE
    185 .PP
    186 The following obsolete section names are still recognised for compatibility
    187 purposes.
    188 In new config files, the
    189 .B InputDevice
    190 section should be used instead.
    191 .PP
    192 .RS 4
    193 .nf
    194 .BR "Keyboard       " "Keyboard configuration"
    195 .BR "Pointer        " "Pointer/mouse configuration"
    196 .fi
    197 .RE
    198 .PP
    199 The old
    200 .B XInput
    201 section is no longer recognised.
    202 .PP
    203 The
    204 .B ServerLayout
    205 sections are at the highest level.
    206 They bind together the input and output devices that will be used in a session.
    207 The input devices are described in the
    208 .B InputDevice
    209 sections.
    210 Output devices usually consist of multiple independent components (e.g.,
    211 a graphics board and a monitor).
    212 These multiple components are bound together in the
    213 .B Screen
    214 sections, and it is these that are referenced by the
    215 .B ServerLayout
    216 section.
    217 Each
    218 .B Screen
    219 section binds together a graphics board and a monitor.
    220 The graphics boards are described in the
    221 .B Device
    222 sections, and the monitors are described in the
    223 .B Monitor
    224 sections.
    225 .PP
    226 Config file keywords are case\-insensitive, and \(lq_\(rq characters are
    227 ignored.
    228 Most strings (including
    229 .B Option
    230 names) are also case-insensitive, and insensitive to white space and
    231 \(lq_\(rq characters.
    232 .PP
    233 Each config file entry usually takes up a single line in the file.  They
    234 consist of a keyword, which is possibly followed by one or more arguments,
    235 with the number and types of the arguments depending on the keyword.
    236 The argument types are:
    237 .PP
    238 .RS 4
    239 .nf
    240 .BR "Integer     " "an integer number in decimal, hex or octal"
    241 .BR "Real        " "a floating point number"
    242 .BR "String      " "a string enclosed in double quote marks (\*q)"
    243 .fi
    244 .RE
    245 .PP
    246 Note: hex integer values must be prefixed with \(lq0x\(rq, and octal values
    247 with \(lq0\(rq.
    248 .PP
    249 A special keyword called
    250 .B Option
    251 may be used to provide free\-form data to various components of the server.
    252 The
    253 .B Option
    254 keyword takes either one or two string arguments.
    255 The first is the option name, and the optional second argument is the
    256 option value.
    257 Some commonly used option value types include:
    258 .PP
    259 .RS 4
    260 .nf
    261 .BR "Integer     " "an integer number in decimal, hex or octal"
    262 .BR "Real        " "a floating point number"
    263 .BR "String      " "a sequence of characters"
    264 .BR "Boolean     " "a boolean value (see below)"
    265 .BR "Frequency   " "a frequency value (see below)"
    266 .fi
    267 .RE
    268 .PP
    269 Note that
    270 .I all
    271 .B Option
    272 values, not just strings, must be enclosed in quotes.
    273 .PP
    274 Boolean options may optionally have a value specified.
    275 When no value is specified, the option's value is
    276 .BR TRUE .
    277 The following boolean option values are recognised as
    278 .BR TRUE :
    279 .PP
    280 .RS 4
    281 .BR 1 ,
    282 .BR on ,
    283 .BR true ,
    284 .B yes
    285 .RE
    286 .PP
    287 and the following boolean option values are recognised as
    288 .BR FALSE :
    289 .PP
    290 .RS 4
    291 .BR 0 ,
    292 .BR off ,
    293 .BR false ,
    294 .B no
    295 .RE
    296 .PP
    297 If an option name is prefixed with
    298 .RB \*q No \*q,
    299 then the option value is negated.
    300 .PP
    301 Example: the following option entries are equivalent:
    302 .PP
    303 .RS 4
    304 .nf
    305 .B "Option \*qAccel\*q   \*qOff\*q"
    306 .B "Option \*qNoAccel\*q"
    307 .B "Option \*qNoAccel\*q \*qOn\*q"
    308 .B "Option \*qAccel\*q   \*qfalse\*q"
    309 .B "Option \*qAccel\*q   \*qno\*q"
    310 .fi
    311 .RE
    312 .PP
    313 Frequency option values consist of a real number that is optionally
    314 followed by one of the following frequency units:
    315 .PP
    316 .RS 4
    317 .BR Hz ,
    318 .BR k ,
    319 .BR kHz ,
    320 .BR M ,
    321 .B MHz
    322 .RE
    323 .PP
    324 When the unit name is omitted, the correct units will be determined from
    325 the value and the expectations of the appropriate range of the value.
    326 It is recommended that the units always be specified when using frequency
    327 option values to avoid any errors in determining the value.
    328 .SH "FILES SECTION"
    329 The
    330 .B Files
    331 section is used to specify some path names required by the server.
    332 Some of these paths can also be set from the command line (see
    333 .BR Xserver (@appmansuffix@)
    334 and
    335 .BR Xorg (@appmansuffix@)).
    336 The command line settings override the values specified in the config
    337 file.
    338 The
    339 .B Files
    340 section is optional, as are all of the entries that may appear in it.
    341 .PP
    342 The entries that can appear in this section are:
    343 .TP 7
    344 .BI "FontPath \*q" path \*q
    345 sets the search path for fonts.
    346 This path is a comma separated list of font path elements which the Xorg
    347 server searches for font databases.
    348 Multiple
    349 .B FontPath
    350 entries may be specified, and they will be concatenated to build up the
    351 fontpath used by the server.  Font path elements can be absolute
    352 directory paths, catalogue directories or a font server identifier. The
    353 formats of the later two are explained below:
    354 .PP
    355 .RS 7
    356 Catalogue directories:
    357 .PP
    358 .RS 4
    359 Catalogue directories can be specified using the prefix \fBcatalogue:\fR
    360 before the directory name. The directory can then be populated with
    361 symlinks pointing to the real font directories, using the following
    362 syntax in the symlink name:
    363 .PP
    364 .RS 4
    365 .IR <identifier> : [attribute]: pri= <priority>
    366 .RE
    367 .PP
    368 where
    369 .I <identifier>
    370 is an alphanumeric identifier,
    371 .I [attribute]
    372 is an attribute which will be passed to the underlying FPE and
    373 .I <priority>
    374 is a number used to order the fontfile FPEs. Examples:
    375 .PP
    376 .RS 4
    377 .nf
    378 .I 75dpi:unscaled:pri=20  -> /usr/share/X11/fonts/75dpi
    379 .I gscript:pri=60 -> /usr/share/fonts/default/ghostscript
    380 .I misc:unscaled:pri=10 \-> /usr/share/X11/fonts/misc
    381 .fi
    382 .PP
    383 .RE
    384 .RE
    385 .RE
    386 .PP
    387 .RS 7
    388 Font server identifiers:
    389 .PP
    390 .RS 4
    391 Font server identifiers have the form:
    392 .RS 4
    393 .PP
    394 .IR <trans> / <hostname> : <port\-number>
    395 .RE
    396 .PP
    397 where
    398 .I <trans>
    399 is the transport type to use to connect to the font server (e.g.,
    400 .B unix
    401 for UNIX\-domain sockets or
    402 .B tcp
    403 for a TCP/IP connection),
    404 .I <hostname>
    405 is the hostname of the machine running the font server, and
    406 .I <port\-number>
    407 is the port number that the font server is listening on (usually 7100).
    408 .RE
    409 .PP
    410 When this entry is not specified in the config file, the server falls back
    411 to the compiled\-in default font path, which contains the following
    412 font path elements (which can be set inside a catalogue directory):
    413 .PP
    414 .RS 4
    415 .nf
    416 .I @datadir@/fonts/X11/misc/
    417 .I @datadir@/fonts/X11/TTF/
    418 .I @datadir@/fonts/X11/OTF/
    419 .I @datadir@/fonts/X11/Type1/
    420 .I @datadir@/fonts/X11/100dpi/
    421 .I @datadir@/fonts/X11/75dpi/
    422 .fi
    423 .RE
    424 .PP
    425 Font path elements that are found to be invalid are removed from the
    426 font path when the server starts up.
    427 .RE
    428 .TP 7
    429 .BI "ModulePath \*q" path \*q
    430 sets the search path for loadable Xorg server modules.
    431 This path is a comma separated list of directories which the Xorg server
    432 searches for loadable modules loading in the order specified.
    433 Multiple
    434 .B ModulePath
    435 entries may be specified, and they will be concatenated to build the
    436 module search path used by the server.  The default module path is
    437 .PP
    438 .RS 11
    439 @modulepath@
    440 .RE
    441 .\" The LogFile keyword is not currently implemented
    442 .ig
    443 .TP 7
    444 .BI "LogFile \*q" path \*q
    445 sets the name of the Xorg server log file.
    446 The default log file name when running as root is
    447 .PP
    448 .RS 11
    449 .RI @logdir@/Xorg. <n> .log
    450 .RE
    451 and for non root it is
    452 .RS 11
    453 .RI $XDG_DATA_HOME/xorg/Xorg. <n> .log
    454 .RE
    455 .PP
    456 .RS 7
    457 where
    458 .I <n>
    459 is the display number for the Xorg server.
    460 ..
    461 .TP 7
    462 .BI "XkbDir \*q" path \*q
    463 sets the base directory for keyboard layout files.  The
    464 .B \-xkbdir
    465 command line option can be used to override this.  The default directory is
    466 .PP
    467 .RS 11
    468 @xkbdir@
    469 .RE
    470 .SH "SERVERFLAGS SECTION"
    471 In addition to options specific to this section (described below), the
    472 .B ServerFlags
    473 section is used to specify some global
    474 Xorg server options.
    475 All of the entries in this section are
    476 .BR Options ,
    477 although for compatibility purposes some of the old style entries are
    478 still recognised.
    479 Those old style entries are not documented here, and using them is
    480 discouraged.
    481 The
    482 .B ServerFlags
    483 section is optional, as are the entries that may be specified in it.
    484 .PP
    485 .B Options
    486 specified in this section (with the exception of the
    487 .B \*qDefaultServerLayout\*q
    488 .BR Option )
    489 may be overridden by
    490 .B Options
    491 specified in the active
    492 .B ServerLayout
    493 section.
    494 Options with command line equivalents are overridden when their command
    495 line equivalent is used.
    496 The options recognised by this section are:
    497 .TP 7
    498 .BI "Option \*qDebug\*q  \*q" string \*q
    499 This comma-separated list provides a way to control various debugging switches
    500 from the config file.
    501 At the moment the only defined value is
    502 .B dmabuf_capable
    503 which instructs glamor to enable some unstable buffer management code.
    504 .TP 7
    505 .BI "Option \*qDefaultServerLayout\*q  \*q" layout\-id \*q
    506 This specifies the default
    507 .B ServerLayout
    508 section to use in the absence of the
    509 .B \-layout
    510 command line option.
    511 .TP 7
    512 .BI "Option \*qDontVTSwitch\*q  \*q" boolean \*q
    513 This disallows the use of the
    514 .BI Ctrl+Alt+F n
    515 sequence (where
    516 .RI F n
    517 refers to one of the numbered function keys).
    518 That sequence is normally used to switch to another \*qvirtual terminal\*q
    519 on operating systems that have this feature.
    520 When this option is enabled, that key sequence has no special meaning and
    521 is passed to clients.
    522 Default: off.
    523 .TP 7
    524 .BI "Option \*qDontZap\*q  \*q" boolean \*q
    525 This disallows the use of the
    526 .B Terminate_Server
    527 XKB action (usually on Ctrl+Alt+Backspace, depending on XKB options).
    528 This action is normally used to terminate the Xorg server.
    529 When this option is enabled, the action has no effect.
    530 Default: off.
    531 .TP 7
    532 .BI "Option \*qDontZoom\*q  \*q" boolean \*q
    533 This disallows the use of the
    534 .B Ctrl+Alt+Keypad\-Plus
    535 and
    536 .B Ctrl+Alt+Keypad\-Minus
    537 sequences.
    538 These sequences allows you to switch between video modes.
    539 When this option is enabled, those key sequences have no special meaning
    540 and are passed to clients.
    541 Default: off.
    542 .TP 7
    543 .BI "Option \*qDisableVidModeExtension\*q  \*q" boolean \*q
    544 This disables the parts of the VidMode extension used by the xvidtune client
    545 that can be used to change the video modes.
    546 Default: the VidMode extension is enabled.
    547 .TP 7
    548 .BI "Option \*qAllowNonLocalXvidtune\*q  \*q" boolean \*q
    549 This allows the xvidtune client (and other clients that use the VidMode
    550 extension) to connect from another host.
    551 Default: off.
    552 .TP 7
    553 .BI "Option \*qAllowMouseOpenFail\*q  \*q" boolean \*q
    554 This tells the mousedrv(@drivermansuffix@) and vmmouse(@drivermansuffix@)
    555 drivers to not report failure if the mouse device can't be opened/initialised.
    556 It has no effect on the evdev(@drivermansuffix@) or other drivers.
    557 Default: false.
    558 .TP 7
    559 .BI "Option \*qBlankTime\*q  \*q" time \*q
    560 sets the inactivity timeout for the
    561 .B blank
    562 phase of the screensaver.
    563 .I time
    564 is in minutes.
    565 This is equivalent to the Xorg server's
    566 .B \-s
    567 flag, and the value can be changed at run\-time with
    568 .BR xset(@appmansuffix@).
    569 Default: 10 minutes.
    570 .TP 7
    571 .BI "Option \*qStandbyTime\*q  \*q" time \*q
    572 sets the inactivity timeout for the
    573 .B standby
    574 phase of DPMS mode.
    575 .I time
    576 is in minutes, and the value can be changed at run\-time with
    577 .BR xset(@appmansuffix@).
    578 Default: 10 minutes.
    579 This is only suitable for VESA DPMS compatible monitors, and may not be
    580 supported by all video drivers.
    581 It is only enabled for screens that have the
    582 .B \*qDPMS\*q
    583 option set (see the MONITOR section below).
    584 .TP 7
    585 .BI "Option \*qSuspendTime\*q  \*q" time \*q
    586 sets the inactivity timeout for the
    587 .B suspend
    588 phase of DPMS mode.
    589 .I time
    590 is in minutes, and the value can be changed at run\-time with
    591 .BR xset(@appmansuffix@).
    592 Default: 10 minutes.
    593 This is only suitable for VESA DPMS compatible monitors, and may not be
    594 supported by all video drivers.
    595 It is only enabled for screens that have the
    596 .B \*qDPMS\*q
    597 option set (see the MONITOR section below).
    598 .TP 7
    599 .BI "Option \*qOffTime\*q  \*q" time \*q
    600 sets the inactivity timeout for the
    601 .B off
    602 phase of DPMS mode.
    603 .I time
    604 is in minutes, and the value can be changed at run\-time with
    605 .BR xset(@appmansuffix@).
    606 Default: 10 minutes.
    607 This is only suitable for VESA DPMS compatible monitors, and may not be
    608 supported by all video drivers.
    609 It is only enabled for screens that have the
    610 .B \*qDPMS\*q
    611 option set (see the MONITOR section below).
    612 .TP 7
    613 .BI "Option \*qMaxClients\*q  \*q" integer \*q
    614 Set the maximum number of clients allowed to connect to the X server.
    615 Acceptable values are 64, 128, 256 or 512.
    616 .TP 7
    617 .BI "Option \*qNoPM\*q  \*q" boolean \*q
    618 Disables something to do with power management events.
    619 Default: PM enabled on platforms that support it.
    620 .TP 7
    621 .BI "Option \*qXinerama\*q  \*q" boolean \*q
    622 enable or disable XINERAMA extension.
    623 Default is disabled.
    624 .TP 7
    625 .BI "Option \*qIndirectGLX\*q \*q" boolean \*q
    626 enable or disable indirect GLX contexts. Indirect GLX contexts are disabled by
    627 default.
    628 .TP 7
    629 .BI "Option \*qDRI2\*q \*q" boolean \*q
    630 enable or disable DRI2. DRI2 is disabled by default.
    631 .TP 7
    632 .BI "Option \*qGlxVisuals\*q \*q" string \*q
    633 This option controls how many GLX visuals the GLX modules sets up.
    634 The default value is
    635 .BR "typical" ,
    636 which will setup up a typical subset of
    637 the GLXFBConfigs provided by the driver as GLX visuals.  Other options are
    638 .BR "minimal" ,
    639 which will set up the minimal set allowed by the GLX specification and
    640 .BR "all"
    641 which will setup GLX visuals for all GLXFBConfigs.
    642 .TP 7
    643 .BI "Option \*qUseDefaultFontPath\*q \*q" boolean \*q
    644 Include the default font path even if other paths are specified in
    645 xorg.conf. If enabled, other font paths are included as well. Enabled by
    646 default.
    647 .TP 7
    648 .BI "Option \*qIgnoreABI\*q \*q" boolean \*q
    649 Allow modules built for a different, potentially incompatible version of
    650 the X server to load. Disabled by default.
    651 .TP 7
    652 .BI "Option \*qAutoAddDevices\*q \*q" boolean \*q
    653 If this option is disabled, then no devices will be added from the HAL or
    654 udev backends. Enabled by default.
    655 .TP 7
    656 .BI "Option \*qAutoEnableDevices\*q \*q" boolean \*q
    657 If this option is disabled, then the devices will be added (and the
    658 DevicePresenceNotify event sent), but not enabled, thus leaving policy up
    659 to the client.
    660 Enabled by default.
    661 .TP 7
    662 .BI "Option \*qAutoAddGPU\*q \*q" boolean \*q
    663 If this option is disabled, then no GPU devices will be added from the udev
    664 backend. Enabled by default. (May need to be disabled to setup Xinerama).
    665 .TP 7
    666 .BI "Option \*qAutoBindGPU\*q  \*q" boolean \*q
    667 If enabled then secondary GPUs will be automatically set up as output-sinks and
    668 offload-sources. Making e.g. laptop outputs connected only to the secondary
    669 GPU directly available for use without needing to run
    670 "xrandr --setprovideroutputsource". Enabled by default.
    671 .TP 7
    672 .BI "Option \*qLog\*q \*q" string \*q
    673 This option controls whether the log is flushed and/or synced to disk after
    674 each message.
    675 Possible values are
    676 .B flush
    677 or
    678 .BR sync .
    679 Unset by default.
    680 .SH "MODULE SECTION"
    681 The
    682 .B Module
    683 section is used to specify which Xorg server modules should be loaded.
    684 This section is ignored when the Xorg server is built in static form.
    685 The type of modules normally loaded in this section are Xorg server
    686 extension modules.
    687 Most other module types are loaded automatically when they are needed via
    688 other mechanisms.
    689 The
    690 .B Module
    691 section is optional, as are all of the entries that may be specified in
    692 it.
    693 .PP
    694 Entries in this section may be in two forms.
    695 The first and most commonly used form is an entry that uses the
    696 .B Load
    697 keyword, as described here:
    698 .TP 7
    699 .BI "Load  \*q" modulename \*q
    700 This instructs the server to load the module called
    701 .IR modulename .
    702 The module name given should be the module's standard name, not the
    703 module file name.
    704 The standard name is case\-sensitive, and does not include the \(lqlib\(rq
    705 or \(lqcyg\(rq prefixes, or the \(lq.so\(rq or \(lq.dll\(rq suffixes.
    706 .PP
    707 .RS 7
    708 Example: the DRI extension module can be loaded with the following entry:
    709 .PP
    710 .RS 4
    711 .B "Load \*qdri\*q"
    712 .RE
    713 .RE
    714 .TP 7
    715 .BI "Disable  \*q" modulename \*q
    716 This instructs the server to not load the module called
    717 .IR modulename .
    718 Some modules are loaded by default in the server, and this overrides that
    719 default. If a
    720 .B Load
    721 instruction is given for the same module, it overrides the
    722 .B Disable
    723 instruction and the module is loaded. The module name given should be the
    724 module's standard name, not the module file name. As with the
    725 .B Load
    726 instruction, the standard name is case-sensitive, and does not include the
    727 "lib" prefix, or the ".a", ".o", or ".so" suffixes.
    728 .PP
    729 The second form of entry is a
    730 .BR SubSection,
    731 with the subsection name being the module name, and the contents of the
    732 .B SubSection
    733 being
    734 .B Options
    735 that are passed to the module when it is loaded.
    736 .PP
    737 Example: the extmod module (which contains a miscellaneous group of
    738 server extensions) can be loaded, with the XFree86\-DGA extension
    739 disabled by using the following entry:
    740 .PP
    741 .RS 4
    742 .nf
    743 .B "SubSection \*qextmod\*q"
    744 .B "   Option  \*qomit XFree86\-DGA\*q"
    745 .B EndSubSection
    746 .fi
    747 .RE
    748 .PP
    749 Modules are searched for in each directory specified in the
    750 .B ModulePath
    751 search path, and in the drivers, extensions, input, internal, and
    752 multimedia subdirectories of each of those directories.
    753 In addition to this, operating system specific subdirectories of all
    754 the above are searched first if they exist.
    755 .PP
    756 To see what extension modules are available, check the extensions
    757 subdirectory under:
    758 .PP
    759 .RS 4
    760 .nf
    761 @modulepath@
    762 .fi
    763 .RE
    764 .PP
    765 The \(lqextmod\(rq, \(lqdbe\(rq, \(lqdri\(rq, \(lqdri2\(rq, \(lqglx\(rq,
    766 and \(lqrecord\(rq extension modules are loaded automatically, if they
    767 are present, unless disabled with \*qDisable\*q entries.
    768 It is recommended
    769 that at very least the \(lqextmod\(rq extension module be loaded.
    770 If it isn't, some commonly used server extensions (like the SHAPE
    771 extension) will not be available.
    772 .SH "EXTENSIONS SECTION"
    773 The
    774 .B Extensions
    775 section is used to specify which X11 protocol extensions should be enabled
    776 or disabled.
    777 The
    778 .B Extensions
    779 section is optional, as are all of the entries that may be specified in
    780 it.
    781 .PP
    782 Entries in this section are listed as Option statements with the name of
    783 the extension as the first argument, and a boolean value as the second.
    784 The extension name is case\-sensitive, and matches the form shown in the output
    785 of \*qXorg -extension ?\*q.
    786 .PP
    787 .RS 7
    788 Example: the MIT-SHM extension can be disabled with the following entry:
    789 .PP
    790 .RS 4
    791 .nf
    792 .B "Section \*qExtensions\*q"
    793 .B "    Option \*qMIT-SHM\*q \*qDisable\*q"
    794 .B "EndSection"
    795 .fi
    796 .RE
    797 .RE
    798 .SH "INPUTDEVICE SECTION"
    799 The config file may have multiple
    800 .B InputDevice
    801 sections.
    802 Recent X servers employ HAL or udev backends for input device enumeration
    803 and input hotplugging. It is usually not
    804 necessary to provide
    805 .B InputDevice
    806 sections in the xorg.conf if hotplugging is in use (i.e. AutoAddDevices is
    807 enabled). If hotplugging is enabled,
    808 .B InputDevice
    809 sections using the
    810 .B mouse, kbd
    811 and
    812 .B vmmouse
    813 driver will be ignored.
    814 .PP
    815 If hotplugging is disabled, there will normally
    816 be at least two: one for the core (primary) keyboard
    817 and one for the core pointer.
    818 If either of these two is missing, a default configuration for the missing
    819 ones will be used. In the absence of an explicitly specified core input
    820 device, the first
    821 .B InputDevice
    822 marked as
    823 .B CorePointer
    824 (or
    825 .BR CoreKeyboard )
    826 is used.
    827 If there is no match there, the first
    828 .B InputDevice
    829 that uses the \(lqmouse\(rq (or \(lqkbd\(rq) driver is used.
    830 The final fallback is to use built\-in default configurations.
    831 Currently the default configuration may not work as expected on all platforms.
    832 .PP
    833 .B InputDevice
    834 sections have the following format:
    835 .PP
    836 .RS 4
    837 .nf
    838 .B  "Section \*qInputDevice\*q"
    839 .BI "    Identifier \*q" name \*q
    840 .BI "    Driver     \*q" inputdriver \*q
    841 .I  "    options"
    842 .I  "    ..."
    843 .B  "EndSection"
    844 .fi
    845 .RE
    846 .PP
    847 The
    848 .B Identifier
    849 and
    850 .B Driver
    851 entries are required in all
    852 .B InputDevice
    853 sections.
    854 All other entries are optional.
    855 .PP
    856 The
    857 .B Identifier
    858 entry specifies the unique name for this input device.
    859 The
    860 .B Driver
    861 entry specifies the name of the driver to use for this input device.
    862 When using the loadable server, the input driver module
    863 .RI \*q inputdriver \*q
    864 will be loaded for each active
    865 .B InputDevice
    866 section.
    867 An
    868 .B InputDevice
    869 section is considered active if it is referenced by an active
    870 .B ServerLayout
    871 section, if it is referenced by the
    872 .B \-keyboard
    873 or
    874 .B \-pointer
    875 command line options, or if it is selected implicitly as the core pointer
    876 or keyboard device in the absence of such explicit references.
    877 The most commonly used input drivers are
    878 .BR evdev (@drivermansuffix@)
    879 on Linux systems, and
    880 .BR kbd (@drivermansuffix@)
    881 and
    882 .BR mousedrv (@drivermansuffix@)
    883 on other platforms.
    884 .PP
    885 .PP
    886 .B InputDevice
    887 sections recognise some driver\-independent
    888 .BR Options ,
    889 which are described here.
    890 See the individual input driver manual pages for a description of the
    891 device\-specific options.
    892 .TP 7
    893 .BI "Option \*qAutoServerLayout\*q  \*q" boolean \*q
    894 Always add the device to the ServerLayout section used by this instance of
    895 the server. This affects implied layouts as well as explicit layouts
    896 specified in the configuration and/or on the command line.
    897 .TP 7
    898 .BI "Option \*qCorePointer\*q"
    899 Deprecated, see
    900 .B Floating
    901 .TP 7
    902 .BI "Option \*qCoreKeyboard\*q"
    903 Deprecated, see
    904 .B Floating
    905 .TP 7
    906 .BI "Option \*qAlwaysCore\*q  \*q" boolean \*q
    907 Deprecated, see
    908 .B Floating
    909 .TP 7
    910 .BI "Option \*qSendCoreEvents\*q  \*q" boolean \*q
    911 Deprecated, see
    912 .B Floating
    913 
    914 .TP 7
    915 .BI "Option \*qFloating\*q  \*q" boolean \*q
    916 When enabled, the input device is set up floating and does not
    917 report events through any master device or control a cursor. The device is
    918 only available to clients using the X Input Extension API. This option is
    919 disabled by default.
    920 The options
    921 .B CorePointer,
    922 .B CoreKeyboard,
    923 .B AlwaysCore,
    924 and
    925 .B SendCoreEvents,
    926 are the inverse of option
    927 .B Floating
    928 (i.e.
    929 .B SendCoreEvents \*qon\*q
    930 is equivalent to
    931 .B Floating \*qoff\*q
    932 ).
    933 
    934 This option controls the startup behavior only, a device
    935 may be reattached or set floating at runtime.
    936 .TP 7
    937 .BI "Option \*qTransformationMatrix\*q \*q" a " " b " " c " " d " " e " " f " " g " " h " " i \*q
    938 Specifies the 3x3 transformation matrix for absolute input devices. The
    939 input device will be bound to the area given in the matrix.  In most
    940 configurations, "a" and "e" specify the width and height of the area the
    941 device is bound to, and "c" and "f" specify the x and y offset of the area.
    942 The value range is 0 to 1, where 1 represents the width or height of all
    943 root windows together, 0.5 represents half the area, etc. The values
    944 represent a 3x3 matrix, with the first, second and third group of three
    945 values representing the first, second and third row of the matrix,
    946 respectively.  The identity matrix is "1 0 0 0 1 0 0 0 1".
    947 .SS POINTER ACCELERATION
    948 For pointing devices, the following options control how the pointer
    949 is accelerated or decelerated with respect to physical device motion. Most of
    950 these can be adjusted at runtime, see the xinput(1) man page for details. Only
    951 the most important acceleration options are discussed here.
    952 .TP 7
    953 .BI "Option \*qAccelerationProfile\*q  \*q" integer \*q
    954 Select the profile. In layman's terms, the profile constitutes the "feeling" of
    955 the acceleration. More formally, it defines how the transfer function (actual
    956 acceleration as a function of current device velocity and acceleration controls)
    957 is constructed. This is mainly a matter of personal preference.
    958 .PP
    959 .RS 6
    960 .nf
    961 .B  " 0      classic (mostly compatible)"
    962 .B  "-1      none (only constant deceleration is applied)"
    963 .B  " 1      device-dependent"
    964 .B  " 2      polynomial (polynomial function)"
    965 .B  " 3      smooth linear (soft knee, then linear)"
    966 .B  " 4      simple (normal when slow, otherwise accelerated)"
    967 .B  " 5      power (power function)"
    968 .B  " 6      linear (more speed, more acceleration)"
    969 .B  " 7      limited (like linear, but maxes out at threshold)"
    970 .fi
    971 .RE
    972 .TP 7
    973 .BI "Option \*qConstantDeceleration\*q  \*q" real \*q
    974 Makes the pointer go
    975 .B deceleration
    976 times slower than normal. Most useful for high-resolution devices. A value
    977 between 0 and 1 will speed up the pointer.
    978 .TP 7
    979 .BI "Option \*qAdaptiveDeceleration\*q  \*q" real \*q
    980 Allows to actually decelerate the pointer when going slow. At most, it will be
    981 .B adaptive deceleration
    982 times slower. Enables precise pointer placement without sacrificing speed.
    983 .TP 7
    984 .BI "Option \*qAccelerationScheme\*q  \*q" string \*q
    985 Selects the scheme, which is the underlying algorithm.
    986 .PP
    987 .RS 7
    988 .nf
    989 .B  "predictable   default algorithm (behaving more predictable)"
    990 .B  "lightweight   old acceleration code (as specified in the X protocol spec)"
    991 .B  "none          no acceleration or deceleration"
    992 .fi
    993 .RE
    994 .TP 7
    995 .BI "Option \*qAccelerationNumerator\*q  \*q" integer \*q
    996 .TP 7
    997 .BI "Option \*qAccelerationDenominator\*q  \*q" integer \*q
    998 Set numerator and denominator of the acceleration factor. The acceleration
    999 factor is a rational which, together with threshold, can be used to tweak
   1000 profiles to suit the users needs. The
   1001 .B simple
   1002 and
   1003 .B limited
   1004 profiles use it directly (i.e. they accelerate by the factor), for other
   1005 profiles it should hold that a higher acceleration factor leads to a faster
   1006 pointer. Typically, 1 is unaccelerated and values up to 5 are sensible.
   1007 .TP 7
   1008 .BI "Option \*qAccelerationThreshold\*q  \*q" integer \*q
   1009 Set the threshold, which is roughly the velocity (usually device units per 10
   1010 ms) required for acceleration to become effective. The precise effect varies
   1011 with the profile however.
   1012 
   1013 .SH "INPUTCLASS SECTION"
   1014 The config file may have multiple
   1015 .B InputClass
   1016 sections.
   1017 These sections are optional and are used to provide configuration for a
   1018 class of input devices as they are automatically added. An input device can
   1019 match more than one
   1020 .B InputClass
   1021 section. Each class can override settings from a previous class, so it is
   1022 best to arrange the sections with the most generic matches first.
   1023 .PP
   1024 .B InputClass
   1025 sections have the following format:
   1026 .PP
   1027 .RS 4
   1028 .nf
   1029 .B  "Section \*qInputClass\*q"
   1030 .BI "    Identifier  \*q" name \*q
   1031 .I  "    entries"
   1032 .I  "    ..."
   1033 .I  "    options"
   1034 .I  "    ..."
   1035 .B  "EndSection"
   1036 .fi
   1037 .RE
   1038 .PP
   1039 The
   1040 .B Identifier
   1041 entry is required in all
   1042 .B InputClass
   1043 sections.
   1044 All other entries are optional.
   1045 .PP
   1046 The
   1047 .B Identifier
   1048 entry specifies the unique name for this input class.
   1049 The
   1050 .B Driver
   1051 entry specifies the name of the driver to use for this input device.
   1052 After all classes have been examined, the
   1053 .RI \*q inputdriver \*q
   1054 module from the first
   1055 .B Driver
   1056 entry will be enabled when using the loadable server.
   1057 .PP
   1058 When an input device is automatically added, its characteristics are
   1059 checked against all
   1060 .B InputClass
   1061 sections. Each section can contain optional entries to narrow the match
   1062 of the class. If none of the optional entries appear, the
   1063 .B InputClass
   1064 section is generic and will match any input device. If more than one of
   1065 these entries appear, they all must match for the configuration to apply.
   1066 .PP
   1067 There are two types of match entries used in
   1068 .B InputClass
   1069 sections. The first allows various tokens to be matched against attributes
   1070 of the device. An entry can be constructed to match attributes from different
   1071 devices by separating arguments with a '|' character. Multiple entries of the
   1072 same type may be supplied to add multiple matching conditions on the same
   1073 attribute. For example:
   1074 .PP
   1075 .RS 4
   1076 .nf
   1077 .B  "Section \*qInputClass\*q"
   1078 .B  "    Identifier   \*qMy Class\*q"
   1079 .B  "    # product string must contain example and
   1080 .B  "    # either gizmo or gadget
   1081 .B  "    MatchProduct \*qexample\*q
   1082 .B  "    MatchProduct \*qgizmo|gadget\*q
   1083 .B  "    NoMatchDriver \*qdrivername\*q
   1084 .I  "    ..."
   1085 .B  "EndSection"
   1086 .fi
   1087 .RE
   1088 .TP 7
   1089 .BI "MatchProduct  \*q" matchproduct \*q
   1090 This entry can be used to check if the substring
   1091 .RI \*q matchproduct \*q
   1092 occurs in the device's product name.
   1093 .TP 7
   1094 .BI "MatchVendor  \*q" matchvendor \*q
   1095 This entry can be used to check if the substring
   1096 .RI \*q matchvendor \*q
   1097 occurs in the device's vendor name.
   1098 .TP 7
   1099 .BI "MatchDevicePath \*q" matchdevice \*q
   1100 This entry can be used to check if the device file matches the
   1101 .RI \*q matchdevice \*q
   1102 pathname pattern.
   1103 .TP 7
   1104 .BI "MatchOS \*q" matchos \*q
   1105 This entry can be used to check if the operating system matches the
   1106 case-insensitive
   1107 .RI \*q matchos \*q
   1108 string. This entry is only supported on platforms providing the
   1109 .BR uname (2)
   1110 system call.
   1111 .TP 7
   1112 .BI "MatchPnPID \*q" matchpnp \*q
   1113 The device's Plug and Play (PnP) ID can be checked against the
   1114 .RI \*q matchpnp \*q
   1115 shell wildcard pattern.
   1116 .TP 7
   1117 .BI "MatchUSBID \*q" matchusb \*q
   1118 The device's USB ID can be checked against the
   1119 .RI \*q matchusb \*q
   1120 shell wildcard pattern. The ID is constructed as lowercase hexadecimal numbers
   1121 separated by a ':'. This is the same format as the
   1122 .BR lsusb (8)
   1123 program.
   1124 .TP 7
   1125 .BI "MatchDriver \*q" matchdriver \*q
   1126 Check the case-sensitive string
   1127 .RI \*q matchdriver \*q
   1128 against the currently configured driver of the device. Ordering of sections
   1129 using this entry is important since it will not match unless the driver has
   1130 been set by the config backend or a previous
   1131 .B InputClass
   1132 section.
   1133 .TP 7
   1134 .BI "MatchTag \*q" matchtag \*q
   1135 This entry can be used to check if tags assigned by the config backend
   1136 matches the
   1137 .RI \*q matchtag \*q
   1138 pattern. A match is found if at least one of the tags given in
   1139 .RI \*q matchtag \*q
   1140 matches at least one of the tags assigned by the backend.
   1141 .TP 7
   1142 .BI "MatchLayout \*q" matchlayout \*q
   1143 Check the case-sensitive string
   1144 .RI \*q matchlayout \*q
   1145 against the currently active
   1146 .B ServerLayout
   1147 section. The empty string "" matches an implicit layout which appears
   1148 if no named
   1149 .B ServerLayout
   1150 sections have been found.
   1151 .PP
   1152 The above directives have equivalents for negative matching with the
   1153 .B NoMatchProduct,
   1154 .B NoMatchVendor,
   1155 .B NoMatchDevicePath,
   1156 .B NoMatchOS,
   1157 .B NoMatchPnPID,
   1158 .B NoMatchUSBID,
   1159 .B NoMatchDriver,
   1160 .B NoMatchTag,
   1161 and
   1162 .B NoMatchLayout
   1163 directives. These NoMatch directives match if the subsequent match is not
   1164 met by the device.
   1165 .PP
   1166 The second type of entry is used to match device types. These entries take a
   1167 boolean argument similar to
   1168 .B Option
   1169 entries.
   1170 .TP 7
   1171 .BI "MatchIsKeyboard     \*q" bool \*q
   1172 .TP 7
   1173 .BI "MatchIsPointer      \*q" bool \*q
   1174 .TP 7
   1175 .BI "MatchIsJoystick     \*q" bool \*q
   1176 .TP 7
   1177 .BI "MatchIsTablet       \*q" bool \*q
   1178 .TP 7
   1179 .BI "MatchIsTabletPad    \*q" bool \*q
   1180 .TP 7
   1181 .BI "MatchIsTouchpad     \*q" bool \*q
   1182 .TP 7
   1183 .BI "MatchIsTouchscreen  \*q" bool \*q
   1184 .PP
   1185 When an input device has been matched to the
   1186 .B InputClass
   1187 section, any
   1188 .B Option
   1189 entries are applied to the device. One
   1190 .B InputClass
   1191 specific
   1192 .B Option
   1193 is recognized. See the
   1194 .B InputDevice
   1195 section above for a description of the remaining
   1196 .B Option
   1197 entries.
   1198 .TP 7
   1199 .BI "Option \*qIgnore\*q \*q" boolean \*q
   1200 This optional entry specifies that the device should be ignored entirely,
   1201 and not added to the server. This can be useful when the device is handled
   1202 by another program and no X events should be generated.
   1203 .SH "OUTPUTCLASS SECTION"
   1204 The config file may have multiple
   1205 .B OutputClass
   1206 sections.
   1207 These sections are optional and are used to provide configuration for a
   1208 class of output devices as they are automatically added.
   1209 An output device can match more than one
   1210 .B OutputClass
   1211 section.
   1212 Each class can override settings from a previous class, so it is best to
   1213 arrange the sections with the most generic matches first.
   1214 .PP
   1215 .B OutputClass
   1216 sections have the following format:
   1217 .PP
   1218 .RS 4
   1219 .nf
   1220 .B  "Section \*qOutputClass\*q"
   1221 .BI "    Identifier  \*q" name \*q
   1222 .I  "    entries"
   1223 .I  "    ..."
   1224 .B  "EndSection"
   1225 .fi
   1226 .RE
   1227 .PP
   1228 The
   1229 .B Identifier
   1230 entry is required in all
   1231 .B OutputClass
   1232 sections.
   1233 All other entries are optional.
   1234 .PP
   1235 The
   1236 .B Identifier
   1237 entry specifies the unique name for this output class.
   1238 The
   1239 .B Driver
   1240 entry specifies the name of the driver to use for this output device.
   1241 After all classes have been examined, the
   1242 .RI \*q outputdriver \*q
   1243 module from the first
   1244 .B Driver
   1245 entry will be enabled when using the loadable server.
   1246 .PP
   1247 When an output device is automatically added, its characteristics are
   1248 checked against all
   1249 .B OutputClass
   1250 sections.
   1251 Each section can contain optional entries to narrow the match of the class.
   1252 If none of the optional entries appear, the
   1253 .B OutputClass
   1254 section is generic and will match any output device.
   1255 If more than one of these entries appear, they all must match for the
   1256 configuration to apply.
   1257 .PP
   1258 The following list of tokens can be matched against attributes of the device.
   1259 An entry can be constructed to match attributes from different devices by
   1260 separating arguments with a '|' character.
   1261 .PP
   1262 For example:
   1263 .PP
   1264 .RS 4
   1265 .nf
   1266 .B  "Section \*qOutputClass\*q"
   1267 .B  "    Identifier   \*qMy Class\*q"
   1268 .B  "    # kernel driver must be either foo or bar
   1269 .B  "    MatchDriver \*qfoo|bar\*q
   1270 .I  "    ..."
   1271 .B  "EndSection"
   1272 .fi
   1273 .RE
   1274 .TP 7
   1275 .BI "MatchDriver \*q" matchdriver \*q
   1276 Check the case-sensitive string
   1277 .RI \*q matchdriver \*q
   1278 against the kernel driver of the device.
   1279 .PP
   1280 When an output device has been matched to the
   1281 .B OutputClass
   1282 section, any
   1283 .B Option
   1284 entries are applied to the device. One
   1285 .B OutputClass
   1286 specific
   1287 .B Option
   1288 is recognized. See the
   1289 .B Device
   1290 section below for a description of the remaining
   1291 .B Option
   1292 entries.
   1293 .TP 7
   1294 .BI "Option \*qPrimaryGPU\*q \*q" boolean \*q
   1295 This option specifies that the matched device should be treated as the
   1296 primary GPU, replacing the selection of the GPU used as output by the
   1297 firmware. If multiple output devices match an OutputClass section with
   1298 the PrimaryGPU option set, the first one enumerated becomes the primary GPU.
   1299 .PP
   1300 A
   1301 .B OutputClass
   1302 Section may contain
   1303 .B ModulePath
   1304 entries. When an output device matches an
   1305 .B OutputClass
   1306 section, any
   1307 .B ModulePath
   1308 entries in that
   1309 .B OutputClass
   1310 are pre-pended to the search path for loadable Xorg server modules. See
   1311 .B ModulePath
   1312 in the
   1313 .B Files
   1314 section for more info.
   1315 .SH "DEVICE SECTION"
   1316 The config file may have multiple
   1317 .B Device
   1318 sections.
   1319 There must be at least one, for the video card being used.
   1320 .PP
   1321 .B Device
   1322 sections have the following format:
   1323 .PP
   1324 .RS 4
   1325 .nf
   1326 .B  "Section \*qDevice\*q"
   1327 .BI "    Identifier \*q" name \*q
   1328 .BI "    Driver     \*q" driver \*q
   1329 .I  "    entries"
   1330 .I  "    ..."
   1331 .B  "EndSection"
   1332 .fi
   1333 .RE
   1334 .PP
   1335 The
   1336 .B Identifier
   1337 and
   1338 .B Driver
   1339 entries are required in all
   1340 .B Device
   1341 sections.  All other entries are optional.
   1342 .PP
   1343 The
   1344 .B Identifier
   1345 entry specifies the unique name for this graphics device.
   1346 The
   1347 .B Driver
   1348 entry specifies the name of the driver to use for this graphics device.
   1349 When using the loadable server, the driver module
   1350 .RI \*q driver \*q
   1351 will be loaded for each active
   1352 .B Device
   1353 section.
   1354 A
   1355 .B Device
   1356 section is considered active if it is referenced by an active
   1357 .B Screen
   1358 section.
   1359 .PP
   1360 .B Device
   1361 sections recognise some driver\-independent entries and
   1362 .BR Options ,
   1363 which are described here.
   1364 Not all drivers make use of these
   1365 driver\-independent entries, and many of those that do don't require them
   1366 to be specified because the information is auto\-detected.
   1367 See the individual graphics driver manual pages for further information
   1368 about this, and for a description of the device\-specific options.
   1369 Note that most of the
   1370 .B Options
   1371 listed here (but not the other entries) may be specified in the
   1372 .B Screen
   1373 section instead of here in the
   1374 .B Device
   1375 section.
   1376 .TP 7
   1377 .BI "BusID  \*q" bus\-id \*q
   1378 This specifies the bus location of the graphics card.
   1379 For PCI/AGP cards,
   1380 the
   1381 .I bus\-id
   1382 string has the form
   1383 .BI PCI: bus @ domain : device : function
   1384 (e.g., \(lqPCI:1@0:0:0\(rq might be appropriate for an AGP card). The
   1385 "@domain" part can be left out for PCI domain 0. This field is usually
   1386 optional in single-head configurations when using the primary graphics card.
   1387 In multi-head configurations, or when using a secondary graphics card in a
   1388 single-head configuration, this entry is mandatory.
   1389 Its main purpose is to make an unambiguous connection between the device
   1390 section and the hardware it is representing.
   1391 This information can usually be found by running the pciaccess tool
   1392 scanpci.
   1393 .TP 7
   1394 .BI "Screen  " number
   1395 This option is mandatory for cards where a single PCI entity can drive more
   1396 than one display (i.e., multiple CRTCs sharing a single graphics accelerator
   1397 and video memory).
   1398 One
   1399 .B Device
   1400 section is required for each head, and this
   1401 parameter determines which head each of the
   1402 .B Device
   1403 sections applies to.
   1404 The legal values of
   1405 .I number
   1406 range from 0 to one less than the total number of heads per entity.
   1407 Most drivers require that the primary screen (0) be present.
   1408 .TP 7
   1409 .BI "Chipset  \*q" chipset \*q
   1410 This usually optional entry specifies the chipset used on the graphics
   1411 board.
   1412 In most cases this entry is not required because the drivers will probe the
   1413 hardware to determine the chipset type.
   1414 Don't specify it unless the driver-specific documentation recommends that you
   1415 do.
   1416 .TP 7
   1417 .BI "Ramdac  \*q" ramdac\-type \*q
   1418 This optional entry specifies the type of RAMDAC used on the graphics
   1419 board.
   1420 This is only used by a few of the drivers, and in most cases it is not
   1421 required because the drivers will probe the hardware to determine the
   1422 RAMDAC type where possible.
   1423 Don't specify it unless the driver-specific documentation recommends that you
   1424 do.
   1425 .TP 7
   1426 .BI "DacSpeed  " speed
   1427 .TP 7
   1428 .BI "DacSpeed  " "speed\-8 speed\-16 speed\-24 speed\-32"
   1429 This optional entry specifies the RAMDAC speed rating (which is usually
   1430 printed on the RAMDAC chip).
   1431 The speed is in MHz.
   1432 When one value is given, it applies to all framebuffer pixel sizes.
   1433 When multiple values are given, they apply to the framebuffer pixel sizes
   1434 8, 16, 24 and 32 respectively.
   1435 This is not used by many drivers, and only needs to be specified when the
   1436 speed rating of the RAMDAC is different from the defaults built in to
   1437 driver, or when the driver can't auto-detect the correct defaults.
   1438 Don't specify it unless the driver-specific documentation recommends that you
   1439 do.
   1440 .TP 7
   1441 .BI "Clocks  " "clock ..."
   1442 specifies the pixel that are on your graphics board.
   1443 The clocks are in MHz, and may be specified as a floating point number.
   1444 The value is stored internally to the nearest kHz.
   1445 The ordering of the clocks is important.
   1446 It must match the order in which they are selected on the graphics board.
   1447 Multiple
   1448 .B Clocks
   1449 lines may be specified, and each is concatenated to form the list.
   1450 Most drivers do not use this entry, and it is only required for some older
   1451 boards with non-programmable clocks.
   1452 Don't specify this entry unless the driver-specific documentation explicitly
   1453 recommends that you do.
   1454 .TP
   1455 .BI "ClockChip  \*q" clockchip\-type \*q
   1456 This optional entry is used to specify the clock chip type on graphics
   1457 boards which have a programmable clock generator.
   1458 Only a few Xorg drivers support programmable clock chips.
   1459 For details, see the appropriate driver manual page.
   1460 .TP 7
   1461 .BI "VideoRam  " "mem"
   1462 This optional entry specifies the amount of video ram that is installed
   1463 on the graphics board.
   1464 This is measured in kBytes.
   1465 In most cases this is not required because the Xorg server probes
   1466 the graphics board to determine this quantity.
   1467 The driver-specific documentation should indicate when it might be needed.
   1468 .TP 7
   1469 .BI "MemBase  " "baseaddress"
   1470 This optional entry specifies the memory base address of a graphics
   1471 board's linear frame buffer.
   1472 This entry is not used by many drivers, and it should only be specified if
   1473 the driver-specific documentation recommends it.
   1474 .TP 7
   1475 .BI "IOBase  " "baseaddress"
   1476 This optional entry specifies the IO base address.
   1477 This entry is not used by many drivers, and it should only be specified if
   1478 the driver-specific documentation recommends it.
   1479 .TP 7
   1480 .BI "ChipID  " "id"
   1481 This optional entry specifies a numerical ID representing the chip type.
   1482 For PCI cards, it is usually the device ID.
   1483 This can be used to override the auto-detection, but that should only be done
   1484 when the driver-specific documentation recommends it.
   1485 .TP 7
   1486 .BI "ChipRev  " "rev"
   1487 This optional entry specifies the chip revision number.
   1488 This can be used to override the auto-detection, but that should only be done
   1489 when the driver-specific documentation recommends it.
   1490 .TP 7
   1491 .BI "MatchSeat  " "seat\-id"
   1492 Only apply this
   1493 .B Device
   1494 section if X server was started with
   1495 .B -seat
   1496 .I seat\-id
   1497 option.
   1498 .TP 7
   1499 .BI "Option \*qModeDebug\*q \*q" boolean \*q
   1500 Enable printing of additional debugging information about modesetting to
   1501 the server log.
   1502 .TP 7
   1503 .BI "Option \*qNoOutputInitialSize\*q \*q" width " " height \*q
   1504 Normally, the X server infers the initial screen size based on any
   1505 connected outputs.
   1506 However, if no outputs are connected, the X server picks a default screen size
   1507 of 1024 x 768.
   1508 This option overrides the default screen size to use when no outputs are
   1509 connected.
   1510 In contrast to the \*qVirtual\*q Display SubSection entry, which applies
   1511 unconditionally, \*qNoOutputInitialSize\*q is only used if no outputs are
   1512 detected when the X server starts.
   1513 .TP 7
   1514 .BI "Option \*qPreferCloneMode\*q \*q" boolean \*q
   1515 If enabled, bring up monitors of a screen in clone mode instead of horizontal
   1516 extended layout by default. (Defaults to off; the video driver can change the
   1517 default value, but this option can always override it)
   1518 .ig
   1519 .TP 7
   1520 This optional entry allows an IRQ number to be specified.
   1521 ..
   1522 .TP 7
   1523 .B Options
   1524 Option flags may be specified in the
   1525 .B Device
   1526 sections.
   1527 These include driver\-specific options and driver\-independent options.
   1528 The former are described in the driver\-specific documentation.
   1529 Some of the latter are described below in the section about the
   1530 .B Screen
   1531 section, and they may also be included here.
   1532 
   1533 .SH "VIDEOADAPTOR SECTION"
   1534 Nobody wants to say how this works.
   1535 Maybe nobody knows ...
   1536 
   1537 .SH "MONITOR SECTION"
   1538 The config file may have multiple
   1539 .B Monitor
   1540 sections.
   1541 There should normally be at least one, for the monitor being used,
   1542 but a default configuration will be created when one isn't specified.
   1543 .PP
   1544 .B Monitor
   1545 sections have the following format:
   1546 .PP
   1547 .RS 4
   1548 .nf
   1549 .B  "Section \*qMonitor\*q"
   1550 .BI "    Identifier \*q" name \*q
   1551 .I  "    entries"
   1552 .I  "    ..."
   1553 .B  "EndSection"
   1554 .fi
   1555 .RE
   1556 .PP
   1557 The only mandatory entry in a
   1558 .B Monitor
   1559 section is the
   1560 .B Identifier
   1561 entry.
   1562 .PP
   1563 The
   1564 .B Identifier
   1565 entry specifies the unique name for this monitor.
   1566 The
   1567 .B Monitor
   1568 section may be used to provide information about the specifications of the
   1569 monitor, monitor-specific
   1570 .BR Options ,
   1571 and information about the video modes to use with the monitor.
   1572 .PP
   1573 With RandR 1.2-enabled drivers, monitor sections may be tied to specific
   1574 outputs of the video card.  Using the name of the output defined by the video
   1575 driver plus the identifier of a monitor section, one associates a monitor
   1576 section with an output by adding an option to the Device section in the
   1577 following format:
   1578 
   1579 .BI "Option \*qMonitor-" outputname "\*q \*q" monitorsection \*q
   1580 
   1581 (for example,
   1582 .B Option \*qMonitor-VGA\*q \*qVGA monitor\*q
   1583 for a VGA output)
   1584 .PP
   1585 In the absence of specific association of monitor sections to outputs, if a
   1586 monitor section is present the server will associate it with an output to
   1587 preserve compatibility for previous single-head configurations.
   1588 .PP
   1589 Specifying video modes is optional because the server will use the DDC or other
   1590 information provided by the monitor to automatically configure the list of
   1591 modes available.
   1592 When modes are specified explicitly in the
   1593 .B Monitor
   1594 section (with the
   1595 .BR Mode ,
   1596 .BR ModeLine ,
   1597 or
   1598 .B UseModes
   1599 keywords), built-in modes with the same names are not included.
   1600 Built-in modes with different names are, however, still implicitly included,
   1601 when they meet the requirements of the monitor.
   1602 .PP
   1603 The entries that may be used in
   1604 .B Monitor
   1605 sections are described below.
   1606 .TP 7
   1607 .BI "VendorName  \*q" vendor \*q
   1608 This optional entry specifies the monitor's manufacturer.
   1609 .TP 7
   1610 .BI "ModelName  \*q" model \*q
   1611 This optional entry specifies the monitor's model.
   1612 .TP 7
   1613 .BI "HorizSync  " "horizsync\-range"
   1614 gives the range(s) of horizontal sync frequencies supported by the
   1615 monitor.
   1616 .I horizsync\-range
   1617 may be a comma separated list of either discrete values or ranges of
   1618 values.
   1619 A range of values is two values separated by a dash.
   1620 By default the values are in units of kHz.
   1621 They may be specified in MHz or Hz
   1622 if
   1623 .B MHz
   1624 or
   1625 .B Hz
   1626 is added to the end of the line.
   1627 The data given here is used by the Xorg server to determine if video
   1628 modes are within the specifications of the monitor.
   1629 This information should be available in the monitor's handbook.
   1630 If this entry is omitted, a default range of 28\-33kHz is used.
   1631 .TP 7
   1632 .BI "VertRefresh  " "vertrefresh\-range"
   1633 gives the range(s) of vertical refresh frequencies supported by the
   1634 monitor.
   1635 .I vertrefresh\-range
   1636 may be a comma separated list of either discrete values or ranges of
   1637 values.
   1638 A range of values is two values separated by a dash.
   1639 By default the values are in units of Hz.
   1640 They may be specified in MHz or kHz
   1641 if
   1642 .B MHz
   1643 or
   1644 .B kHz
   1645 is added to the end of the line.
   1646 The data given here is used by the Xorg server to determine if video
   1647 modes are within the specifications of the monitor.
   1648 This information should be available in the monitor's handbook.
   1649 If this entry is omitted, a default range of 43\-72Hz is used.
   1650 .TP 7
   1651 .BI "DisplaySize  " "width height"
   1652 This optional entry gives the width and height, in millimetres, of the
   1653 picture area of the monitor.
   1654 If given this is used to calculate the horizontal and vertical pitch (DPI) of
   1655 the screen.
   1656 .TP 7
   1657 .BI "Gamma  " "gamma\-value"
   1658 .TP 7
   1659 .BI "Gamma  " "red\-gamma green\-gamma blue\-gamma"
   1660 This is an optional entry that can be used to specify the gamma correction
   1661 for the monitor.
   1662 It may be specified as either a single value or as three separate RGB values.
   1663 The values should be in the range 0.1 to 10.0, and the default is 1.0.
   1664 Not all drivers are capable of using this information.
   1665 .TP 7
   1666 .BI "UseModes  \*q" modesection\-id \*q
   1667 Include the set of modes listed in the
   1668 .B Modes
   1669 section called
   1670 .IR modesection\-id.
   1671 This makes all of the modes defined in that section available for use by
   1672 this monitor.
   1673 .TP 7
   1674 .BI "Mode  \*q" name \*q
   1675 This is an optional multi-line entry that can be used to provide
   1676 definitions for video modes for the monitor.
   1677 In most cases this isn't necessary because the built-in set of VESA standard
   1678 modes will be sufficient.
   1679 The
   1680 .B Mode
   1681 keyword indicates the start of a multi-line video mode description.
   1682 The mode description is terminated with the
   1683 .B EndMode
   1684 keyword.
   1685 The mode description consists of the following entries:
   1686 .RS 7
   1687 .TP 4
   1688 .BI "DotClock  " clock
   1689 is the dot (pixel) clock rate to be used for the mode.
   1690 .TP 4
   1691 .BI "HTimings  " "hdisp hsyncstart hsyncend htotal"
   1692 specifies the horizontal timings for the mode.
   1693 .TP 4
   1694 .BI "VTimings  " "vdisp vsyncstart vsyncend vtotal"
   1695 specifies the vertical timings for the mode.
   1696 .TP 4
   1697 .BI "Flags  \*q" flag \*q " ..."
   1698 specifies an optional set of mode flags, each of which is a separate
   1699 string in double quotes.
   1700 .B \*qInterlace\*q
   1701 indicates that the mode is interlaced.
   1702 .B \*qDoubleScan\*q
   1703 indicates a mode where each scanline is doubled.
   1704 .B \*q+HSync\*q
   1705 and
   1706 .B \*q\-HSync\*q
   1707 can be used to select the polarity of the HSync signal.
   1708 .B \*q+VSync\*q
   1709 and
   1710 .B \*q\-VSync\*q
   1711 can be used to select the polarity of the VSync signal.
   1712 .B \*qComposite\*q
   1713 can be used to specify composite sync on hardware where this is supported.
   1714 Additionally, on some hardware,
   1715 .B \*q+CSync\*q
   1716 and
   1717 .B \*q\-CSync\*q
   1718 may be used to select the composite sync polarity.
   1719 .TP 4
   1720 .BI "HSkew  " hskew
   1721 specifies the number of pixels (towards the right edge of the screen) by
   1722 which the display enable signal is to be skewed.
   1723 Not all drivers use this information.
   1724 This option might become necessary to override the default value supplied
   1725 by the server (if any).
   1726 \(lqRoving\(rq horizontal lines indicate this value needs to be increased.
   1727 If the last few pixels on a scan line appear on the left of the screen,
   1728 this value should be decreased.
   1729 .TP 4
   1730 .BI "VScan  " vscan
   1731 specifies the number of times each scanline is painted on the screen.
   1732 Not all drivers use this information.
   1733 Values less than 1 are treated as 1, which is the default.
   1734 Generally, the
   1735 .B \*qDoubleScan\*q
   1736 .B Flag
   1737 mentioned above doubles this value.
   1738 .RE
   1739 .TP 7
   1740 .BI "ModeLine  \*q" name \*q " mode\-description"
   1741 This entry is a more compact version of the
   1742 .B Mode
   1743 entry, and it also can be used to specify video modes for the monitor.
   1744 This is a single line format for specifying video modes.
   1745 In most cases this isn't necessary because the built\-in set of VESA
   1746 standard modes will be sufficient.
   1747 .PP
   1748 .RS 7
   1749 The
   1750 .I mode\-description
   1751 is in four sections, the first three of which are mandatory.
   1752 The first is the dot (pixel) clock.
   1753 This is a single number specifying the pixel clock rate for the mode in
   1754 MHz.
   1755 The second section is a list of four numbers specifying the horizontal
   1756 timings.
   1757 These numbers are the
   1758 .IR hdisp ,
   1759 .IR hsyncstart ,
   1760 .IR hsyncend ,
   1761 and
   1762 .I htotal
   1763 values.
   1764 The third section is a list of four numbers specifying the vertical
   1765 timings.
   1766 These numbers are the
   1767 .IR vdisp ,
   1768 .IR vsyncstart ,
   1769 .IR vsyncend ,
   1770 and
   1771 .I vtotal
   1772 values.
   1773 The final section is a list of flags specifying other characteristics of
   1774 the mode.
   1775 .B Interlace
   1776 indicates that the mode is interlaced.
   1777 .B DoubleScan
   1778 indicates a mode where each scanline is doubled.
   1779 .B +HSync
   1780 and
   1781 .B \-HSync
   1782 can be used to select the polarity of the HSync signal.
   1783 .B +VSync
   1784 and
   1785 .B \-VSync
   1786 can be used to select the polarity of the VSync signal.
   1787 .B Composite
   1788 can be used to specify composite sync on hardware where this is supported.
   1789 Additionally, on some hardware,
   1790 .B +CSync
   1791 and
   1792 .B \-CSync
   1793 may be used to select the composite sync polarity.
   1794 The
   1795 .B HSkew
   1796 and
   1797 .B VScan
   1798 options mentioned above in the
   1799 .B Mode
   1800 entry description can also be used here.
   1801 .RE
   1802 .TP 7
   1803 .BI "Option \*qDPMS\*q \*q" bool \*q
   1804 This option controls whether the server should enable the DPMS extension
   1805 for power management for this screen.  The default is to enable the
   1806 extension.
   1807 .TP 7
   1808 .BI "Option \*qSyncOnGreen\*q \*q" bool \*q
   1809 This option controls whether the video card should drive the sync signal
   1810 on the green color pin.  Not all cards support this option, and most
   1811 monitors do not require it.  The default is off.
   1812 .TP 7
   1813 .BI "Option \*qPrimary\*q \*q" bool \*q
   1814 This optional entry specifies that the monitor should be treated as the primary
   1815 monitor. (RandR 1.2-supporting drivers only)
   1816 .TP 7
   1817 .BI "Option \*qPreferredMode\*q \*q" name \*q
   1818 This optional entry specifies a mode to be marked as the preferred initial mode
   1819 of the monitor.
   1820 (RandR 1.2-supporting drivers only)
   1821 .TP 7
   1822 .BI "Option \*qZoomModes\*q \*q" name " " name " " ... \*q
   1823 This optional entry specifies modes to be marked as zoom modes.
   1824 It is possible to switch to the next and previous mode via
   1825 .BR Ctrl+Alt+Keypad\-Plus " and " Ctrl+Alt+Keypad\-Minus .
   1826 All these keypad available modes are selected from the screen mode list.
   1827 This list is a copy of the compatibility output monitor mode list.
   1828 Since this output is the output connected to the lowest
   1829 dot-area monitor, as determined from its largest size mode, that
   1830 monitor defines the available zoom modes.
   1831 (RandR 1.2-supporting drivers only)
   1832 .TP 7
   1833 .BI "Option \*qPosition\*q \*q" x " " y \*q
   1834 This optional entry specifies the position of the monitor within the X
   1835 screen.
   1836 (RandR 1.2-supporting drivers only)
   1837 .TP 7
   1838 .BI "Option \*qLeftOf\*q \*q" output \*q
   1839 This optional entry specifies that the monitor should be positioned to the
   1840 left of the output (not monitor) of the given name.
   1841 (RandR 1.2-supporting drivers only)
   1842 .TP 7
   1843 .BI "Option \*qRightOf\*q \*q" output \*q
   1844 This optional entry specifies that the monitor should be positioned to the
   1845 right of the output (not monitor) of the given name.
   1846 (RandR 1.2-supporting drivers only)
   1847 .TP 7
   1848 .BI "Option \*qAbove\*q \*q" output \*q
   1849 This optional entry specifies that the monitor should be positioned above the
   1850 output (not monitor) of the given name.
   1851 (RandR 1.2-supporting drivers only)
   1852 .TP 7
   1853 .BI "Option \*qBelow\*q \*q" output \*q
   1854 This optional entry specifies that the monitor should be positioned below the
   1855 output (not monitor) of the given name.
   1856 (RandR 1.2-supporting drivers only)
   1857 .TP 7
   1858 .BI "Option \*qEnable\*q \*q" bool \*q
   1859 This optional entry specifies whether the monitor should be turned on
   1860 at startup.  By default, the server will attempt to enable all connected
   1861 monitors.
   1862 (RandR 1.2-supporting drivers only)
   1863 .TP 7
   1864 .BI "Option \*qDefaultModes\*q \*q" bool \*q
   1865 This optional entry specifies whether the server should add supported default
   1866 modes to the list of modes offered on this monitor. By default, the server
   1867 will add default modes; you should only disable this if you can guarantee
   1868 that EDID will be available at all times, or if you have added custom modelines
   1869 which the server can use.
   1870 (RandR 1.2-supporting drivers only)
   1871 .TP 7
   1872 .BI "Option \*qMinClock\*q \*q" frequency \*q
   1873 This optional entry specifies the minimum dot clock, in kHz, that is supported
   1874 by the monitor.
   1875 .TP 7
   1876 .BI "Option \*qMaxClock\*q \*q" frequency \*q
   1877 This optional entry specifies the maximum dot clock, in kHz, that is supported
   1878 by the monitor.
   1879 .TP 7
   1880 .BI "Option \*qIgnore\*q \*q" bool \*q
   1881 This optional entry specifies that the monitor should be ignored entirely,
   1882 and not reported through RandR.  This is useful if the hardware reports the
   1883 presence of outputs that don't exist.
   1884 (RandR 1.2-supporting drivers only)
   1885 .TP 7
   1886 .BI "Option \*qRotate\*q \*q" rotation \*q
   1887 This optional entry specifies the initial rotation of the given monitor.
   1888 Valid values for rotation are \*qnormal\*q, \*qleft\*q, \*qright\*q, and
   1889 \*qinverted\*q.
   1890 (RandR 1.2-supporting drivers only)
   1891 
   1892 .SH "MODES SECTION"
   1893 The config file may have multiple
   1894 .B Modes
   1895 sections, or none.
   1896 These sections provide a way of defining sets of video modes independently
   1897 of the
   1898 .B Monitor
   1899 sections.
   1900 .B Monitor
   1901 sections may include the definitions provided in these sections by
   1902 using the
   1903 .B UseModes
   1904 keyword.
   1905 In most cases the
   1906 .B Modes
   1907 sections are not necessary because the built\-in set of VESA standard modes
   1908 will be sufficient.
   1909 .PP
   1910 .B Modes
   1911 sections have the following format:
   1912 .PP
   1913 .RS 4
   1914 .nf
   1915 .B  "Section \*qModes\*q"
   1916 .BI "    Identifier \*q" name \*q
   1917 .I  "    entries"
   1918 .I  "    ..."
   1919 .B  "EndSection"
   1920 .fi
   1921 .RE
   1922 .PP
   1923 The
   1924 .B Identifier
   1925 entry specifies the unique name for this set of mode descriptions.
   1926 The other entries permitted in
   1927 .B Modes
   1928 sections are the
   1929 .B Mode
   1930 and
   1931 .B ModeLine
   1932 entries that are described above in the
   1933 .B Monitor
   1934 section.
   1935 .SH "SCREEN SECTION"
   1936 The config file may have multiple
   1937 .B Screen
   1938 sections.
   1939 There must be at least one, for the \(lqscreen\(rq being used.
   1940 A \(lqscreen\(rq represents the binding of a graphics device
   1941 .RB ( Device
   1942 section) and a monitor
   1943 .RB ( Monitor
   1944 section).
   1945 A
   1946 .B Screen
   1947 section is considered \(lqactive\(rq if it is referenced by an active
   1948 .B ServerLayout
   1949 section or by the
   1950 .B \-screen
   1951 command line option.
   1952 If neither of those is present, the first
   1953 .B Screen
   1954 section found in the config file is considered the active one.
   1955 .PP
   1956 .B Screen
   1957 sections have the following format:
   1958 .PP
   1959 .RS 4
   1960 .nf
   1961 .B  "Section \*qScreen\*q"
   1962 .BI "    Identifier \*q" name \*q
   1963 .BI "    Device     \*q" devid \*q
   1964 .BI "    GPUDevice  \*q" devid \*q
   1965 .BI "    Monitor    \*q" monid \*q
   1966 .I  "    entries"
   1967 .I  "    ..."
   1968 .BI "    SubSection \*qDisplay\*q"
   1969 .I  "       entries"
   1970 .I  "       ...
   1971 .B  "    EndSubSection"
   1972 .I  "    ..."
   1973 .B  "EndSection"
   1974 .fi
   1975 .RE
   1976 .PP
   1977 The
   1978 .B Identifier
   1979 entry is mandatory.
   1980 All others are optional.
   1981 .PP
   1982 The
   1983 .B Identifier
   1984 entry specifies the unique name for this screen.
   1985 The
   1986 .B Screen
   1987 section provides information specific to the whole screen, including
   1988 screen\-specific
   1989 .BR Options .
   1990 In multi\-head configurations, there will be multiple active
   1991 .B Screen
   1992 sections, one for each head.
   1993 The entries available
   1994 for this section are:
   1995 .TP 7
   1996 .BI "Device  \*q" device\-id \*q
   1997 This entry specifies the
   1998 .B Device
   1999 section to be used for this screen.  When multiple graphics cards are
   2000 present, this is what ties a specific card to a screen.  The
   2001 .I device\-id
   2002 must match the
   2003 .B Identifier
   2004 of a
   2005 .B Device
   2006 section in the config file.
   2007 .TP 7
   2008 .BI "GPUDevice  \*q" device\-id \*q
   2009 This entry specifies the
   2010 .B Device
   2011 section to be used as a secondary GPU device for this screen.  When multiple graphics cards are
   2012 present, this is what ties a specific secondary card to a screen.  The
   2013 .I device\-id
   2014 must match the
   2015 .B Identifier
   2016 of a
   2017 .B Device
   2018 section in the config file. This can be specified up to 4 times for a single screen.
   2019 .TP 7
   2020 .BI "Monitor  \*q" monitor\-id \*q
   2021 specifies which monitor description is to be used for this screen.
   2022 If a
   2023 .B Monitor
   2024 name is not specified, a default configuration is used.
   2025 Currently the default configuration may not function as expected on all
   2026 platforms.
   2027 .TP 7
   2028 .BI "VideoAdaptor  \*q" xv\-id \*q
   2029 specifies an optional Xv video adaptor description to be used with this
   2030 screen.
   2031 .TP 7
   2032 .BI "DefaultDepth  " depth
   2033 specifies which color depth the server should use by default.
   2034 The
   2035 .B \-depth
   2036 command line option can be used to override this.
   2037 If neither is specified, the default depth is driver\-specific, but in most
   2038 cases is 8.
   2039 .TP 7
   2040 .BI "DefaultFbBpp  " bpp
   2041 specifies which framebuffer layout to use by default.
   2042 The
   2043 .B \-fbbpp
   2044 command line option can be used to override this.
   2045 In most cases the driver will chose the best default value for this.
   2046 The only case where there is even a choice in this value is for depth 24,
   2047 where some hardware supports both a packed 24 bit framebuffer layout and a
   2048 sparse 32 bit framebuffer layout.
   2049 .TP 7
   2050 .BI "MatchSeat  " "seat\-id"
   2051 Only apply this
   2052 .B Screen
   2053 section if X server was started with
   2054 .B -seat
   2055 .I seat\-id
   2056 option.
   2057 .TP 7
   2058 .B Options
   2059 Various
   2060 .B Option
   2061 flags may be specified in the
   2062 .B Screen
   2063 section.
   2064 Some are driver\-specific and are described in the driver documentation.
   2065 Others are driver\-independent, and will eventually be described here.
   2066 .\" XXX These should really be in an xaa man page.
   2067 .TP 7
   2068 .BI "Option \*qAccel\*q"
   2069 Enables 2D hardware acceleration.
   2070 This option is on by default, but it may be necessary to turn it off if
   2071 there are bugs in the driver.
   2072 There are many options to disable specific accelerated operations, listed
   2073 below.
   2074 Note that disabling an operation will have no effect if the operation is
   2075 not accelerated (whether due to lack of support in the hardware or in the
   2076 driver).
   2077 .TP 7
   2078 .BI "Option \*qGlxVendorLibrary\*q \*q" string \*q
   2079 This option specifies a space-separated list of OpenGL vendor libraries to
   2080 use for the screen. This may be used to select an alternate implementation
   2081 for development, debugging, or alternate feature sets.
   2082 Default: mesa.
   2083 .TP 7
   2084 .BI "Option \*qInitPrimary\*q \*q" boolean \*q
   2085 Use the Int10 module to initialize the primary graphics card.
   2086 Normally, only secondary cards are soft-booted using the Int10 module, as the
   2087 primary card has already been initialized by the BIOS at boot time.
   2088 Default: false.
   2089 .TP 7
   2090 .BI "Option \*qNoInt10\*q \*q" boolean \*q
   2091 Disables the Int10 module, a module that uses the int10 call to the BIOS
   2092 of the graphics card to initialize it.
   2093 Default: false.
   2094 .PP
   2095 Each
   2096 .B Screen
   2097 section may optionally contain one or more
   2098 .B Display
   2099 subsections.
   2100 Those subsections provide depth/fbbpp specific configuration information,
   2101 and the one chosen depends on the depth and/or fbbpp that is being used for
   2102 the screen.
   2103 The
   2104 .B Display
   2105 subsection format is described in the section below.
   2106 
   2107 .SH "DISPLAY SUBSECTION"
   2108 Each
   2109 .B Screen
   2110 section may have multiple
   2111 .B Display
   2112 subsections.
   2113 The \(lqactive\(rq
   2114 .B Display
   2115 subsection is the first that matches the depth and/or fbbpp values being
   2116 used, or failing that, the first that has neither a depth or fbbpp value
   2117 specified.
   2118 The
   2119 .B Display
   2120 subsections are optional.
   2121 When there isn't one that matches the depth and/or fbbpp values being used,
   2122 all the parameters that can be specified here fall back to their defaults.
   2123 .PP
   2124 .B Display
   2125 subsections have the following format:
   2126 .PP
   2127 .RS 4
   2128 .nf
   2129 .B  "    SubSection \*qDisplay\*q"
   2130 .BI "        Depth  " depth
   2131 .I  "        entries"
   2132 .I  "        ..."
   2133 .B  "    EndSubSection"
   2134 .fi
   2135 .RE
   2136 .TP 7
   2137 .BI "Depth  " depth
   2138 This entry specifies what colour depth the
   2139 .B Display
   2140 subsection is to be used for.
   2141 This entry is usually specified, but it may be omitted to create a match\-all
   2142 .B Display
   2143 subsection or when wishing to match only against the
   2144 .B FbBpp
   2145 parameter.
   2146 The range of
   2147 .I depth
   2148 values that are allowed depends on the driver.
   2149 Most drivers support 8, 15, 16 and 24.
   2150 Some also support 1 and/or 4, and some may support other values (like 30).
   2151 Note:
   2152 .I depth
   2153 means the number of bits in a pixel that are actually used to determine
   2154 the pixel colour.
   2155 32 is not a valid
   2156 .I depth
   2157 value.
   2158 Most hardware that uses 32 bits per pixel only uses 24 of them to hold the
   2159 colour information, which means that the colour depth is 24, not 32.
   2160 .TP 7
   2161 .BI "FbBpp  " bpp
   2162 This entry specifies the framebuffer format this
   2163 .B Display
   2164 subsection is to be used for.
   2165 This entry is only needed when providing depth 24 configurations that allow
   2166 a choice between a 24 bpp packed framebuffer format and a 32bpp sparse
   2167 framebuffer format.
   2168 In most cases this entry should not be used.
   2169 .TP 7
   2170 .BI "Weight  " "red\-weight green\-weight blue\-weight"
   2171 This optional entry specifies the relative RGB weighting to be used
   2172 for a screen is being used at depth 16 for drivers that allow multiple
   2173 formats.
   2174 This may also be specified from the command line with the
   2175 .B \-weight
   2176 option (see
   2177 .BR Xorg(@appmansuffix@)).
   2178 .TP 7
   2179 .BI "Virtual  " "xdim ydim"
   2180 This optional entry specifies the virtual screen resolution to be used.
   2181 .I xdim
   2182 must be a multiple of either 8 or 16 for most drivers, and a multiple
   2183 of 32 when running in monochrome mode.
   2184 The given value will be rounded down if this is not the case.
   2185 Video modes which are too large for the specified virtual size will be
   2186 rejected.
   2187 If this entry is not present, the virtual screen resolution will be set to
   2188 accommodate all the valid video modes given in the
   2189 .B Modes
   2190 entry.
   2191 Some drivers/hardware combinations do not support virtual screens.
   2192 Refer to the appropriate driver\-specific documentation for details.
   2193 .TP 7
   2194 .BI "ViewPort  " "x0 y0"
   2195 This optional entry sets the upper left corner of the initial display.
   2196 This is only relevant when the virtual screen resolution is different
   2197 from the resolution of the initial video mode.
   2198 If this entry is not given, then the initial display will be centered in
   2199 the virtual display area.
   2200 .TP 7
   2201 .BI "Modes  \*q" mode\-name \*q " ..."
   2202 This optional entry specifies the list of video modes to use.
   2203 Each
   2204 .I mode\-name
   2205 specified must be in double quotes.
   2206 They must correspond to those specified or referenced in the appropriate
   2207 .B Monitor
   2208 section (including implicitly referenced built\-in VESA standard modes).
   2209 The server will delete modes from this list which don't satisfy various
   2210 requirements.
   2211 The first valid mode in this list will be the default display mode for
   2212 startup.
   2213 The list of valid modes is converted internally into a circular list.
   2214 It is possible to switch to the next mode with
   2215 .B Ctrl+Alt+Keypad\-Plus
   2216 and to the previous mode with
   2217 .BR Ctrl+Alt+Keypad\-Minus .
   2218 When this entry is omitted, the valid modes referenced by the appropriate
   2219 .B Monitor
   2220 section will be used.  If the
   2221 .B Monitor
   2222 section contains no modes, then the selection will be taken from the
   2223 built-in VESA standard modes.
   2224 .TP 7
   2225 .BI "Visual  \*q" visual\-name \*q
   2226 This optional entry sets the default root visual type.
   2227 This may also be specified from the command line (see the
   2228 .BR Xserver(@appmansuffix@)
   2229 man page).
   2230 The visual types available for depth 8 are (default is
   2231 .BR PseudoColor ):
   2232 .PP
   2233 .RS 11
   2234 .nf
   2235 .B StaticGray
   2236 .B GrayScale
   2237 .B StaticColor
   2238 .B PseudoColor
   2239 .B TrueColor
   2240 .B DirectColor
   2241 .fi
   2242 .RE
   2243 .PP
   2244 .RS 7
   2245 The visual type available for the depths 15, 16 and 24 are (default is
   2246 .BR TrueColor ):
   2247 .PP
   2248 .RS 4
   2249 .nf
   2250 .B TrueColor
   2251 .B DirectColor
   2252 .fi
   2253 .RE
   2254 .PP
   2255 Not all drivers support
   2256 .B DirectColor
   2257 at these depths.
   2258 .PP
   2259 The visual types available for the depth 4 are (default is
   2260 .BR StaticColor ):
   2261 .PP
   2262 .RS 4
   2263 .nf
   2264 .B StaticGray
   2265 .B GrayScale
   2266 .B StaticColor
   2267 .B PseudoColor
   2268 .fi
   2269 .RE
   2270 .PP
   2271 The visual type available for the depth 1 (monochrome) is
   2272 .BR StaticGray .
   2273 .RE
   2274 .TP 7
   2275 .BI "Black  " "red green blue"
   2276 This optional entry allows the \(lqblack\(rq colour to be specified.
   2277 This is only supported at depth 1.
   2278 The default is black.
   2279 .TP 7
   2280 .BI "White  " "red green blue"
   2281 This optional entry allows the \(lqwhite\(rq colour to be specified.
   2282 This is only supported at depth 1.
   2283 The default is white.
   2284 .TP 7
   2285 .B Options
   2286 Option flags may be specified in the
   2287 .B Display
   2288 subsections.
   2289 These may include driver\-specific options and driver\-independent options.
   2290 The former are described in the driver\-specific documentation.
   2291 Some of the latter are described above in the section about the
   2292 .B Screen
   2293 section, and they may also be included here.
   2294 .SH "SERVERLAYOUT SECTION"
   2295 The config file may have multiple
   2296 .B ServerLayout
   2297 sections.
   2298 A \(lqserver layout\(rq represents the binding of one or more screens
   2299 .RB ( Screen
   2300 sections) and one or more input devices
   2301 .RB ( InputDevice
   2302 sections) to form a complete configuration.
   2303 In multi\-head configurations, it also specifies the relative layout of the
   2304 heads.
   2305 A
   2306 .B ServerLayout
   2307 section is considered \(lqactive\(rq if it is referenced by the
   2308 .B \-layout
   2309 command line option or by an
   2310 .B "Option \*qDefaultServerLayout\*q"
   2311 entry in the
   2312 .B ServerFlags
   2313 section (the former takes precedence over the latter).
   2314 If those options are not used, the first
   2315 .B ServerLayout
   2316 section found in the config file is considered the active one.
   2317 If no
   2318 .B ServerLayout
   2319 sections are present, the single active screen and two active (core)
   2320 input devices are selected as described in the relevant sections above.
   2321 .PP
   2322 .B ServerLayout
   2323 sections have the following format:
   2324 .PP
   2325 .RS 4
   2326 .nf
   2327 .B  "Section \*qServerLayout\*q"
   2328 .BI "    Identifier   \*q" name \*q
   2329 .BI "    Screen       \*q" screen\-id \*q
   2330 .I  "    ..."
   2331 .BI "    InputDevice  \*q" idev\-id \*q
   2332 .I  "    ..."
   2333 .I  "    options"
   2334 .I  "    ..."
   2335 .B  "EndSection"
   2336 .fi
   2337 .RE
   2338 .PP
   2339 Each
   2340 .B ServerLayout
   2341 section must have an
   2342 .B Identifier
   2343 entry and at least one
   2344 .B Screen
   2345 entry.
   2346 .PP
   2347 The
   2348 .B Identifier
   2349 entry specifies the unique name for this server layout.
   2350 The
   2351 .B ServerLayout
   2352 section provides information specific to the whole session, including
   2353 session\-specific
   2354 .BR Options .
   2355 The
   2356 .B ServerFlags
   2357 options (described above) may be specified here, and ones given here
   2358 override those given in the
   2359 .B ServerFlags
   2360 section.
   2361 .PP
   2362 The entries that may be used in this section are described here.
   2363 .TP 7
   2364 .BI "Screen  " "screen\-num" " \*qscreen\-id\*q " "position\-information"
   2365 One of these entries must be given for each screen being used in
   2366 a session.
   2367 The
   2368 .I screen\-id
   2369 field is mandatory, and specifies the
   2370 .B Screen
   2371 section being referenced.
   2372 The
   2373 .I screen\-num
   2374 field is optional, and may be used to specify the screen number
   2375 in multi\-head configurations.
   2376 When this field is omitted, the screens will be numbered in the order that
   2377 they are listed in.
   2378 The numbering starts from 0, and must be consecutive.
   2379 The
   2380 .I position\-information
   2381 field describes the way multiple screens are positioned.
   2382 There are a number of different ways that this information can be provided:
   2383 .RS 7
   2384 .TP 4
   2385 .I  "x y"
   2386 .TP 4
   2387 .BI "Absolute  " "x y"
   2388 These both specify that the upper left corner's coordinates are
   2389 .RI ( x , y ).
   2390 The
   2391 .B Absolute
   2392 keyword is optional.
   2393 Some older versions of XFree86 (4.2 and earlier) don't recognise the
   2394 .B Absolute
   2395 keyword, so it's safest to just specify the coordinates without it.
   2396 .TP 4
   2397 .BI "RightOf   \*q" screen\-id \*q
   2398 .TP 4
   2399 .BI "LeftOf    \*q" screen\-id \*q
   2400 .TP 4
   2401 .BI "Above     \*q" screen\-id \*q
   2402 .TP 4
   2403 .BI "Below     \*q" screen\-id \*q
   2404 .TP 4
   2405 .BI "Relative  \*q" screen\-id \*q " x y"
   2406 These give the screen's location relative to another screen.
   2407 The first four position the screen immediately to the right, left, above or
   2408 below the other screen.
   2409 When positioning to the right or left, the top edges are aligned.
   2410 When positioning above or below, the left edges are aligned.
   2411 The
   2412 .B Relative
   2413 form specifies the offset of the screen's origin (upper left corner)
   2414 relative to the origin of another screen.
   2415 .RE
   2416 .TP 7
   2417 .BI "InputDevice  \*q" idev\-id "\*q \*q" option \*q " ..."
   2418 One of these entries should be given for each input device being used in
   2419 a session.
   2420 Normally at least two are required, one each for the core pointer and
   2421 keyboard devices.
   2422 If either of those is missing, suitable
   2423 .B InputDevice
   2424 entries are searched for using the method described above in the
   2425 .B INPUTDEVICE
   2426 section.  The
   2427 .I idev\-id
   2428 field is mandatory, and specifies the name of the
   2429 .B InputDevice
   2430 section being referenced.
   2431 Multiple
   2432 .I option
   2433 fields may be specified, each in double quotes.
   2434 The options permitted here are any that may also be given in the
   2435 .B InputDevice
   2436 sections.
   2437 Normally only session\-specific input device options would be used here.
   2438 The most commonly used options are:
   2439 .PP
   2440 .RS 11
   2441 .nf
   2442 .B \*qCorePointer\*q
   2443 .B \*qCoreKeyboard\*q
   2444 .B \*qSendCoreEvents\*q
   2445 .fi
   2446 .RE
   2447 .PP
   2448 .RS 7
   2449 and the first two should normally be used to indicate the core pointer
   2450 and core keyboard devices respectively.
   2451 .RE
   2452 .TP 7
   2453 .BI "MatchSeat  " "seat\-id"
   2454 Only apply this
   2455 .B ServerLayout
   2456 section if X server was started with
   2457 .B -seat
   2458 .I seat\-id
   2459 option.
   2460 .TP 7
   2461 .B Options
   2462 In addition to the following, any option permitted in the
   2463 .B ServerFlags
   2464 section may also be specified here.
   2465 When the same option appears in both places, the value given here overrides
   2466 the one given in the
   2467 .B ServerFlags
   2468 section.
   2469 .TP 7
   2470 .BI "Option \*qIsolateDevice\*q  \*q" bus\-id \*q
   2471 Restrict device resets to the specified
   2472 .IR bus\-id .
   2473 See the
   2474 .B BusID
   2475 option (described in
   2476 .BR "DEVICE SECTION" ,
   2477 above) for the format of the
   2478 .I bus\-id
   2479 parameter.
   2480 This option overrides
   2481 .BR SingleCard ,
   2482 if specified.
   2483 At present, only PCI devices can be isolated in this manner.
   2484 .TP 7
   2485 .BI "Option \*qSingleCard\*q  \*q" boolean \*q
   2486 As
   2487 .BR IsolateDevice ,
   2488 except that the bus ID of the first device in the layout is used.
   2489 .PP
   2490 Here is an example of a
   2491 .B ServerLayout
   2492 section for a dual headed configuration with two mice:
   2493 .PP
   2494 .RS 4
   2495 .nf
   2496 .B "Section \*qServerLayout\*q"
   2497 .B "    Identifier  \*qLayout 1\*q"
   2498 .B "    Screen      \*qMGA 1\*q"
   2499 .B "    Screen      \*qMGA 2\*q RightOf \*qMGA 1\*q"
   2500 .B "    InputDevice \*qKeyboard 1\*q \*qCoreKeyboard\*q"
   2501 .B "    InputDevice \*qMouse 1\*q    \*qCorePointer\*q"
   2502 .B "    InputDevice \*qMouse 2\*q    \*qSendCoreEvents\*q"
   2503 .B "    Option      \*qBlankTime\*q  \*q5\*q"
   2504 .B "EndSection"
   2505 .fi
   2506 .RE
   2507 .SH "DRI SECTION"
   2508 This optional section is used to provide some information for the
   2509 Direct Rendering Infrastructure.
   2510 Details about the format of this section can be found on-line at
   2511 .IR <https://dri.freedesktop.org/> .
   2512 .SH "VENDOR SECTION"
   2513 The optional
   2514 .B Vendor
   2515 section may be used to provide vendor\-specific configuration information.
   2516 Multiple
   2517 .B Vendor
   2518 sections may be present, and they may contain an
   2519 .B Identifier
   2520 entry and multiple
   2521 .B Option
   2522 flags.
   2523 The data therein is not used in this release.
   2524 .PP
   2525 .SH "SEE ALSO"
   2526 General:
   2527 .BR X (@miscmansuffix@),
   2528 .BR Xserver (@appmansuffix@),
   2529 .BR Xorg (@appmansuffix@),
   2530 .BR cvt (@appmansuffix@),
   2531 .BR gtf (@appmansuffix@).
   2532 .PP
   2533 .B "Not all modules or interfaces are available on all platforms."
   2534 .PP
   2535 Display drivers:
   2536 .BR apm (@drivermansuffix@),
   2537 .BR ati (@drivermansuffix@),
   2538 .BR chips (@drivermansuffix@),
   2539 .BR cirrus (@drivermansuffix@),
   2540 .BR cyrix (@drivermansuffix@),
   2541 .BR fbdev (@drivermansuffix@),
   2542 .BR glide (@drivermansuffix@),
   2543 .BR glint (@drivermansuffix@),
   2544 .BR i128 (@drivermansuffix@),
   2545 .BR i740 (@drivermansuffix@),
   2546 .BR imstt (@drivermansuffix@),
   2547 .BR intel (@drivermansuffix@),
   2548 .BR mga (@drivermansuffix@),
   2549 .BR neomagic (@drivermansuffix@),
   2550 .BR nv (@drivermansuffix@),
   2551 .BR openchrome (@drivermansuffix@),
   2552 .BR r128 (@drivermansuffix@),
   2553 .BR radeon (@drivermansuffix@),
   2554 .BR rendition (@drivermansuffix@),
   2555 .BR savage (@drivermansuffix@),
   2556 .BR s3virge (@drivermansuffix@),
   2557 .BR siliconmotion (@drivermansuffix@),
   2558 .BR sis (@drivermansuffix@),
   2559 .BR sisusb (@drivermansuffix@),
   2560 .BR sunbw2 (@drivermansuffix@),
   2561 .BR suncg14 (@drivermansuffix@),
   2562 .BR suncg3 (@drivermansuffix@),
   2563 .BR suncg6 (@drivermansuffix@),
   2564 .BR sunffb (@drivermansuffix@),
   2565 .BR sunleo (@drivermansuffix@),
   2566 .BR suntcx (@drivermansuffix@),
   2567 .BR tdfx (@drivermansuffix@),
   2568 .\" .BR tga (@drivermansuffix@),
   2569 .BR trident (@drivermansuffix@),
   2570 .BR tseng (@drivermansuffix@),
   2571 .BR vesa (@drivermansuffix@),
   2572 .BR vmware (@drivermansuffix@),
   2573 .BR voodoo (@drivermansuffix@),
   2574 .BR wsfb (@drivermansuffix@),
   2575 .BR xgi (@drivermansuffix@),
   2576 .BR xgixp (@drivermansuffix@).
   2577 .PP
   2578 Input drivers:
   2579 .BR acecad (@drivermansuffix@),
   2580 .BR citron (@drivermansuffix@),
   2581 .BR elographics (@drivermansuffix@),
   2582 .BR evdev (@drivermansuffix@),
   2583 .BR fpit (@drivermansuffix@),
   2584 .BR joystick (@drivermansuffix@),
   2585 .BR kbd (@drivermansuffix@),
   2586 .BR libinput (@drivermansuffix@),
   2587 .BR mousedrv (@drivermansuffix@),
   2588 .BR mutouch (@drivermansuffix@),
   2589 .BR penmount (@drivermansuffix@),
   2590 .BR synaptics (@drivermansuffix@),
   2591 .BR vmmouse (@drivermansuffix@),
   2592 .BR void (@drivermansuffix@),
   2593 .BR wacom (@drivermansuffix@).
   2594 .PP
   2595 Other modules and interfaces:
   2596 .BR exa (@drivermansuffix@),
   2597 .BR fbdevhw (@drivermansuffix@),
   2598 .\" .BR shadowfb (@drivermansuffix@),
   2599 .BR v4l (@drivermansuffix@).
   2600 .br
   2601 .SH AUTHORS
   2602 This manual page was largely rewritten by David Dawes
   2603 .IR <dawes@xfree86.org> .