Table of Contents
xorg.conf - configuration File for Xorg X server
Xorg supports
several mechanisms for supplying/obtaining configuration and run-time parameters:
command line options, environment variables, the xorg.conf configuration
file, auto-detection, and fallback defaults. When the same information is
supplied in more than one way, the highest precedence mechanism is used.
The list of mechanisms is ordered from highest precedence to lowest. Note
that not all parameters can be supplied via all methods. The available
command line options and environment variables (and some defaults) are
described in the Xserver(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.
Xorg uses a configuration file called
xorg.conf for its initial setup. This 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-4
/etc/X11/xorg.conf
/etc/xorg.conf
/usr/etc/X11/xorg.conf.<hostname>
/usr/etc/X11/xorg.conf-4
/usr/etc/X11/xorg.conf
/usr/lib/X11/xorg.conf.<hostname>
/usr/lib/X11/xorg.conf-4
/usr/lib/X11/xorg.conf
where <cmdline> is a relative path (with no lq..rq components) specified with
the -config command line option, $XORGCONFIG is the relative path (with
no lq..rq 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 lqrootrq 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-4
/etc/X11/xorg.conf
/etc/xorg.conf
/usr/etc/X11/xorg.conf.<hostname>
/usr/etc/X11/xorg.conf-4
/usr/etc/X11/xorg.conf
/usr/lib/X11/xorg.conf.<hostname>
/usr/lib/X11/xorg.conf-4
/usr/lib/X11/xorg.conf
where <cmdline> is the path specified with the -config command line option
(which may be absolute or relative), $XORGCONFIG is the path specified
by that environment variable (absolute or relative), $HOME is the path
specified by that environment variable (usually the home directory), and
<hostname> is the machine's hostname as reported by gethostname(3)
.
The xorg.conf
file is 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
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 lq_rq characters are ignored. Most strings (including
Option names) are also case-insensitive, and insensitive to white space
and lq_rq 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 lq0xrq, and octal values
with lq0rq.
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.
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/lib/X11/fonts/misc/
/usr/lib/X11/fonts/TTF/
/usr/lib/X11/fonts/OTF/
/usr/lib/X11/fonts/Type1/
/usr/lib/X11/fonts/100dpi/
/usr/lib/X11/fonts/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
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. The previous functionality of allowing
the server to start up even if the mouse device can't be opened/initialised
is now handled by the AllowEmptyInput option. Default: false.
- Option "VTSysReq"
"boolean"
- enables the SYSV-style VT switch sequence for non-SYSV systems
which support VT switching. This sequence is Alt-SysRq followed by a function
key (Fn). This prevents the Xorg server trapping the keys used for the default
VT switch sequence, which means that clients can access them. Default: off.
- 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 "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 "PC98" "boolean"
- Specify that the machine is a Japanese
PC-98 machine. This should not be enabled for anything other than the Japanese-specific
PC-98 architecture. Default: auto-detected.
- 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 "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
"AllowEmptyInput" "boolean"
- If enabled, don't add the standard keyboard
and mouse drivers, if there are no input devices in the config file. Enabled
by default if AutoAddDevices and AutoEnableDevices is enabled, otherwise
disabled. If AllowEmptyInput is on, devices using the kbd, mouse or vmmouse
driver are ignored.
- Option "AutoAddDevices" "boolean"
- If this option is
disabled, then no devices will be added from HAL events. 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
"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.
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 lqlibrq prefix, or the lq.arq,
lq.orq, or lq.sorq suffixes.
Example: the DRI extension module can be loaded
with the following entry:
Load "dri"
- Disable "modulename"
- This instructs
the server to not load the module called modulename. Some modules are loaded
by default in the server, and this overrides that default. If a Load instruction
is given for the same module, it overrides the Disable instruction and
the module is loaded. The module name given should be the module's standard
name, not the module file name. As with the Load instruction, the standard
name is case-sensitive, and does not include the "lib" prefix, or the ".a",
".o", or ".so" suffixes.
The second form of entry is a SubSection, with the
subsection name being the module name, and the contents of the SubSection
being Options that are passed to the module when it is loaded.
Example:
the extmod module (which contains a miscellaneous group of server extensions)
can be loaded, with the XFree86-DGA extension disabled by using the following
entry:
SubSection "extmod"
Option "omit XFree86-DGA"
EndSubSection
Modules are searched for in each directory specified in the ModulePath
search path, and in the drivers, extensions, input, internal, and multimedia
subdirectories of each of those directories. In addition to this, operating
system specific subdirectories of all the above are searched first if they
exist.
To see what extension modules are available, check the extensions
subdirectory under:
/usr/lib/xorg/modules
The lqextmodrq, lqdberq, lqdrirq, lqdri2rq, lqglxrq, and lqrecordrq extension
modules are loaded automatically, if they are present, unless disabled
with "Disable" entries. It is recommended that at very least the lqextmodrq
extension module be loaded. If it isn't, some commonly used server extensions
(like the SHAPE extension) will not be available.
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
The config file may have multiple InputDevice sections.
If HAL is not being used for input device configuration, there will normally
be at least two: one for the core (primary) keyboard, and one of the core
pointer. If either of these two is missing, a default configuration for
the missing ones will be used. Currently the default configuration may not
work as expected on all platforms.
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.
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 lqmouserq (or lqkbdrq) driver is used. The final fallback
is to use built-in default configurations.
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 "CorePointer"
- When this is set, the input device is installed as
the core (primary) pointer device. There must be exactly one core pointer.
If this option is not set here, or in the ServerLayout section, or from
the -pointer command line option, then the first input device that is capable
of being used as a core pointer will be selected as the core pointer. This
option is implicitly set when the obsolete Pointer section is used.
- Option
"CoreKeyboard"
- When this is set, the input device is to be installed as
the core (primary) keyboard device. There must be exactly one core keyboard.
If this option is not set here, in the ServerLayout section, or from the
-keyboard command line option, then the first input device that is capable
of being used as a core keyboard will be selected as the core keyboard.
This option is implicitly set when the obsolete Keyboard section is used.
- Option "AlwaysCore" "boolean"
- Option "SendCoreEvents" "boolean"
- Both
of these options are equivalent, and when enabled cause the input device
to always report core events. This can be used, for example, to allow an
additional pointer device to generate core pointer events (like moving
the cursor, etc).
- Option "HistorySize" "number"
- Sets the motion history
size. Default: 0.
- Option "SendDragEvents" "boolean"
- ???
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., lqPCI:1:0:0rq 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.
- TextClockFreq
freq
- This optional entry specifies the pixel clock frequency that is used
for the regular text mode. The frequency is specified in MHz. This is rarely
used.
- 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.
Nobody
wants to say how this works. Maybe nobody knows ...
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 Modes, 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). lqRovingrq
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. 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 Modes
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" "string" This optional entry specifies a mode to be marked
as the preferred initial mode of the monitor. (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 "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)
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.
The
config file may have multiple Screen sections. There must be at least one,
for the lqscreenrq being used. A lqscreenrq represents the binding of a
graphics device (Device section) and a monitor (Monitor section). A Screen
section is considered lqactiverq 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"
Monitor "monid"
entries
...
SubSection "Display"
entries
...
EndSubSection
...
EndSection
The Identifier and Device entries are 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 mandatory entry specifies the Device section to
be used for this screen. This is what ties a specific graphics card to a
screen. The device-id must match the Identifier of a Device section in the
config file.
- 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.
- 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 XAA (X Acceleration Architecture), a mechanism that makes video
cards' 2D hardware acceleration available to the Xorg server. This option
is on by default, but it may be necessary to turn it off if there are bugs
in the driver. There are many options to disable specific accelerated operations,
listed below. Note that disabling an operation will have no effect if the
operation is not accelerated (whether due to lack of support in the hardware
or in the driver).
- 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.
- Option "NoMTRR"
- Disables
MTRR (Memory Type Range Register) support, a feature of modern processors
which can improve video performance by a factor of up to 2.5. Some hardware
has buggy MTRR support, and some video drivers have been known to exhibit
problems when MTRR's are used.
- Option "XaaNoCPUToScreenColorExpandFill"
- Disables
accelerated rectangular expansion blits from source patterns stored in
system memory (using a memory-mapped aperture).
- Option "XaaNoColor8x8PatternFillRect"
- Disables accelerated fills of a rectangular region with a full-color pattern.
- Option "XaaNoColor8x8PatternFillTrap"
- Disables accelerated fills of a trapezoidal
region with a full-color pattern.
- Option "XaaNoDashedBresenhamLine"
- Disables
accelerated dashed Bresenham line draws.
- Option "XaaNoDashedTwoPointLine"
- Disables accelerated dashed line draws between two arbitrary points.
- Option
"XaaNoImageWriteRect"
- Disables accelerated transfers of full-color rectangular
patterns from system memory to video memory (using a memory-mapped aperture).
- Option "XaaNoMono8x8PatternFillRect"
- Disables accelerated fills of a rectangular
region with a monochrome pattern.
- Option "XaaNoMono8x8PatternFillTrap"
- Disables
accelerated fills of a trapezoidal region with a monochrome pattern.
- Option
"XaaNoOffscreenPixmaps"
- Disables accelerated draws into pixmaps stored
in offscreen video memory.
- Option "XaaNoPixmapCache"
- Disables caching of
patterns in offscreen video memory.
- Option "XaaNoScanlineCPUToScreenColorExpandFill"
- Disables accelerated rectangular expansion blits from source patterns stored
in system memory (one scan line at a time).
- Option "XaaNoScanlineImageWriteRect"
- Disables accelerated transfers of full-color rectangular patterns from system
memory to video memory (one scan line at a time).
- Option "XaaNoScreenToScreenColorExpandFill"
- Disables accelerated rectangular expansion blits from source patterns stored
in offscreen video memory.
- Option "XaaNoScreenToScreenCopy"
- Disables accelerated
copies of rectangular regions from one part of video memory to another
part of video memory.
- Option "XaaNoSolidBresenhamLine"
- Disables accelerated
solid Bresenham line draws.
- Option "XaaNoSolidFillRect"
- Disables accelerated
solid-color fills of rectangles.
- Option "XaaNoSolidFillTrap"
- Disables accelerated
solid-color fills of Bresenham trapezoids.
- Option "XaaNoSolidHorVertLine"
- Disables accelerated solid horizontal and vertical line draws.
- Option "XaaNoSolidTwoPointLine"
- Disables accelerated solid line draws between two arbitrary points.
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.
Each Screen section may have multiple Display subsections.
The lqactiverq Display subsection is the first that matches the depth and/or
fbbpp values being used, or failing that, the first that has neither a
depth or fbbpp value specified. The Display subsections are optional. When
there isn't one that matches the depth and/or fbbpp values being used, all
the parameters that can be specified here fall back to their defaults.
Display
subsections have the following format:
SubSection "Display"
Depth depth
entries
...
EndSubSection
- Depth depth
- This entry specifies what colour depth the Display subsection
is to be used for. This entry is usually specified, but it may be omitted
to create a match-all Display subsection or when wishing to match only against
the FbBpp parameter. The range of depth values that are allowed depends
on the driver. Most drivers support 8, 15, 16 and 24. Some also support 1
and/or 4, and some may support other values (like 30). Note: depth means
the number of bits in a pixel that are actually used to determine the pixel
colour. 32 is not a valid depth value. Most hardware that uses 32 bits per
pixel only uses 24 of them to hold the colour information, which means
that the colour depth is 24, not 32.
- FbBpp bpp
- This entry specifies the
framebuffer format this Display subsection is to be used for. This entry
is only needed when providing depth 24 configurations that allow a choice
between a 24 bpp packed framebuffer format and a 32bpp sparse framebuffer
format. In most cases this entry should not be used.
- Weight red-weight green-weight
blue-weight
- This optional entry specifies the relative RGB weighting to
be used for a screen is being used at depth 16 for drivers that allow multiple
formats. This may also be specified from the command line with the -weight
option (see Xorg(1)
).
- Virtual xdim ydim
- This optional entry specifies the
virtual screen resolution to be used. xdim must be a multiple of either
8 or 16 for most drivers, and a multiple of 32 when running in monochrome
mode. The given value will be rounded down if this is not the case. Video
modes which are too large for the specified virtual size will be rejected.
If this entry is not present, the virtual screen resolution will be set
to accommodate all the valid video modes given in the Modes entry. Some
drivers/hardware combinations do not support virtual screens. Refer to the
appropriate driver-specific documentation for details.
- ViewPort x0 y0
- This
optional entry sets the upper left corner of the initial display. This is
only relevant when the virtual screen resolution is different from the
resolution of the initial video mode. If this entry is not given, then the
initial display will be centered in the virtual display area.
- Modes "mode-name"
...
- This optional entry specifies the list of video modes to use. Each mode-name
specified must be in double quotes. They must correspond to those specified
or referenced in the appropriate Monitor section (including implicitly
referenced built-in VESA standard modes). The server will delete modes from
this list which don't satisfy various requirements. The first valid mode
in this list will be the default display mode for startup. The list of valid
modes is converted internally into a circular list. It is possible to switch
to the next mode with Ctrl+Alt+Keypad-Plus and to the previous mode with
Ctrl+Alt+Keypad-Minus. When this entry is omitted, the valid modes referenced
by the appropriate Monitor section will be used. If the Monitor section
contains no modes, then the selection will be taken from the built-in VESA
standard modes.
- Visual "visual-name"
- This optional entry sets the default
root visual type. This may also be specified from the command line (see
the Xserver(1)
man page). The visual types available for depth 8 are (default
is PseudoColor):
StaticGray
GrayScale
StaticColor
PseudoColor
TrueColor
DirectColor
The visual type available for the depths 15, 16 and 24 are (default is
TrueColor):
TrueColor
DirectColor
Not all drivers support DirectColor at these depths.
The visual types available
for the depth 4 are (default is StaticColor):
StaticGray
GrayScale
StaticColor
PseudoColor
The visual type available for the depth 1 (monochrome) is StaticGray.
- Black
red green blue
- This optional entry allows the lqblackrq colour to be specified.
This is only supported at depth 1. The default is black.
- White red green
blue
- This optional entry allows the lqwhiterq 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.
The
config file may have multiple ServerLayout sections. A lqserver layoutrq
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 lqactiverq 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.
- 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
This optional section is used to provide some information for
the Direct Rendering Infrastructure. Details about the format of this section
can be found in the README.DRI document, which is also available on-line
at <http://dri.freedesktop.org/
>.
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.
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)
, calcomp(4)
, citron(4)
,
dmc(4)
, dynapro(4)
, elographics(4)
, evdev(4)
, fpit(4)
, js_x(4)
, joystick(4)
,
kbd(4)
, magictouch(4)
, microtouch(4)
, mousedrv(4)
, mutouch(4)
, palmax(4)
,
penmount(4)
, synaptics(4)
, tek4957(4)
, ur98(4)
, vmmouse(4)
, void(4)
, wacom(4)
.
Other modules and interfaces: exa(4)
, fbdevhw(4)
,
v4l(4)
.
This manual page was largely rewritten by David Dawes <dawes@xfree86.org>.
Table of Contents