xorg.conf(5) File Formats Manual xorg.conf(5)
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 mecha-
nisms 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 parame-
ters, with their defaults, are described below. Driver and module spe-
cific 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 op-
tion (which may be absolute or relative), $XORGCONFIG is the path speci-
fied by that environment variable (absolute or relative), $HOME is the
path specified by that environment variable (usually the home direc-
tory), and <hostname> is the machine's hostname as reported by gethost-
name(3).
Additional configuration files are searched for in the following direc-
tories 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 configura-
tion 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 compati-
bility 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 usu-
ally 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 mon-
itor. 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 ig-
nored. 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 argu-
ments, with the number and types of the arguments depending on the key-
word. 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 fol-
lowed 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 fre-
quency 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, cat-
alogue 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 cata-
logue: before the directory name. The directory can then be
populated with symlinks pointing to the real font directo-
ries, 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 cata-
logue 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 compatibil-
ity purposes some of the old style entries are still recognised. Those
old style entries are not documented here, and using them is discour-
aged. 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 "Default-
ServerLayout" Option) may be overridden by Options specified in the ac-
tive 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 de-
bugging 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 ab-
sence 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 operat-
ing 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 (usu-
ally on Ctrl+Alt+Backspace, depending on XKB options). This ac-
tion 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. De-
fault: 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 screen-
saver. 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" op-
tion 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" op-
tion 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" op-
tion 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 al-
lowed by the GLX specification and all which will setup GLX visu-
als 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 leav-
ing 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 dis-
abled 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 con-
nected only to the secondary GPU directly available for use with-
out 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. Un-
set by default.
Option "AllowByteSwappedClients" "boolean"
Allow clients with a different byte-order than the server. En-
abled 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 auto-
matically 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 com-
monly 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 follow-
ing entry:
Load "dri"
Disable "modulename"
This instructs the server to not load the module called module-
name. 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 dis-
abled 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 multi-
media 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 subdi-
rectory under:
/usr/lib/xorg/modules
The “extmod”, “dbe”, “dri”, “dri2”, “glx”, and “record” extension mod-
ules 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 ex-
tensions (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 in-
put hotplugging. It is usually not necessary to provide InputDevice sec-
tions 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 de-
fault 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 sec-
tions. 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 "input-
driver" will be loaded for each active InputDevice section. An InputDe-
vice 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 Core-
Pointer, CoreKeyboard, AlwaysCore, and SendCoreEvents, are the
inverse of option Floating (i.e. SendCoreEvents "on" is equiva-
lent 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 de-
vices. 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 to-
gether, 0.5 represents half the area, etc. The values represent a
3x3 matrix, with the first, second and third group of three val-
ues 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 de-
tails. 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 cur-
rent 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 pre-
cise 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 ac-
celeration 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 acceler-
ation factor leads to a faster pointer. Typically, 1 is unaccel-
erated 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 op-
tional entries to narrow the match of the class. If none of the optional
entries appear, the InputClass section is generic and will match any in-
put 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 de-
vice. An entry can be constructed to match attributes from different de-
vices 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 sup-
ported 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 cur-
rently configured driver of the device. Ordering of sections us-
ing this entry is important since it will not match unless the
driver has been set by the config backend or a previous Input-
Class 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 cur-
rently active ServerLayout section. The empty string "" matches
an implicit layout which appears if no named ServerLayout sec-
tions have been found.
The above directives have equivalents for negative matching with the No-
MatchProduct, 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 Op-
tion 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 op-
tional entries to narrow the match of the class. If none of the op-
tional 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 Op-
tion 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 Out-
putClass section with the PrimaryGPU option set, the first one
enumerated becomes the primary GPU.
A OutputClass Section may contain ModulePath entries. When an output de-
vice matches an OutputClass section, any ModulePath entries in that Out-
putClass are pre-pended to the search path for loadable Xorg server mod-
ules. 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 graph-
ics device. When using the loadable server, the driver module "driver"
will be loaded for each active Device section. A Device section is con-
sidered 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-in-
dependent 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 Op-
tions 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:de-
vice: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 configu-
ration, this entry is mandatory. Its main purpose is to make an
unambiguous connection between the device section and the hard-
ware 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 sin-
gle 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 rat-
ing of the RAMDAC is different from the defaults built in to dri-
ver, or when the driver can't auto-detect the correct defaults.
Don't specify it unless the driver-specific documentation recom-
mends 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 dri-
vers 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 recom-
mends 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 de-
tails, see the appropriate driver manual page.
VideoRam mem
This optional entry specifies the amount of video ram that is in-
stalled 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-spe-
cific documentation should indicate when it might be needed.
MemBase baseaddress
This optional entry specifies the memory base address of a graph-
ics 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 mode-
setting 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 con-
nected. 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 in-
clude 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 nor-
mally be at least one, for the monitor being used, but a default config-
uration 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 specifica-
tions 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 configura-
tions.
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 dif-
ferent 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 specifica-
tions 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 speci-
fications 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 sin-
gle 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 dri-
vers are capable of using this information.
UseModes "modesection-id"
Include the set of modes listed in the Modes section called mode-
section-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 ter-
minated 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 sig-
nal. "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 be-
come 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 sec-
tion is a list of flags specifying other characteristics of the
mode. Interlace indicates that the mode is interlaced. DoubleS-
can 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 hard-
ware where this is supported. Additionally, on some hardware,
+CSync and -CSync may be used to select the composite sync polar-
ity. The HSkew and VScan options mentioned above in the Mode en-
try 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 op-
tion, 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 pre-
ferred initial mode of the monitor. (RandR 1.2-supporting dri-
vers 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 posi-
tioned 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 posi-
tioned 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 posi-
tioned 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 posi-
tioned 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 en-
able all connected monitors. (RandR 1.2-supporting drivers only)
Option "DefaultModes" "bool"
This optional entry specifies whether the server should add sup-
ported default modes to the list of modes offered on this moni-
tor. By default, the server will add default modes; you should
only disable this if you can guarantee that EDID will be avail-
able 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 sec-
tions 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 stan-
dard 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 de-
scriptions. 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 bind-
ing of a graphics device (Device section) and a monitor (Monitor sec-
tion). 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, in-
cluding 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 configura-
tion is used. Currently the default configuration may not func-
tion 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 documen-
tation. 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 li-
braries to use for the screen. This may be used to select an al-
ternate 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 subsec-
tions. Those subsections provide depth/fbbpp specific configuration in-
formation, 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 val-
ues 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 de-
faults.
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 sup-
port 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 infor-
mation, which means that the colour depth is 24, not 32.
FbBpp bpp
This entry specifies the framebuffer format this Display subsec-
tion 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 al-
low multiple formats. This may also be specified from the com-
mand 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 dri-
vers, 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 reso-
lution 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-spe-
cific 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 resolu-
tion is different from the resolution of the initial video mode.
If this entry is not given, then the initial display will be cen-
tered 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+Key-
pad-Plus and to the previous mode with Ctrl+Alt+Keypad-Minus.
When this entry is omitted, the valid modes referenced by the ap-
propriate 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 (de-
fault is TrueColor):
TrueColor
DirectColor
Not all drivers support DirectColor at these depths.
The visual types available for the depth 4 are (default is Stat-
icColor):
StaticGray
GrayScale
StaticColor
PseudoColor
The visual type available for the depth 1 (monochrome) is Stat-
icGray.
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 op-
tions. The former are described in the driver-specific documen-
tation. 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 lay-
out” represents the binding of one or more screens (Screen sections) and
one or more input devices (InputDevice sections) to form a complete con-
figuration. In multi-head configurations, it also specifies the rela-
tive 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 ses-
sion, including session-specific Options. The ServerFlags options (de-
scribed 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 op-
tional, 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 posi-
tion-information field describes the way multiple screens are po-
sitioned. There are a number of different ways that this infor-
mation 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 Ab-
solute keyword, so it's safest to just specify the coordi-
nates 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 position-
ing 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 speci-
fied, 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 Server-
Flags 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 speci-
fied. At present, only PCI devices can be isolated in this man-
ner.
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 configu-
ration 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 con-
figuration 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), fb-
dev(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), rendi-
tion(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>.
X Version 11 xorg-server 21.1.16 xorg.conf(5)
Generated by dwww version 1.16 on Sat Oct 3 06:01:50 CEST 2026.