XF86Config-4 - Configuration File for XFree86 4.x server
DESCRIPTION
XFree86
uses a configuration file called
XF86Config
for its initial setup. This configuration file is searched for in the
following places when the server is started as a normal user:
where
<cmdline>
is a relative path (with no ".." components) specified with the
-xf86config
command line option,
$XF86CONFIG
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 X server is started by the "root" user, the config file search
locations are as follows:
where
<cmdline>
is the path specified with the
-xf86config
command line option (which may be absolute or relative),
$XF86CONFIG
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
XF86Config
file is composed of a number of sections which may be present in any
order. Each section has
the form:
The following obsolete section names are still recognised for compatibility
purposes. In new config files, the
InputDevice
section should be used instead.
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., and 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 take 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 (N'34')
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
allOption
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
N'34'NoN'34',
then the option value is negated.
Example: the following option entries are equivalent:
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
XFree86(1)).
The command line settings override the values specified in the config
file.
The entries that can appear in this section are:
FontPath N'34'pathN'34'
sets the search path for fonts. This path is a comma separated
list of font path elements which the X 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 may be either absolute directory paths, or
a font server identifier. 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:
Font path elements that are found to be invalid are removed from the
font path when the server starts up.
RGBPath N'34'pathN'34'
sets the path name for the RGB color database.
When this entry is not specified in the config file, the server falls back
to the compiled-in default RGB path, which is:
/usr/X11R6/lib/X11/rgb
Note that an implicit
.txt
is added to this path if the server was compiled to use text rather than
binary format RGB color databases.
ModulePath N'34'pathN'34'
sets the search path for loadable X server modules. This path is a
comma separated list of directories which the X 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.
SERVERFLAGS SECTION
The
ServerFlags
section is used to specify some global
X 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.
Options
specified in this section 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 N'34'NoTrapSignalsN'34' N'34'booleanN'34'
This prevents the X server from trapping a range of unexpected
fatal signals and exiting cleanly. Instead, the X server will die
and drop core where the fault occurred. The default behaviour is
for the X server exit cleanly, but still drop a core file. In
general you never want to use this option unless you are debugging
an X server problem and know how to deal with the consequences.
Option N'34'DontZapN'34' N'34'booleanN'34'
This disallows the use of the
Ctrl+Alt+Backspace
sequence. That sequence is normally used to terminate the X server.
When this option is enabled, that key sequence has no special meaning
and is passed to clients. Default: off.
Option N'34'DontZoomN'34' N'34'booleanN'34'
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.
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.
This disables the parts of the XFree86-Misc extension that can be used to
modify the input device settings dynamically. Default: that functionality
is enabled.
This allows the server to start up even if the mouse device can't be
opened/initialised. Default: false.
Option N'34'VTInitN'34' N'34'commandN'34'
Runs
command
after the VT used by the server has been opened.
The command string is passed to "/bin/sh -c", and is run with the
real user's id with stdin and stdout set to the VT. The purpose
of this option is to allow system dependent VT initialisation
commands to be run. This option should rarely be needed. Default: not set.
Option N'34'VTSysReqN'34' N'34'booleanN'34'
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 X server trapping the
keys used for the default VT switch sequence, which means that clients can
access them. Default: off.
Option N'34'BlankTimeN'34' N'34'timeN'34'
sets the inactivity timeout for the blanking phase of the screensaver.
time
is in minutes. This is equivalent to the Xserver's `-s' flag, and the
value can be changed at run-time with xset(1). Default: 10 minutes.
Option N'34'StandbyTimeN'34' N'34'timeN'34'
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: 20 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
N'34'DPMSN'34'
option set (see the MONITOR section below).
Option N'34'SuspendTimeN'34' N'34'timeN'34'
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: 30 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
N'34'DPMSN'34'
option set (see the MONITOR section below).
Option N'34'OffTimeN'34' N'34'timeN'34'
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: 40 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
N'34'DPMSN'34'
option set (see the MONITOR section below).
Option N'34'PixmapN'34' N'34'bppN'34'
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 N'34'PC98N'34' N'34'booleanN'34'
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 N'34'NoPMN'34' N'34'booleanN'34'
Disables something to do with power management events. Default: PM enabled
on platforms that support it.
Option N'34'XineramaN'34' N'34'booleanN'34'
enable or disable XINERAMA extension. Default is disabled.
MODULE SECTION
The
Module
section is used to specify which X server modules should be loaded.
This section is ignored when the X server is built in static form.
The types of modules normally loaded in this section are X server
extension modules, and font rasteriser modules. Most other module types
are loaded automatically when they are needed via other mechanisms.
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 N'34'modulenameN'34'
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" prefix, or the ".a", ".o", or ".so" suffixes.
Example: the Type 1 font rasteriser can be loaded with the following entry:
Load N'34'type1N'34'
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:
Modules are searched for in each directory specified in the
ModulePath
search path, and in the drivers, input, extensions, fonts, and
internal 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 font and extension modules are available, check the contents
of the following directories:
The "bitmap" font modules is loaded automatically. 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.
INPUTDEVICE SECTION
The config file may have multiple
InputDevice
sections. There will normally be at least two: one for the core (primary)
keyboard, and one of the core pointer.
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
N'34'inputdriverN'34'
will be loaded for each active
InputDevice
section. An
InputDevice
section is considered active if it is referenced by an active
ServerLayout
section, or if it is referenced by the
-keyboard
or
-pointer
command line options.
The most commonly used input drivers are "keyboard" and "mouse".
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 N'34'CorePointerN'34'
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 N'34'CoreKeyboardN'34'
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 N'34'AlwaysCoreN'34' N'34'booleanN'34'
Option N'34'SendCoreEventsN'34' N'34'booleanN'34'
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 N'34'HistorySizeN'34' N'34'numberN'34'
Sets the motion history size. Default: 0.
Option N'34'SendDragEventsN'34' N'34'booleanN'34'
???
DEVICE SECTION
The config file may have multiple
Device
sections. There must be at least one, for the video card being used.
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
N'34'driverN'34'
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 N'34'bus-idN'34'
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 X server with the
-scanpci
command line option.
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 N'34'chipsetN'34'
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 N'34'ramdac-typeN'34'
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 give, 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 N'34'clockchip-typeN'34'
This optional entry is used to specify the clock chip type on
graphics boards which have a programmable clock generator. Only
a few X servers support programmable clock chips. For details,
see the appropriate X server 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 X 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.
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 must be at least one, for the monitor being used.
The
Identifier
entry specifies the unique name for this monitor. The
Monitor
section provides information about the specifications of the monitor,
monitor-specific
Options,
and information about the video modes to use with the monitor. Specifying
video modes is optional because the server now has a built-in list of
VESA standard modes. 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.
The entries that may be used in
Monitor
sections are described below.
VendorName N'34'vendorN'34'
This optional entry specifies the monitor's manufacturer.
ModelName N'34'modelN'34'
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 X
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 X
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 N'34'modesection-idN'34'
Include the set of modes listed in the
Modes
section called
modesection-id.
This make 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 N'34'flagN'34' ...
specifies an optional set of mode flags, each of which is a separate
string in double quotes.
N'34'InterlaceN'34'
indicates that the mode is interlaced.
N'34'DoubleScanN'34'
indicates a mode where each scanline is doubled.
N'34'+HSyncN'34'
and
N'34'-HSyncN'34'
can be used to select the polarity of the HSync signal.
N'34'+VSyncN'34'
and
N'34'-VSyncN'34'
can be used to select the polarity of the VSync signal.
N'34'CompositeN'34'
can be used to specify composite sync on hardware where this is supported.
Additionally, on some hardware,
N'34'+CSyncN'34'
and
N'34'-CSyncN'34'
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
N'34'DoubleScanN'34'Flag
mentioned above doubles this value.
ModeLine N'34'nameN'34' 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.
Options
Some
Option
flags that may be useful to include in
Monitor
sections (when needed) include
N'34'DPMSN'34',
and
N'34'SyncOnGreenN'34'.
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.
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.
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 N'34'device-idN'34'
This 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 N'34'monitor-idN'34'
specifies which monitor description is to be used for this screen.
VideoAdaptor N'34'xv-idN'34'
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 N'34'AccelN'34'
Enables XAA (X Acceleration Architecture), a mechanism that makes video
cards' 2D hardware acceleration available to the X 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 acclerated
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 N'34'XaaNoCPUToScreenColorExpandFillN'34'
Disables accelerated rectangular expansion blits from source patterns
stored in system memory (using a memory-mapped aperture).
Option N'34'XaaNoColor8x8PatternFillRectN'34'
Disables accelerated fills of a rectangular region with a full-color
pattern.
Option N'34'XaaNoColor8x8PatternFillTrapN'34'
Disables accelerated fills of a trapezoidal region with a full-color
pattern.
Option N'34'XaaNoDashedBresenhamLineN'34'
Disables accelerated dashed Bresenham line draws.
Option N'34'XaaNoDashedTwoPointLineN'34'
Disables accelerated dashed line draws between two arbitrary points.
Option N'34'XaaNoImageWriteRectN'34'
Disables acclerated transfers of full-color rectangular patterns from
system memory to video memory (using a memory-mapped aperture).
Option N'34'XaaNoMono8x8PatternFillRectN'34'
Disables accelerated fills of a rectangular region with a monochrome
pattern.
Option N'34'XaaNoMono8x8PatternFillTrapN'34'
Disables accelerated fills of a trapezoidal region with a monochrome
pattern.
Option N'34'XaaNoOffscreenPixmapsN'34'
Disables accelerated draws into pixmaps stored in offscreen video memory.
Option N'34'XaaNoPixmapCacheN'34'
Disables caching of patterns in offscreen video memory.
Disables accelerated rectangular expansion blits from source patterns
stored in offscreen video memory.
Option N'34'XaaNoScreenToScreenCopyN'34'
Disables accelerated copies of rectangular regions from one part of video
memory to another part of video memory.
Option N'34'XaaNoSolidBresenhamLineN'34'
Disables accelerated solid Bresenham line draws.
Option N'34'XaaNoSolidFillRectN'34'
Disables accelerated solid-color fills of rectangles.
Option N'34'XaaNoSolidFillTrapN'34'
Disables accelerated solid-color fills of Bresenham trapezoids.
Option N'34'XaaNoSolidHorVertLineN'34'
Disables accelerated solid horizontal and vertical line draws.
Option N'34'XaaNoSolidTwoPointLineN'34'
Disables accelerated solid line draws between two arbitrary points.
Each
Screen
section must 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. There must be at least one, which matches the depth
and/or fbbpp values that are being used for the screen. The "active"
Display
subsection is the first that matches the depth and/or fbbpp values being
used.
This entry specifies what colour depth the
Display
subsection is to be used for. This entry is usually mandatory,
but it may be omitted in some cases providing an
FbBpp
entry is present. The range of
depth
values that are allowed depends on the driver. Most driver 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
XFree86(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 N'34'mode-nameN'34' ...
This entry is highly desirable for most drivers, and it 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 largest valid mode referenced by the
appropriate
Monitor
section will be used.
Visual N'34'visual-nameN'34'
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):
The visual type available for the depths 15, 16 and 24 are (default is
TrueColor):
TrueColorDirectColor
Not all drivers support
DirectColor
at these depths.
The visual types available for the depth 4 are (default is
StaticColor):
StaticGrayGrayScaleStaticColorPseudoColor
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. If that option is 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.
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.
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:
Absolute x y
This says that the upper left corner's coordinates are
(x,y).
If the coordinates are omitted or if no positioning information
is given, (0,0) is assumed.
RightOf N'34'screen-idN'34'
LeftOf N'34'screen-idN'34'
Above N'34'screen-idN'34'
Below N'34'screen-idN'34'
Relative N'34'screen-idN'34' x y
These give the screen's location relative to another screen.
One of these entries must 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. 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:
and the first two should normally be used to indicate the core pointer
and core keyboard devices respectively.
Options
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.
Here is an example of a
ServerLayout
section for a dual headed configuration with two mice:
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://www.xfree86.org/current/DRI.html>.
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.
FILES
For an example of an XF86Config file, see the file installed as
/usr/X11R6/lib/X11/XF86Config.eg.