Provided by: xserver-xorg-core_21.1.14-2ubuntu1_amd64 bug

NAME

       xorg.conf, xorg.conf.d - configuration files for Xorg X server

INTRODUCTION

       Xorg  supports  several  mechanisms  for  supplying/obtaining  configuration  and run-time
       parameters: command line options, environment variables,  the  xorg.conf  and  xorg.conf.d
       configuration  files,  auto-detection, and fallback defaults. When the same information is
       supplied in more than one way, the highest precedence  mechanism  is  used.  The  list  of
       mechanisms  is ordered from highest precedence to lowest. Note that not all parameters can
       be supplied via all methods. The available command line options and environment  variables
       (and  some  defaults)  are  described  in  the  Xserver(1)  and Xorg(1) manual pages. Most
       configuration file parameters, with their defaults, are described below. Driver and module
       specific  configuration  parameters  are described in the relevant driver or module manual
       page.

DESCRIPTION

       Xorg uses a configuration file called xorg.conf and files ending in the suffix .conf  from
       the  directory  xorg.conf.d  for  its  initial setup.  The xorg.conf configuration file is
       searched for in the following places when the server is started as a normal user:

           /etc/X11/<cmdline>
           /usr/etc/X11/<cmdline>
           /etc/X11/$XORGCONFIG
           /usr/etc/X11/$XORGCONFIG
           /etc/X11/xorg.conf
           /etc/xorg.conf
           /usr/etc/X11/xorg.conf.<hostname>
           /usr/etc/X11/xorg.conf
           /usr/lib/X11/xorg.conf.<hostname>
           /usr/lib/X11/xorg.conf

       where <cmdline> is a relative path (with no “..” components) specified  with  the  -config
       command  line option, $XORGCONFIG is the relative path (with no “..” components) specified
       by that environment variable, and <hostname> is the  machine's  hostname  as  reported  by
       gethostname(3).

       When  the  Xorg server is started by the “root” user, the config file search locations are
       as follows:

           <cmdline>
           /etc/X11/<cmdline>
           /usr/etc/X11/<cmdline>
           $XORGCONFIG
           /etc/X11/$XORGCONFIG
           /usr/etc/X11/$XORGCONFIG
           /etc/X11/xorg.conf
           /etc/xorg.conf
           /usr/etc/X11/xorg.conf.<hostname>
           /usr/etc/X11/xorg.conf
           /usr/lib/X11/xorg.conf.<hostname>
           /usr/lib/X11/xorg.conf

       where <cmdline> is the path specified with the -config command line option (which  may  be
       absolute  or  relative),  $XORGCONFIG  is  the path specified by that environment variable
       (absolute or relative), $HOME is the path specified by that environment variable  (usually
       the   home   directory),   and  <hostname>  is  the  machine's  hostname  as  reported  by
       gethostname(3).

       Additional configuration files are searched for in  the  following  directories  when  the
       server is started as a normal user:

           /etc/X11/<cmdline>
           /etc/X11/<cmdline>
           /etc/X11/xorg.conf.d
           /etc/X11/xorg.conf.d

       where <cmdline> is a relative path (with no “..” components) specified with the -configdir
       command line option.

       When the Xorg server is started by the “root” user, the config directory search  locations
       are as follows:

           <cmdline>
           /etc/X11/<cmdline>
           /etc/X11/<cmdline>
           /etc/X11/xorg.conf.d
           /etc/X11/xorg.conf.d

       where  <cmdline>  is the path specified with the -configdir command line option (which may
       be absolute or relative).

       Finally, configuration files will also be searched for in a directory reserved for  system
       use.   This  is to separate configuration files from the vendor or 3rd party packages from
       those of local administration.  These files are found in the following directory:

           /usr/share/X11/xorg.conf.d

       The xorg.conf and xorg.conf.d files are composed of a number  of  sections  which  may  be
       present  in  any  order, or omitted to use default configuration values.  Each section has
       the form:

           Section  "SectionName"
               SectionEntry
               ...
           EndSection

       The section names are:

           Files          File pathnames
           ServerFlags    Server flags
           Module         Dynamic module loading
           Extensions     Extension enabling
           InputDevice    Input device description
           InputClass     Input class description
           OutputClass    Output class description
           Device         Graphics device description
           VideoAdaptor   Xv video adaptor description
           Monitor        Monitor description
           Modes          Video modes descriptions
           Screen         Screen configuration
           ServerLayout   Overall layout
           DRI            DRI-specific configuration
           Vendor         Vendor-specific configuration

       The following obsolete section names are still recognised for compatibility purposes.   In
       new config files, the InputDevice section should be used instead.

           Keyboard       Keyboard configuration
           Pointer        Pointer/mouse configuration

       The old XInput section is no longer recognised.

       The  ServerLayout  sections  are  at  the highest level.  They bind together the input and
       output devices that will be used in a session.  The input devices  are  described  in  the
       InputDevice  sections.   Output devices usually consist of multiple independent components
       (e.g., a graphics board and a monitor).  These multiple components are bound  together  in
       the  Screen  sections,  and  it  is these that are referenced by the ServerLayout section.
       Each Screen section binds together a graphics board and a monitor.   The  graphics  boards
       are  described  in  the  Device  sections,  and  the monitors are described in the Monitor
       sections.

       Config file keywords are case-insensitive, and “_” characters are ignored.   Most  strings
       (including Option names) are also case-insensitive, and insensitive to white space and “_”
       characters.

       Each config file entry usually takes up a single line in the  file.   They  consist  of  a
       keyword, which is possibly followed by one or more arguments, with the number and types of
       the arguments depending on the keyword.  The argument types are:

           Integer     an integer number in decimal, hex or octal
           Real        a floating point number
           String      a string enclosed in double quote marks (")

       Note: hex integer values must be prefixed with “0x”, and octal values with “0”.

       A special keyword called  Option  may  be  used  to  provide  free-form  data  to  various
       components  of  the  server.  The Option keyword takes either one or two string arguments.
       The first is the option name, and the optional second argument is the option value.   Some
       commonly used option value types include:

           Integer     an integer number in decimal, hex or octal
           Real        a floating point number
           String      a sequence of characters
           Boolean     a boolean value (see below)
           Frequency   a frequency value (see below)

       Note that all Option values, not just strings, must be enclosed in quotes.

       Boolean  options  may  optionally have a value specified.  When no value is specified, the
       option's value is TRUE.  The following boolean option values are recognised as TRUE:

           1, on, true, yes

       and the following boolean option values are recognised as FALSE:

           0, off, false, no

       If an option name is prefixed with "No", then the option value is negated.

       Example: the following option entries are equivalent:

           Option "Accel"   "Off"
           Option "NoAccel"
           Option "NoAccel" "On"
           Option "Accel"   "false"
           Option "Accel"   "no"

       Frequency option values consist of a real number that is optionally followed by one of the
       following frequency units:

           Hz, k, kHz, M, MHz

       When the unit name is omitted, the correct units will be determined from the value and the
       expectations of the appropriate range of the value.  It  is  recommended  that  the  units
       always  be specified when using frequency option values to avoid any errors in determining
       the value.

FILES SECTION

       The Files section is used to specify some path names required  by  the  server.   Some  of
       these  paths  can  also  be  set  from the command line (see Xserver(1) and Xorg(1)).  The
       command line settings override the values specified in the config file.  The Files section
       is optional, as are all of the entries that may appear in it.

       The entries that can appear in this section are:

       FontPath "path"
              sets  the  search path for fonts.  This path is a comma separated list of font path
              elements which the Xorg server searches  for  font  databases.   Multiple  FontPath
              entries  may  be  specified, and they will be concatenated to build up the fontpath
              used by the server.  Font path elements can be absolute directory paths,  catalogue
              directories or a font server identifier. The formats of the later two are explained
              below:

              Catalogue directories:

                  Catalogue directories can be specified using the prefix catalogue:  before  the
                  directory  name.  The directory can then be populated with symlinks pointing to
                  the real font directories, using the following syntax in the symlink name:

                      <identifier>:[attribute]:pri=<priority>

                  where <identifier> is an alphanumeric identifier, [attribute] is  an  attribute
                  which  will  be passed to the underlying FPE and <priority> is a number used to
                  order the fontfile FPEs. Examples:

                      75dpi:unscaled:pri=20 -> /usr/share/X11/fonts/75dpi
                      gscript:pri=60 -> /usr/share/fonts/default/ghostscript
                      misc:unscaled:pri=10 -> /usr/share/X11/fonts/misc

              Font server identifiers:

                  Font server identifiers have the form:

                      <trans>/<hostname>:<port-number>

                  where <trans> is the transport type to use to connect to the font server (e.g.,
                  unix for UNIX-domain sockets or tcp for a TCP/IP connection), <hostname> is the
                  hostname of the machine running the font server, and <port-number> is the  port
                  number that the font server is listening on (usually 7100).

              When  this  entry is not specified in the config file, the server falls back to the
              compiled-in default font path, which contains  the  following  font  path  elements
              (which can be set inside a catalogue directory):

                  /usr/share/fonts/X11/misc/
                  /usr/share/fonts/X11/TTF/
                  /usr/share/fonts/X11/OTF/
                  /usr/share/fonts/X11/Type1/
                  /usr/share/fonts/X11/100dpi/
                  /usr/share/fonts/X11/75dpi/

              Font path elements that are found to be invalid are removed from the font path when
              the server starts up.

       ModulePath "path"
              sets the search path for loadable Xorg  server  modules.   This  path  is  a  comma
              separated  list  of directories which the Xorg server searches for loadable modules
              loading in the order specified.  Multiple ModulePath entries may be specified,  and
              they  will be concatenated to build the module search path used by the server.  The
              default module path is

                  /usr/lib/xorg/modules

       XkbDir "path"
              sets the base directory for keyboard layout files.  The -xkbdir command line option
              can be used to override this.  The default directory is

                  /usr/share/X11/xkb

SERVERFLAGS SECTION

       In addition to options specific to this section (described below), the ServerFlags section
       is used to specify some global Xorg server options.  All of the entries  in  this  section
       are  Options,  although for compatibility purposes some of the old style entries are still
       recognised.  Those  old  style  entries  are  not  documented  here,  and  using  them  is
       discouraged.   The  ServerFlags  section  is  optional,  as  are  the  entries that may be
       specified in it.

       Options specified in this section (with the exception of the "DefaultServerLayout" Option)
       may  be  overridden by Options specified in the active ServerLayout section.  Options with
       command line equivalents are overridden when their command line equivalent is  used.   The
       options recognised by this section are:

       Option "Debug"  "string"
              This comma-separated list provides a way to control various debugging switches from
              the config file.  At the moment the only  defined  value  is  dmabuf_capable  which
              instructs glamor to enable some unstable buffer management code.

       Option "DefaultServerLayout"  "layout-id"
              This  specifies  the  default  ServerLayout  section  to  use in the absence of the
              -layout command line option.

       Option "DontVTSwitch"  "boolean"
              This disallows the use of the Ctrl+Alt+Fn sequence (where Fn refers to one  of  the
              numbered  function  keys).   That  sequence  is  normally used to switch to another
              "virtual terminal" on operating systems that have this feature.  When  this  option
              is  enabled,  that  key  sequence  has no special meaning and is passed to clients.
              Default: off.

       Option "DontZap"  "boolean"
              This  disallows  the  use  of  the  Terminate_Server   XKB   action   (usually   on
              Ctrl+Alt+Backspace,  depending  on  XKB  options).  This action is normally used to
              terminate the Xorg server.  When this option is enabled, the action has no  effect.
              Default: off.

       Option "DontZoom"  "boolean"
              This  disallows  the  use  of  the  Ctrl+Alt+Keypad-Plus  and Ctrl+Alt+Keypad-Minus
              sequences.  These sequences allows you to switch between video  modes.   When  this
              option  is  enabled,  those key sequences have no special meaning and are passed to
              clients.  Default: off.

       Option "DisableVidModeExtension"  "boolean"
              This disables the parts of the VidMode extension used by the xvidtune  client  that
              can be used to change the video modes.  Default: the VidMode extension is enabled.

       Option "AllowNonLocalXvidtune"  "boolean"
              This  allows the xvidtune client (and other clients that use the VidMode extension)
              to connect from another host.  Default: off.

       Option "AllowMouseOpenFail"  "boolean"
              This tells the mousedrv(4) and vmmouse(4) drivers to  not  report  failure  if  the
              mouse  device  can't  be  opened/initialised.   It has no effect on the evdev(4) or
              other drivers.  Default: false.

       Option "BlankTime"  "time"
              sets the inactivity timeout for the blank phase of the  screensaver.   time  is  in
              minutes.   This  is  equivalent  to the Xorg server's -s flag, and the value can be
              changed at run-time with xset(1).  Default: 10 minutes.

       Option "StandbyTime"  "time"
              sets the inactivity timeout for the  standby  phase  of  DPMS  mode.   time  is  in
              minutes,  and  the  value  can  be  changed  at run-time with xset(1).  Default: 10
              minutes.  This is only suitable for VESA DPMS compatible monitors, and may  not  be
              supported  by  all  video  drivers.   It  is only enabled for screens that have the
              "DPMS" option set (see the MONITOR section below).

       Option "SuspendTime"  "time"
              sets the inactivity timeout for the  suspend  phase  of  DPMS  mode.   time  is  in
              minutes,  and  the  value  can  be  changed  at run-time with xset(1).  Default: 10
              minutes.  This is only suitable for VESA DPMS compatible monitors, and may  not  be
              supported  by  all  video  drivers.   It  is only enabled for screens that have the
              "DPMS" option set (see the MONITOR section below).

       Option "OffTime"  "time"
              sets the inactivity timeout for the off phase of DPMS mode.  time  is  in  minutes,
              and  the value can be changed at run-time with xset(1).  Default: 10 minutes.  This
              is only suitable for VESA DPMS compatible monitors, and may not be supported by all
              video drivers.  It is only enabled for screens that have the "DPMS" option set (see
              the MONITOR section below).

       Option "MaxClients"  "integer"
              Set the maximum number of clients allowed to connect to the X  server.   Acceptable
              values are 64, 128, 256 or 512.

       Option "NoPM"  "boolean"
              Disables  something  to  do  with  power management events.  Default: PM enabled on
              platforms that support it.

       Option "Xinerama"  "boolean"
              enable or disable XINERAMA extension.  Default is disabled.

       Option "IndirectGLX" "boolean"
              enable or disable indirect GLX contexts. Indirect  GLX  contexts  are  disabled  by
              default.

       Option "DRI2" "boolean"
              enable or disable DRI2. DRI2 is disabled by default.

       Option "GlxVisuals" "string"
              This  option  controls  how  many GLX visuals the GLX modules sets up.  The default
              value is typical, which will setup up a typical subset of the GLXFBConfigs provided
              by  the  driver  as  GLX visuals.  Other options are minimal, which will set up the
              minimal set allowed by the GLX specification and all which will setup  GLX  visuals
              for all GLXFBConfigs.

       Option "UseDefaultFontPath" "boolean"
              Include  the  default  font path even if other paths are specified in xorg.conf. If
              enabled, other font paths are included as well. Enabled by default.

       Option "IgnoreABI" "boolean"
              Allow modules built for a different, potentially  incompatible  version  of  the  X
              server to load. Disabled by default.

       Option "AutoAddDevices" "boolean"
              If  this  option  is  disabled,  then no devices will be added from the HAL or udev
              backends. Enabled by default.

       Option "AutoEnableDevices" "boolean"
              If  this  option  is  disabled,  then  the  devices  will   be   added   (and   the
              DevicePresenceNotify  event  sent),  but not enabled, thus leaving policy up to the
              client.  Enabled by default.

       Option "AutoAddGPU" "boolean"
              If this option is disabled, then no  GPU  devices  will  be  added  from  the  udev
              backend. Enabled by default. (May need to be disabled to setup Xinerama).

       Option "AutoBindGPU"  "boolean"
              If  enabled  then  secondary  GPUs will be automatically set up as output-sinks and
              offload-sources. Making e.g. laptop outputs connected only  to  the  secondary  GPU
              directly     available     for    use    without    needing    to    run    "xrandr
              --setprovideroutputsource". Enabled by default.

       Option "Log" "string"
              This option controls whether the log is flushed and/or synced to  disk  after  each
              message.  Possible values are flush or sync.  Unset by default.

       Option "AllowByteSwappedClients"  "boolean"
              Allow clients with a different byte-order than the server. Enabled by default.

MODULE SECTION

       The  Module  section  is used to specify which Xorg server modules should be loaded.  This
       section is ignored when the Xorg server is built in static  form.   The  type  of  modules
       normally  loaded  in  this  section  are Xorg server extension modules.  Most other module
       types are loaded automatically when they are needed  via  other  mechanisms.   The  Module
       section is optional, as are all of the entries that may be specified in it.

       Entries  in this section may be in two forms.  The first and most commonly used form is an
       entry that uses the Load keyword, as described here:

       Load  "modulename"
              This instructs the server to load the module called modulename.   The  module  name
              given should be the module's standard name, not the module file name.  The standard
              name is case-sensitive, and does not include the “lib” or “cyg”  prefixes,  or  the
              “.so” or “.dll” suffixes.

              Example: the DRI extension module can be loaded with the following entry:

                  Load "dri"

       Disable  "modulename"
              This  instructs  the server to not load the module called modulename.  Some modules
              are loaded by default in the server, and this overrides that  default.  If  a  Load
              instruction  is given for the same module, it overrides the Disable instruction and
              the module is loaded. The module name given should be the module's  standard  name,
              not  the module file name. As with the Load instruction, the standard name is case-
              sensitive, and does not include the "lib" prefix,  or  the  ".a",  ".o",  or  ".so"
              suffixes.

       The  second form of entry is a SubSection, with the subsection name being the module name,
       and the contents of the SubSection being Options that are passed to the module when it  is
       loaded.

       Example: the extmod module (which contains a miscellaneous group of server extensions) can
       be loaded, with the XFree86-DGA extension disabled by using the following entry:

           SubSection "extmod"
              Option  "omit XFree86-DGA"
           EndSubSection

       Modules are searched for in each directory specified in the ModulePath search path, and in
       the  drivers,  extensions, input, internal, and multimedia subdirectories of each of those
       directories.  In addition to this, operating system specific  subdirectories  of  all  the
       above are searched first if they exist.

       To see what extension modules are available, check the extensions subdirectory under:

           /usr/lib/xorg/modules

       The  “extmod”,  “dbe”,  “dri”,  “dri2”,  “glx”,  and “record” extension modules are loaded
       automatically, if they are  present,  unless  disabled  with  "Disable"  entries.   It  is
       recommended that at very least the “extmod” extension module be loaded.  If it isn't, some
       commonly used server extensions (like the SHAPE extension) will not be available.

EXTENSIONS SECTION

       The Extensions section is used to specify which X11 protocol extensions should be  enabled
       or  disabled.   The  Extensions section is optional, as are all of the entries that may be
       specified in it.

       Entries in this section are listed as Option statements with the name of the extension  as
       the  first  argument,  and  a  boolean  value  as  the  second.   The  extension  name  is
       case-sensitive, and matches the form shown in the output of "Xorg -extension ?".

              Example: the MIT-SHM extension can be disabled with the following entry:

                  Section "Extensions"
                      Option "MIT-SHM" "Disable"
                  EndSection

INPUTDEVICE SECTION

       The config file may have multiple InputDevice sections.  Recent X servers  employ  HAL  or
       udev  backends  for  input  device  enumeration  and  input hotplugging. It is usually not
       necessary to provide InputDevice sections in the xorg.conf if hotplugging is in use  (i.e.
       AutoAddDevices  is  enabled).  If  hotplugging  is enabled, InputDevice sections using the
       mouse, kbd and vmmouse driver will be ignored.

       If hotplugging is disabled, there will  normally  be  at  least  two:  one  for  the  core
       (primary)  keyboard  and  one  for the core pointer.  If either of these two is missing, a
       default configuration for the missing ones will be used. In the absence of  an  explicitly
       specified core input device, the first InputDevice marked as CorePointer (or CoreKeyboard)
       is used.  If there is no match there, the first InputDevice  that  uses  the  “mouse”  (or
       “kbd”)  driver  is  used.   The  final fallback is to use built-in default configurations.
       Currently the default configuration may not work as expected on all platforms.

       InputDevice sections have the following format:

           Section "InputDevice"
               Identifier "name"
               Driver     "inputdriver"
               options
               ...
           EndSection

       The Identifier and Driver entries are required in all  InputDevice  sections.   All  other
       entries are optional.

       The  Identifier  entry  specifies the unique name for this input device.  The Driver entry
       specifies the name of the driver to use for this input device.  When  using  the  loadable
       server,  the  input driver module "inputdriver" will be loaded for each active InputDevice
       section.  An InputDevice section is considered active if it is  referenced  by  an  active
       ServerLayout  section,  if  it  is  referenced  by  the -keyboard or -pointer command line
       options, or if it is selected implicitly as the core pointer or  keyboard  device  in  the
       absence of such explicit references.  The most commonly used input drivers are evdev(4) on
       Linux systems, and kbd(4) and mousedrv(4) on other platforms.

       InputDevice sections recognise some driver-independent Options, which are described  here.
       See  the  individual  input  driver  manual pages for a description of the device-specific
       options.

       Option "AutoServerLayout"  "boolean"
              Always add the device to the ServerLayout section used  by  this  instance  of  the
              server.  This  affects implied layouts as well as explicit layouts specified in the
              configuration and/or on the command line.

       Option "CorePointer"
              Deprecated, see Floating

       Option "CoreKeyboard"
              Deprecated, see Floating

       Option "AlwaysCore"  "boolean"
              Deprecated, see Floating

       Option "SendCoreEvents"  "boolean"
              Deprecated, see Floating

       Option "Floating"  "boolean"
              When enabled, the input device is set  up  floating  and  does  not  report  events
              through  any  master  device  or  control a cursor. The device is only available to
              clients using the X Input Extension API. This option is disabled by  default.   The
              options  CorePointer, CoreKeyboard, AlwaysCore, and SendCoreEvents, are the inverse
              of option Floating (i.e.  SendCoreEvents "on" is equivalent to Floating "off" ).

              This option controls the startup behavior only, a device may be reattached  or  set
              floating at runtime.

       Option "TransformationMatrix" "a b c d e f g h i"
              Specifies  the  3x3  transformation  matrix  for  absolute input devices. The input
              device will be bound to the area given in the matrix.  In most configurations,  "a"
              and  "e"  specify  the width and height of the area the device is bound to, and "c"
              and "f" specify the x and y offset of the area.  The value range is 0 to 1, where 1
              represents  the  width  or height of all root windows together, 0.5 represents half
              the area, etc. The values represent a 3x3 matrix, with the first, second and  third
              group  of  three values representing the first, second and third row of the matrix,
              respectively.  The identity matrix is "1 0 0 0 1 0 0 0 1".

   POINTER ACCELERATION
       For pointing devices, the following options control how  the  pointer  is  accelerated  or
       decelerated  with  respect  to  physical  device  motion. Most of these can be adjusted at
       runtime, see the xinput(1) man page for details.  Only  the  most  important  acceleration
       options are discussed here.

       Option "AccelerationProfile"  "integer"
              Select the profile. In layman's terms, the profile constitutes the "feeling" of the
              acceleration.  More  formally,  it  defines  how  the  transfer  function   (actual
              acceleration as a function of current device velocity and acceleration controls) is
              constructed. This is mainly a matter of personal preference.

              0      classic (mostly compatible)
             -1      none (only constant deceleration is applied)
              1      device-dependent
              2      polynomial (polynomial function)
              3      smooth linear (soft knee, then linear)
              4      simple (normal when slow, otherwise accelerated)
              5      power (power function)
              6      linear (more speed, more acceleration)
              7      limited (like linear, but maxes out at threshold)

       Option "ConstantDeceleration"  "real"
              Makes the pointer go deceleration times slower than normal. Most useful  for  high-
              resolution devices. A value between 0 and 1 will speed up the pointer.

       Option "AdaptiveDeceleration"  "real"
              Allows  to  actually  decelerate  the  pointer when going slow. At most, it will be
              adaptive deceleration times  slower.  Enables  precise  pointer  placement  without
              sacrificing speed.

       Option "AccelerationScheme"  "string"
              Selects the scheme, which is the underlying algorithm.

              predictable   default algorithm (behaving more predictable)
              lightweight   old acceleration code (as specified in the X protocol spec)
              none          no acceleration or deceleration

       Option "AccelerationNumerator"  "integer"

       Option "AccelerationDenominator"  "integer"
              Set  numerator  and denominator of the acceleration factor. The acceleration factor
              is a rational which, together with threshold, can be used to tweak profiles to suit
              the  users  needs.  The  simple  and  limited  profiles  use it directly (i.e. they
              accelerate by the factor),  for  other  profiles  it  should  hold  that  a  higher
              acceleration  factor  leads  to a faster pointer. Typically, 1 is unaccelerated and
              values up to 5 are sensible.

       Option "AccelerationThreshold"  "integer"
              Set the threshold, which is roughly the velocity (usually device units per  10  ms)
              required  for  acceleration to become effective. The precise effect varies with the
              profile however.

INPUTCLASS SECTION

       The config file may have multiple InputClass sections.  These sections  are  optional  and
       are  used  to provide configuration for a class of input devices as they are automatically
       added. An input device can match more than one InputClass section. Each class can override
       settings  from  a  previous  class,  so  it  is best to arrange the sections with the most
       generic matches first.

       InputClass sections have the following format:

           Section "InputClass"
               Identifier  "name"
               entries
               ...
               options
               ...
           EndSection

       The Identifier entry is required in  all  InputClass  sections.   All  other  entries  are
       optional.

       The  Identifier  entry  specifies  the unique name for this input class.  The Driver entry
       specifies the name of the driver to use for this input device.   After  all  classes  have
       been  examined,  the "inputdriver" module from the first Driver entry will be enabled when
       using the loadable server.

       When an input device is automatically added, its characteristics are checked  against  all
       InputClass  sections. Each section can contain optional entries to narrow the match of the
       class. If none of the optional entries appear, the InputClass section is generic and  will
       match  any input device. If more than one of these entries appear, they all must match for
       the configuration to apply.

       There are two types of match entries used in InputClass sections. The first allows various
       tokens  to  be  matched  against  attributes of the device. An entry can be constructed to
       match attributes from different devices by separating  arguments  with  a  '|'  character.
       Multiple  entries  of the same type may be supplied to add multiple matching conditions on
       the same attribute. For example:

           Section "InputClass"
               Identifier   "My Class"
               # product string must contain example and
               # either gizmo or gadget
               MatchProduct "example"
               MatchProduct "gizmo|gadget"
               NoMatchDriver "drivername"
               ...
           EndSection

       MatchProduct  "matchproduct"
              This entry can be used to check if  the  substring  "matchproduct"  occurs  in  the
              device's product name.

       MatchVendor  "matchvendor"
              This  entry  can  be  used  to  check  if the substring "matchvendor" occurs in the
              device's vendor name.

       MatchDevicePath "matchdevice"
              This entry can be used to check  if  the  device  file  matches  the  "matchdevice"
              pathname pattern.

       MatchOS "matchos"
              This  entry  can  be  used  to  check  if  the  operating  system matches the case-
              insensitive "matchos" string. This entry is only supported on  platforms  providing
              the uname(2) system call.

       MatchPnPID "matchpnp"
              The  device's  Plug  and  Play (PnP) ID can be checked against the "matchpnp" shell
              wildcard pattern.

       MatchUSBID "matchusb"
              The device's USB ID can be checked against the "matchusb" shell  wildcard  pattern.
              The  ID is constructed as lowercase hexadecimal numbers separated by a ':'. This is
              the same format as the lsusb(8) program.

       MatchDriver "matchdriver"
              Check the case-sensitive string  "matchdriver"  against  the  currently  configured
              driver  of  the device. Ordering of sections using this entry is important since it
              will not match unless the driver has been set by the config backend or  a  previous
              InputClass section.

       MatchTag "matchtag"
              This  entry can be used to check if tags assigned by the config backend matches the
              "matchtag" pattern. A match is  found  if  at  least  one  of  the  tags  given  in
              "matchtag" matches at least one of the tags assigned by the backend.

       MatchLayout "matchlayout"
              Check   the  case-sensitive  string  "matchlayout"  against  the  currently  active
              ServerLayout section. The empty string "" matches an implicit layout which  appears
              if no named ServerLayout sections have been found.

       The  above  directives  have  equivalents  for  negative matching with the NoMatchProduct,
       NoMatchVendor, NoMatchDevicePath, NoMatchOS,  NoMatchPnPID,  NoMatchUSBID,  NoMatchDriver,
       NoMatchTag, and NoMatchLayout directives. These NoMatch directives match if the subsequent
       match is not met by the device.

       The second type of entry is used to match device  types.  These  entries  take  a  boolean
       argument similar to Option entries.

       MatchIsKeyboard     "bool"

       MatchIsPointer      "bool"

       MatchIsJoystick     "bool"

       MatchIsTablet       "bool"

       MatchIsTabletPad    "bool"

       MatchIsTouchpad     "bool"

       MatchIsTouchscreen  "bool"

       When  an  input  device has been matched to the InputClass section, any Option entries are
       applied to the device. One InputClass specific Option is recognized. See  the  InputDevice
       section above for a description of the remaining Option entries.

       Option "Ignore" "boolean"
              This  optional  entry specifies that the device should be ignored entirely, and not
              added to the server. This can be useful when  the  device  is  handled  by  another
              program and no X events should be generated.

OUTPUTCLASS SECTION

       The  config  file may have multiple OutputClass sections.  These sections are optional and
       are used to provide configuration for a class of output devices as they are  automatically
       added.   An  output  device  can  match more than one OutputClass section.  Each class can
       override settings from a previous class, so it is best to arrange the  sections  with  the
       most generic matches first.

       OutputClass sections have the following format:

           Section "OutputClass"
               Identifier  "name"
               entries
               ...
           EndSection

       The  Identifier  entry  is  required  in  all OutputClass sections.  All other entries are
       optional.

       The Identifier entry specifies the unique name for this output class.   The  Driver  entry
       specifies  the  name  of the driver to use for this output device.  After all classes have
       been examined, the "outputdriver" module from the first Driver entry will be enabled  when
       using the loadable server.

       When  an output device is automatically added, its characteristics are checked against all
       OutputClass sections.  Each section can contain optional entries to narrow  the  match  of
       the class.  If none of the optional entries appear, the OutputClass section is generic and
       will match any output device.  If more than one of these entries  appear,  they  all  must
       match for the configuration to apply.

       The  following  list  of tokens can be matched against attributes of the device.  An entry
       can be constructed to match attributes from different devices by separating arguments with
       a '|' character.

       For example:

           Section "OutputClass"
               Identifier   "My Class"
               # kernel driver must be either foo or bar
               MatchDriver "foo|bar"
               ...
           EndSection

       MatchDriver "matchdriver"
              Check  the  case-sensitive  string  "matchdriver"  against the kernel driver of the
              device.

       When an output device has been matched to the OutputClass section, any Option entries  are
       applied  to  the  device.  One  OutputClass  specific Option is recognized. See the Device
       section below for a description of the remaining Option entries.

       Option "PrimaryGPU" "boolean"
              This option specifies that the matched device should be treated as the primary GPU,
              replacing  the  selection  of  the  GPU used as output by the firmware. If multiple
              output devices match an OutputClass section with the  PrimaryGPU  option  set,  the
              first one enumerated becomes the primary GPU.

       A  OutputClass  Section  may  contain ModulePath entries. When an output device matches an
       OutputClass section, any ModulePath entries in that  OutputClass  are  pre-pended  to  the
       search path for loadable Xorg server modules. See ModulePath in the Files section for more
       info.

DEVICE SECTION

       The config file may have multiple Device sections.  There must be at least  one,  for  the
       video card being used.

       Device sections have the following format:

           Section "Device"
               Identifier "name"
               Driver     "driver"
               entries
               ...
           EndSection

       The  Identifier and Driver entries are required in all Device sections.  All other entries
       are optional.

       The Identifier entry specifies the unique name for this graphics device.  The Driver entry
       specifies the name of the driver to use for this graphics device.  When using the loadable
       server, the driver module "driver" will be loaded  for  each  active  Device  section.   A
       Device section is considered active if it is referenced by an active Screen section.

       Device sections recognise some driver-independent entries and Options, which are described
       here.  Not all drivers make use of these driver-independent entries,  and  many  of  those
       that  do don't require them to be specified because the information is auto-detected.  See
       the individual graphics driver manual pages for further information about this, and for  a
       description  of  the  device-specific  options.  Note that most of the Options listed here
       (but not the other entries) may be specified in the Screen section instead of here in  the
       Device section.

       BusID  "bus-id"
              This  specifies  the  bus  location  of  the graphics card.  For PCI/AGP cards, the
              bus-id string has  the  form  PCI:bus@domain:device:function  (e.g.,  “PCI:1@0:0:0”
              might  be  appropriate for an AGP card). The "@domain" part can be left out for PCI
              domain 0. This field is usually optional in single-head configurations  when  using
              the primary graphics card.  In multi-head configurations, or when using a secondary
              graphics card in a single-head configuration, this entry is  mandatory.   Its  main
              purpose  is  to  make  an unambiguous connection between the device section and the
              hardware it is representing.  This information can usually be found by running  the
              pciaccess tool scanpci.

       Screen  number
              This  option  is  mandatory for cards where a single PCI entity can drive more than
              one display (i.e., multiple CRTCs sharing a single graphics accelerator  and  video
              memory).   One  Device  section  is  required  for  each  head,  and this parameter
              determines which head each of the Device sections applies to.  The legal values  of
              number  range  from  0 to one less than the total number of heads per entity.  Most
              drivers require that the primary screen (0) be present.

       Chipset  "chipset"
              This usually optional entry specifies the chipset used on the graphics  board.   In
              most  cases  this entry is not required because the drivers will probe the hardware
              to determine the  chipset  type.   Don't  specify  it  unless  the  driver-specific
              documentation recommends that you do.

       Ramdac  "ramdac-type"
              This  optional entry specifies the type of RAMDAC used on the graphics board.  This
              is only used by a few of the drivers, and in most cases it is not required  because
              the  drivers  will  probe the hardware to determine the RAMDAC type where possible.
              Don't specify it unless the driver-specific documentation recommends that you do.

       DacSpeed  speed

       DacSpeed  speed-8 speed-16 speed-24 speed-32
              This optional entry specifies the RAMDAC speed rating (which is usually printed  on
              the RAMDAC chip).  The speed is in MHz.  When one value is given, it applies to all
              framebuffer pixel sizes.  When  multiple  values  are  given,  they  apply  to  the
              framebuffer  pixel  sizes  8, 16, 24 and 32 respectively.  This is not used by many
              drivers, and only needs to be specified when the speed  rating  of  the  RAMDAC  is
              different  from  the  defaults  built  in to driver, or when the driver can't auto-
              detect  the  correct  defaults.   Don't  specify  it  unless  the   driver-specific
              documentation recommends that you do.

       Clocks  clock ...
              specifies  the  pixel  that are on your graphics board.  The clocks are in MHz, and
              may be specified as a floating point number.  The value is stored internally to the
              nearest  kHz.  The ordering of the clocks is important.  It must match the order in
              which they are selected on the  graphics  board.   Multiple  Clocks  lines  may  be
              specified, and each is concatenated to form the list.  Most drivers do not use this
              entry, and it is only required for some older boards with non-programmable  clocks.
              Don't  specify  this  entry  unless  the  driver-specific  documentation explicitly
              recommends that you do.

       ClockChip  "clockchip-type"
              This optional entry is used to specify the clock chip type on graphics boards which
              have  a programmable clock generator.  Only a few Xorg drivers support programmable
              clock chips.  For details, see the appropriate driver manual page.

       VideoRam  mem
              This optional entry specifies the amount of video ram  that  is  installed  on  the
              graphics  board.   This  is measured in kBytes.  In most cases this is not required
              because the Xorg server probes the graphics board to determine this quantity.   The
              driver-specific documentation should indicate when it might be needed.

       MemBase  baseaddress
              This  optional entry specifies the memory base address of a graphics board's linear
              frame buffer.  This entry is not used by  many  drivers,  and  it  should  only  be
              specified if the driver-specific documentation recommends it.

       IOBase  baseaddress
              This  optional entry specifies the IO base address.  This entry is not used by many
              drivers, and it should only  be  specified  if  the  driver-specific  documentation
              recommends it.

       ChipID  id
              This  optional  entry specifies a numerical ID representing the chip type.  For PCI
              cards, it is usually the device ID.   This  can  be  used  to  override  the  auto-
              detection,  but  that  should  only  be done when the driver-specific documentation
              recommends it.

       ChipRev  rev
              This optional entry specifies the chip  revision  number.   This  can  be  used  to
              override  the auto-detection, but that should only be done when the driver-specific
              documentation recommends it.

       MatchSeat  seat-id
              Only apply this Device section if X server was started with -seat seat-id option.

       Option "ModeDebug" "boolean"
              Enable printing of additional debugging information about modesetting to the server
              log.

       Option "NoOutputInitialSize" "width height"
              Normally,  the  X  server  infers  the  initial  screen size based on any connected
              outputs.  However, if no outputs are connected, the X server picks a default screen
              size  of  1024 x 768.  This option overrides the default screen size to use when no
              outputs are connected.  In contrast to  the  "Virtual"  Display  SubSection  entry,
              which applies unconditionally, "NoOutputInitialSize" is only used if no outputs are
              detected when the X server starts.

       Option "PreferCloneMode" "boolean"
              If enabled, bring up monitors of a screen  in  clone  mode  instead  of  horizontal
              extended  layout  by  default.  (Defaults  to  off; the video driver can change the
              default value, but this option can always override it)

       Options
              Option  flags  may  be  specified  in   the   Device   sections.    These   include
              driver-specific  options  and driver-independent options.  The former are described
              in the driver-specific documentation.  Some of the latter are  described  below  in
              the section about the Screen section, and they may also be included here.

VIDEOADAPTOR SECTION

       Nobody wants to say how this works.  Maybe nobody knows ...

MONITOR SECTION

       The  config  file  may  have multiple Monitor sections.  There should normally be at least
       one, for the monitor being used, but a default configuration  will  be  created  when  one
       isn't specified.

       Monitor sections have the following format:

           Section "Monitor"
               Identifier "name"
               entries
               ...
           EndSection

       The only mandatory entry in a Monitor section is the Identifier entry.

       The  Identifier entry specifies the unique name for this monitor.  The Monitor section may
       be used to provide information about the specifications of the  monitor,  monitor-specific
       Options, and information about the video modes to use with the monitor.

       With  RandR  1.2-enabled  drivers, monitor sections may be tied to specific outputs of the
       video card.  Using the name of the output defined by the video driver plus the  identifier
       of  a monitor section, one associates a monitor section with an output by adding an option
       to the Device section in the following format:

       Option "Monitor-outputname" "monitorsection"

       (for example, Option "Monitor-VGA" "VGA monitor" for a VGA output)

       In the absence of specific association of  monitor  sections  to  outputs,  if  a  monitor
       section  is  present the server will associate it with an output to preserve compatibility
       for previous single-head configurations.

       Specifying video modes  is  optional  because  the  server  will  use  the  DDC  or  other
       information  provided  by  the  monitor  to  automatically  configure  the  list  of modes
       available.  When modes are specified explicitly in the Monitor  section  (with  the  Mode,
       ModeLine,  or  UseModes  keywords),  built-in  modes with the same names are not included.
       Built-in modes with different names are, however, still  implicitly  included,  when  they
       meet the requirements of the monitor.

       The entries that may be used in Monitor sections are described below.

       VendorName  "vendor"
              This optional entry specifies the monitor's manufacturer.

       ModelName  "model"
              This optional entry specifies the monitor's model.

       HorizSync  horizsync-range
              gives  the  range(s)  of  horizontal  sync  frequencies  supported  by the monitor.
              horizsync-range may be a comma separated list of either discrete values  or  ranges
              of  values.   A  range of values is two values separated by a dash.  By default the
              values are in units of kHz.  They may be specified in MHz or Hz if  MHz  or  Hz  is
              added  to  the  end of the line.  The data given here is used by the Xorg server to
              determine if video modes are  within  the  specifications  of  the  monitor.   This
              information  should  be  available  in  the  monitor's  handbook.  If this entry is
              omitted, a default range of 28-33kHz is used.

       VertRefresh  vertrefresh-range
              gives the range(s) of  vertical  refresh  frequencies  supported  by  the  monitor.
              vertrefresh-range may be a comma separated list of either discrete values or ranges
              of values.  A range of values is two values separated by a dash.   By  default  the
              values  are  in  units of Hz.  They may be specified in MHz or kHz if MHz or kHz is
              added to the end of the line.  The data given here is used by the  Xorg  server  to
              determine  if  video  modes  are  within  the  specifications of the monitor.  This
              information should be available in  the  monitor's  handbook.   If  this  entry  is
              omitted, a default range of 43-72Hz is used.

       DisplaySize  width height
              This optional entry gives the width and height, in millimetres, of the picture area
              of the monitor.  If given this is used to calculate  the  horizontal  and  vertical
              pitch (DPI) of the screen.

       Gamma  gamma-value

       Gamma  red-gamma green-gamma blue-gamma
              This  is an optional entry that can be used to specify the gamma correction for the
              monitor.  It may be specified as either a single value or  as  three  separate  RGB
              values.   The  values  should  be in the range 0.1 to 10.0, and the default is 1.0.
              Not all drivers are capable of using this information.

       UseModes  "modesection-id"
              Include the set of modes listed in the Modes section called  modesection-id.   This
              makes all of the modes defined in that section available for use by this monitor.

       Mode  "name"
              This  is  an  optional multi-line entry that can be used to provide definitions for
              video modes for the monitor.  In most cases this isn't necessary because the built-
              in  set  of VESA standard modes will be sufficient.  The Mode keyword indicates the
              start of a multi-line video mode description.  The mode description  is  terminated
              with the EndMode keyword.  The mode description consists of the following entries:

              DotClock  clock
                  is the dot (pixel) clock rate to be used for the mode.

              HTimings  hdisp hsyncstart hsyncend htotal
                  specifies the horizontal timings for the mode.

              VTimings  vdisp vsyncstart vsyncend vtotal
                  specifies the vertical timings for the mode.

              Flags  "flag" ...
                  specifies  an optional set of mode flags, each of which is a separate string in
                  double  quotes.   "Interlace"  indicates   that   the   mode   is   interlaced.
                  "DoubleScan"  indicates  a  mode  where each scanline is doubled.  "+HSync" and
                  "-HSync" can be used to select the polarity of the HSync signal.  "+VSync"  and
                  "-VSync"  can  be used to select the polarity of the VSync signal.  "Composite"
                  can be used to specify composite sync on  hardware  where  this  is  supported.
                  Additionally, on some hardware, "+CSync" and "-CSync" may be used to select the
                  composite sync polarity.

              HSkew  hskew
                  specifies the number of pixels (towards the right edge of the screen) by  which
                  the  display  enable  signal  is  to  be  skewed.   Not  all  drivers  use this
                  information.  This option might become necessary to override the default  value
                  supplied by the server (if any).  “Roving” horizontal lines indicate this value
                  needs to be increased.  If the last few pixels on a scan  line  appear  on  the
                  left of the screen, this value should be decreased.

              VScan  vscan
                  specifies  the number of times each scanline is painted on the screen.  Not all
                  drivers use this information.  Values less than 1 are treated as  1,  which  is
                  the  default.   Generally,  the  "DoubleScan" Flag mentioned above doubles this
                  value.

       ModeLine  "name" mode-description
              This entry is a more compact version of the Mode entry, and it also can be used  to
              specify  video  modes for the monitor.  This is a single line format for specifying
              video modes.  In most cases this isn't necessary because the built-in set  of  VESA
              standard modes will be sufficient.

              The  mode-description  is in four sections, the first three of which are mandatory.
              The first is the dot (pixel) clock.  This is a single number specifying  the  pixel
              clock  rate  for  the  mode  in  MHz.  The second section is a list of four numbers
              specifying the horizontal  timings.   These  numbers  are  the  hdisp,  hsyncstart,
              hsyncend,  and  htotal  values.   The  third  section  is  a  list  of four numbers
              specifying  the  vertical  timings.   These  numbers  are  the  vdisp,  vsyncstart,
              vsyncend, and vtotal values.  The final section is a list of flags specifying other
              characteristics of the mode.  Interlace indicates  that  the  mode  is  interlaced.
              DoubleScan  indicates a mode where each scanline is doubled.  +HSync and -HSync can
              be used to select the polarity of the HSync signal.  +VSync and -VSync can be  used
              to  select  the  polarity  of  the  VSync signal.  Composite can be used to specify
              composite sync  on  hardware  where  this  is  supported.   Additionally,  on  some
              hardware, +CSync and -CSync may be used to select the composite sync polarity.  The
              HSkew and VScan options mentioned above in the Mode entry description can  also  be
              used here.

       Option "DPMS" "bool"
              This  option controls whether the server should enable the DPMS extension for power
              management for this screen.  The default is to enable the extension.

       Option "SyncOnGreen" "bool"
              This option controls whether the video card should drive the  sync  signal  on  the
              green  color  pin.   Not  all  cards  support this option, and most monitors do not
              require it.  The default is off.

       Option "Primary" "bool"
              This optional entry specifies that the monitor should be  treated  as  the  primary
              monitor. (RandR 1.2-supporting drivers only)

       Option "PreferredMode" "name"
              This  optional entry specifies a mode to be marked as the preferred initial mode of
              the monitor.  (RandR 1.2-supporting drivers only)

       Option "ZoomModes" "name name ..."
              This optional entry specifies modes to be marked as zoom modes.  It is possible  to
              switch   to   the   next   and   previous   mode   via   Ctrl+Alt+Keypad-Plus   and
              Ctrl+Alt+Keypad-Minus.  All these keypad available  modes  are  selected  from  the
              screen  mode  list.   This  list is a copy of the compatibility output monitor mode
              list.  Since this output is the output connected to the lowest dot-area monitor, as
              determined  from  its  largest  size  mode, that monitor defines the available zoom
              modes.  (RandR 1.2-supporting drivers only)

       Option "Position" "x y"
              This optional entry specifies the position of the  monitor  within  the  X  screen.
              (RandR 1.2-supporting drivers only)

       Option "LeftOf" "output"
              This  optional entry specifies that the monitor should be positioned to the left of
              the output (not monitor) of the given name.  (RandR 1.2-supporting drivers only)

       Option "RightOf" "output"
              This optional entry specifies that the monitor should be positioned to the right of
              the output (not monitor) of the given name.  (RandR 1.2-supporting drivers only)

       Option "Above" "output"
              This  optional  entry  specifies  that  the  monitor should be positioned above the
              output (not monitor) of the given name.  (RandR 1.2-supporting drivers only)

       Option "Below" "output"
              This optional entry specifies that the  monitor  should  be  positioned  below  the
              output (not monitor) of the given name.  (RandR 1.2-supporting drivers only)

       Option "Enable" "bool"
              This  optional  entry specifies whether the monitor should be turned on at startup.
              By default, the server will attempt  to  enable  all  connected  monitors.   (RandR
              1.2-supporting drivers only)

       Option "DefaultModes" "bool"
              This optional entry specifies whether the server should add supported default modes
              to the list of modes offered on this monitor.  By  default,  the  server  will  add
              default  modes; you should only disable this if you can guarantee that EDID will be
              available at all times, or if you have added custom modelines which the server  can
              use.  (RandR 1.2-supporting drivers only)

       Option "MinClock" "frequency"
              This  optional  entry specifies the minimum dot clock, in kHz, that is supported by
              the monitor.

       Option "MaxClock" "frequency"
              This optional entry specifies the maximum dot clock, in kHz, that is  supported  by
              the monitor.

       Option "Ignore" "bool"
              This  optional entry specifies that the monitor should be ignored entirely, and not
              reported through RandR.  This is useful if the hardware  reports  the  presence  of
              outputs that don't exist.  (RandR 1.2-supporting drivers only)

       Option "Rotate" "rotation"
              This  optional  entry  specifies  the initial rotation of the given monitor.  Valid
              values  for  rotation  are  "normal",  "left",  "right",  and  "inverted".   (RandR
              1.2-supporting drivers only)

MODES SECTION

       The  config  file may have multiple Modes sections, or none.  These sections provide a way
       of defining sets of video modes independently of the Monitor sections.   Monitor  sections
       may  include the definitions provided in these sections by using the UseModes keyword.  In
       most cases the Modes sections are not necessary because the built-in set of VESA  standard
       modes will be sufficient.

       Modes sections have the following format:

           Section "Modes"
               Identifier "name"
               entries
               ...
           EndSection

       The  Identifier  entry  specifies  the unique name for this set of mode descriptions.  The
       other entries permitted in Modes sections are the  Mode  and  ModeLine  entries  that  are
       described above in the Monitor section.

SCREEN SECTION

       The  config  file  may have multiple Screen sections.  There must be at least one, for the
       “screen” being used.  A “screen” represents the  binding  of  a  graphics  device  (Device
       section)  and  a monitor (Monitor section).  A Screen section is considered “active” if it
       is referenced by an active ServerLayout section or by the -screen command line option.  If
       neither  of  those  is  present,  the  first  Screen  section  found in the config file is
       considered the active one.

       Screen sections have the following format:

           Section "Screen"
               Identifier "name"
               Device     "devid"
               GPUDevice  "devid"
               Monitor    "monid"
               entries
               ...
               SubSection "Display"
                  entries
                  ...
               EndSubSection
               ...
           EndSection

       The Identifier entry is mandatory.  All others are optional.

       The Identifier entry specifies the unique  name  for  this  screen.   The  Screen  section
       provides  information specific to the whole screen, including screen-specific Options.  In
       multi-head configurations, there will be multiple active Screen  sections,  one  for  each
       head.  The entries available for this section are:

       Device  "device-id"
              This  entry specifies the Device section to be used for this screen.  When multiple
              graphics cards are present, this is what ties a specific card  to  a  screen.   The
              device-id must match the Identifier of a Device section in the config file.

       GPUDevice  "device-id"
              This  entry  specifies  the Device section to be used as a secondary GPU device for
              this screen.  When multiple graphics  cards  are  present,  this  is  what  ties  a
              specific  secondary card to a screen.  The device-id must match the Identifier of a
              Device section in the config file. This can be specified up to 4 times for a single
              screen.

       Monitor  "monitor-id"
              specifies  which  monitor  description is to be used for this screen.  If a Monitor
              name is not specified, a default configuration  is  used.   Currently  the  default
              configuration may not function as expected on all platforms.

       VideoAdaptor  "xv-id"
              specifies an optional Xv video adaptor description to be used with this screen.

       DefaultDepth  depth
              specifies  which  color depth the server should use by default.  The -depth command
              line option can be used to override this.  If neither  is  specified,  the  default
              depth is driver-specific, but in most cases is 8.

       DefaultFbBpp  bpp
              specifies  which  framebuffer  layout  to  use by default.  The -fbbpp command line
              option can be used to override this.  In most cases the driver will chose the  best
              default  value  for this.  The only case where there is even a choice in this value
              is for depth 24, where some hardware supports both  a  packed  24  bit  framebuffer
              layout and a sparse 32 bit framebuffer layout.

       MatchSeat  seat-id
              Only apply this Screen section if X server was started with -seat seat-id option.

       Options
              Various   Option   flags  may  be  specified  in  the  Screen  section.   Some  are
              driver-specific  and  are  described  in  the  driver  documentation.   Others  are
              driver-independent, and will eventually be described here.

       Option "Accel"
              Enables  2D  hardware  acceleration.   This  option is on by default, but it may be
              necessary to turn it off if there are bugs in the driver.  There are  many  options
              to  disable  specific accelerated operations, listed below.  Note that disabling an
              operation will have no effect if the operation is not accelerated (whether  due  to
              lack of support in the hardware or in the driver).

       Option "GlxVendorLibrary" "string"
              This  option specifies a space-separated list of OpenGL vendor libraries to use for
              the screen. This may be used to select an alternate implementation for development,
              debugging, or alternate feature sets.  Default: mesa.

       Option "InitPrimary" "boolean"
              Use  the  Int10  module  to  initialize  the primary graphics card.  Normally, only
              secondary cards are soft-booted using the Int10 module, as  the  primary  card  has
              already been initialized by the BIOS at boot time.  Default: false.

       Option "NoInt10" "boolean"
              Disables  the  Int10  module,  a module that uses the int10 call to the BIOS of the
              graphics card to initialize it.  Default: false.

       Each Screen section may  optionally  contain  one  or  more  Display  subsections.   Those
       subsections  provide  depth/fbbpp  specific  configuration information, and the one chosen
       depends on the depth and/or fbbpp  that  is  being  used  for  the  screen.   The  Display
       subsection format is described in the section below.

DISPLAY SUBSECTION

       Each  Screen  section  may  have  multiple  Display  subsections.   The  “active”  Display
       subsection is the first that matches the depth and/or fbbpp values being used, or  failing
       that,  the  first  that  has  neither  a  depth  or  fbbpp  value  specified.  The Display
       subsections are optional.  When there isn't one that matches the depth and/or fbbpp values
       being used, all the parameters that can be specified here fall back to their defaults.

       Display subsections have the following format:

               SubSection "Display"
                   Depth  depth
                   entries
                   ...
               EndSubSection

       Depth  depth
              This  entry  specifies  what colour depth the Display subsection is to be used for.
              This entry is usually specified, but it  may  be  omitted  to  create  a  match-all
              Display  subsection or when wishing to match only against the FbBpp parameter.  The
              range of depth values that are allowed depends on the driver.  Most drivers support
              8,  15, 16 and 24.  Some also support 1 and/or 4, and some may support other values
              (like 30).  Note: depth means the number of bits in a pixel that are actually  used
              to  determine the pixel colour.  32 is not a valid depth value.  Most hardware that
              uses 32 bits per pixel only uses 24 of them to hold the colour  information,  which
              means that the colour depth is 24, not 32.

       FbBpp  bpp
              This  entry  specifies the framebuffer format this Display subsection is to be used
              for.  This entry is only needed when providing depth 24 configurations that allow a
              choice  between  a  24 bpp packed framebuffer format and a 32bpp sparse framebuffer
              format.  In most cases this entry should not be used.

       Weight  red-weight green-weight blue-weight
              This optional entry specifies the relative RGB weighting to be used for a screen is
              being  used  at depth 16 for drivers that allow multiple formats.  This may also be
              specified from the command line with the -weight option (see Xorg(1)).

       Virtual  xdim ydim
              This optional entry specifies the virtual screen resolution to be used.  xdim  must
              be a multiple of either 8 or 16 for most drivers, and a multiple of 32 when running
              in monochrome mode.  The given value will be rounded down if this is not the  case.
              Video  modes  which  are too large for the specified virtual size will be rejected.
              If this entry is not  present,  the  virtual  screen  resolution  will  be  set  to
              accommodate   all   the   valid  video  modes  given  in  the  Modes  entry.   Some
              drivers/hardware combinations  do  not  support  virtual  screens.   Refer  to  the
              appropriate driver-specific documentation for details.

       ViewPort  x0 y0
              This  optional  entry  sets  the upper left corner of the initial display.  This is
              only relevant when the virtual screen resolution is different from  the  resolution
              of  the  initial  video mode.  If this entry is not given, then the initial display
              will be centered in the virtual display area.

       Modes  "mode-name" ...
              This optional entry specifies the list of  video  modes  to  use.   Each  mode-name
              specified  must  be  in  double quotes.  They must correspond to those specified or
              referenced in the appropriate  Monitor  section  (including  implicitly  referenced
              built-in  VESA  standard modes).  The server will delete modes from this list which
              don't satisfy various requirements.  The first valid mode in this list will be  the
              default  display mode for startup.  The list of valid modes is converted internally
              into  a  circular  list.   It  is  possible  to  switch  to  the  next  mode   with
              Ctrl+Alt+Keypad-Plus  and  to  the  previous mode with Ctrl+Alt+Keypad-Minus.  When
              this entry is omitted, the  valid  modes  referenced  by  the  appropriate  Monitor
              section will be used.  If the Monitor section contains no modes, then the selection
              will be taken from the built-in VESA standard modes.

       Visual  "visual-name"
              This optional entry sets the default root visual type.  This may also be  specified
              from  the  command  line (see the Xserver(1) man page).  The visual types available
              for depth 8 are (default is PseudoColor):

                  StaticGray
                  GrayScale
                  StaticColor
                  PseudoColor
                  TrueColor
                  DirectColor

              The visual type available for the depths 15, 16 and 24 are (default is TrueColor):

                  TrueColor
                  DirectColor

              Not all drivers support DirectColor at these depths.

              The visual types available for the depth 4 are (default is StaticColor):

                  StaticGray
                  GrayScale
                  StaticColor
                  PseudoColor

              The visual type available for the depth 1 (monochrome) is StaticGray.

       Black  red green blue
              This optional entry allows the “black”  colour  to  be  specified.   This  is  only
              supported at depth 1.  The default is black.

       White  red green blue
              This  optional  entry  allows  the  “white”  colour  to be specified.  This is only
              supported at depth 1.  The default is white.

       Options
              Option flags may be specified  in  the  Display  subsections.   These  may  include
              driver-specific  options  and driver-independent options.  The former are described
              in the driver-specific documentation.  Some of the latter are  described  above  in
              the section about the Screen section, and they may also be included here.

SERVERLAYOUT SECTION

       The config file may have multiple ServerLayout sections.  A “server layout” represents the
       binding of  one  or  more  screens  (Screen  sections)  and  one  or  more  input  devices
       (InputDevice sections) to form a complete configuration.  In multi-head configurations, it
       also specifies the relative layout of the heads.  A  ServerLayout  section  is  considered
       “active”  if  it  is  referenced  by  the  -layout  command  line  option  or by an Option
       "DefaultServerLayout" entry in the ServerFlags section (the former takes  precedence  over
       the  latter).   If those options are not used, the first ServerLayout section found in the
       config file is considered the active one.  If no ServerLayout sections  are  present,  the
       single  active screen and two active (core) input devices are selected as described in the
       relevant sections above.

       ServerLayout sections have the following format:

           Section "ServerLayout"
               Identifier   "name"
               Screen       "screen-id"
               ...
               InputDevice  "idev-id"
               ...
               options
               ...
           EndSection

       Each ServerLayout section must have an Identifier entry and at least one Screen entry.

       The Identifier entry specifies the unique name for this server layout.   The  ServerLayout
       section  provides  information  specific  to the whole session, including session-specific
       Options.  The ServerFlags options (described above) may be specified here, and ones  given
       here override those given in the ServerFlags section.

       The entries that may be used in this section are described here.

       Screen  screen-num "screen-id" position-information
              One  of  these  entries must be given for each screen being used in a session.  The
              screen-id field is mandatory, and specifies the Screen  section  being  referenced.
              The  screen-num  field is optional, and may be used to specify the screen number in
              multi-head configurations.  When  this  field  is  omitted,  the  screens  will  be
              numbered  in  the  order that they are listed in.  The numbering starts from 0, and
              must be consecutive.  The position-information field  describes  the  way  multiple
              screens are positioned.  There are a number of different ways that this information
              can be provided:

              x y

              Absolute  x y
                  These both specify that the upper left corner's  coordinates  are  (x,y).   The
                  Absolute keyword is optional.  Some older versions of XFree86 (4.2 and earlier)
                  don't recognise the Absolute keyword,  so  it's  safest  to  just  specify  the
                  coordinates without it.

              RightOf   "screen-id"

              LeftOf    "screen-id"

              Above     "screen-id"

              Below     "screen-id"

              Relative  "screen-id" x y
                  These  give  the  screen's location relative to another screen.  The first four
                  position the screen immediately to the right, left, above or  below  the  other
                  screen.   When  positioning  to  the  right or left, the top edges are aligned.
                  When positioning above or below, the left edges are aligned.  The Relative form
                  specifies the offset of the screen's origin (upper left corner) relative to the
                  origin of another screen.

       InputDevice  "idev-id" "option" ...
              One of these entries should be given for each input device being used in a session.
              Normally  at  least  two  are  required, one each for the core pointer and keyboard
              devices.  If either of those is missing, suitable InputDevice entries are  searched
              for using the method described above in the INPUTDEVICE section.  The idev-id field
              is mandatory, and specifies the name of the InputDevice section  being  referenced.
              Multiple  option  fields  may  be  specified,  each  in double quotes.  The options
              permitted here are any  that  may  also  be  given  in  the  InputDevice  sections.
              Normally  only  session-specific input device options would be used here.  The most
              commonly used options are:

                  "CorePointer"
                  "CoreKeyboard"
                  "SendCoreEvents"

              and the first two should normally be used to indicate the  core  pointer  and  core
              keyboard devices respectively.

       MatchSeat  seat-id
              Only  apply  this  ServerLayout  section if X server was started with -seat seat-id
              option.

       Options
              In addition to the following, any option permitted in the ServerFlags  section  may
              also  be  specified  here.   When the same option appears in both places, the value
              given here overrides the one given in the ServerFlags section.

       Option "IsolateDevice"  "bus-id"
              Restrict device resets to the specified bus-id.  See the BusID option (described in
              DEVICE  SECTION,  above)  for  the  format  of  the  bus-id parameter.  This option
              overrides SingleCard, if specified.  At present, only PCI devices can  be  isolated
              in this manner.

       Option "SingleCard"  "boolean"
              As IsolateDevice, except that the bus ID of the first device in the layout is used.

       Here  is  an  example  of  a ServerLayout section for a dual headed configuration with two
       mice:

           Section "ServerLayout"
               Identifier  "Layout 1"
               Screen      "MGA 1"
               Screen      "MGA 2" RightOf "MGA 1"
               InputDevice "Keyboard 1" "CoreKeyboard"
               InputDevice "Mouse 1"    "CorePointer"
               InputDevice "Mouse 2"    "SendCoreEvents"
               Option      "BlankTime"  "5"
           EndSection

DRI SECTION

       This optional section is used  to  provide  some  information  for  the  Direct  Rendering
       Infrastructure.   Details  about  the  format  of  this  section  can  be found on-line at
       <https://dri.freedesktop.org/>.

VENDOR SECTION

       The  optional  Vendor  section  may  be  used  to  provide  vendor-specific  configuration
       information.   Multiple Vendor sections may be present, and they may contain an Identifier
       entry and multiple Option flags.  The data therein is not used in this release.

SEE ALSO

       General: X(7), Xserver(1), Xorg(1), cvt(1), gtf(1).

       Not all modules or interfaces are available on all platforms.

       Display drivers:  apm(4),  ati(4),  chips(4),  cirrus(4),  cyrix(4),  fbdev(4),  glide(4),
       glint(4), i128(4), i740(4), imstt(4), intel(4), mga(4), neomagic(4), nv(4), openchrome(4),
       r128(4),  radeon(4),  rendition(4),  savage(4),  s3virge(4),   siliconmotion(4),   sis(4),
       sisusb(4),  sunbw2(4),  suncg14(4), suncg3(4), suncg6(4), sunffb(4), sunleo(4), suntcx(4),
       tdfx(4), trident(4), tseng(4), vesa(4), vmware(4), voodoo(4), wsfb(4), xgi(4), xgixp(4).

       Input drivers:  acecad(4),  citron(4),  elographics(4),  evdev(4),  fpit(4),  joystick(4),
       kbd(4),  libinput(4),  mousedrv(4),  mutouch(4),  penmount(4),  synaptics(4),  vmmouse(4),
       void(4), wacom(4).

       Other modules and interfaces: exa(4), fbdevhw(4), v4l(4).

AUTHORS

       This manual page was largely rewritten by David Dawes <dawes@xfree86.org>.