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/X11R7/etc/X11/<cmdline>
/etc/X11/$XORGCONFIG
/usr/X11R7/etc/X11/$XORGCONFIG
/etc/X11/xorg.conf
/etc/xorg.conf
/usr/X11R7/etc/X11/xorg.conf.<hostname>
/usr/X11R7/etc/X11/xorg.conf
/usr/X11R7/lib/X11/xorg.conf.<hostname>
/usr/X11R7/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/X11R7/etc/X11/<cmdline>
$XORGCONFIG
/etc/X11/$XORGCONFIG
/usr/X11R7/etc/X11/$XORGCONFIG
/etc/X11/xorg.conf
/etc/xorg.conf
/usr/X11R7/etc/X11/xorg.conf.<hostname>
/usr/X11R7/etc/X11/xorg.conf
/usr/X11R7/lib/X11/xorg.conf.<hostname>
/usr/X11R7/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/X11R7/lib/X11/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/X11R7/lib/X11/fonts/X11/misc/
/usr/X11R7/lib/X11/fonts/X11/TTF/
/usr/X11R7/lib/X11/fonts/X11/OTF/
/usr/X11R7/lib/X11/fonts/X11/Type1/
/usr/X11R7/lib/X11/fonts/X11/100dpi/
/usr/X11R7/lib/X11/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/X11R7/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/X11R7/lib/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 "DefaultServerLayout"
"layout-id"
- This specifies the default ServerLayout section to
use in the absence of the -layout command line option.
- Option "NoTrapSignals"
"boolean"
- This prevents the Xorg server from trapping a range of
unexpected fatal signals and exiting cleanly. Instead, the Xorg server
will die and drop core where the fault occurred. The default behaviour is
for the Xorg server to exit cleanly, but still drop a core file. In
general you never want to use this option unless you are debugging an Xorg
server problem and know how to deal with the consequences.
- Option "UseSIGIO"
"boolean"
- This controls whether the Xorg server requests that events
from input devices be reported via a SIGIO signal handler (also known as
SIGPOLL on some platforms), or only reported via the standard select(3)
loop. The default behaviour is platform specific. In general you do not
want to use this option unless you are debugging the Xorg server, or
working around a specific bug until it is fixed, and understand the
consequences.
- 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 "Pixmap"
"bpp"
- This sets the pixmap format to use for depth 24. Allowed
values for bpp are 24 and 32. Default: 32 unless driver constraints
don't allow this (which is rare). Note: some clients don't behave well
when this value is set to 24.
- 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 "AIGLX"
"boolean"
- enable or disable AIGLX. AIGLX is enabled by default.
- 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 "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.
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:
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"
...
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 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"
- 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.
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:device:function (e.g.,
“PCI:1:0:0” might be appropriate for an AGP card). This field
is usually optional in single-head configurations when using the primary
graphics card. In multi-head configurations, or when using a secondary
graphics card in a single-head configuration, this entry is mandatory. Its
main purpose is to make an unambiguous connection between the device
section and the hardware it is representing. This information can usually
be found by running the 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.
- BiosBase baseaddress
- This optional entry specifies the base address of the video
BIOS for the VGA board. This address is normally auto-detected, and should
only be specified if the driver-specific documentation recommends it.
- 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.
- 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 "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):
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
<http://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),
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>.