1
.\" shorthand for double quote that works everywhere.
3
.TH __xconfigfile__ __filemansuffix__ __vendorversion__
5
__xconfigfile__ and __xconfigdir__ \- configuration files for
6
__xservername__ X server
9
supports several mechanisms for supplying/obtaining configuration and
10
run-time parameters: command line options, environment variables, the
11
__xconfigfile__ and __xconfigdir__ configuration files, auto-detection,
12
and fallback defaults. When the same information is supplied in more
13
than one way, the highest precedence mechanism is used. The list of
14
mechanisms is ordered from highest precedence to lowest. Note that not
15
all parameters can be supplied via all methods. The available command
16
line options and environment variables (and some defaults) are
17
described in the Xserver(__appmansuffix__) and
18
__xservername__(__appmansuffix__) manual pages. Most configuration file
19
parameters, with their defaults, are described below. Driver and module
20
specific configuration parameters are described in the relevant driver
21
or module manual page.
24
uses a configuration file called
26
and files ending in the suffix
30
for its initial setup.
33
configuration file is searched for in the following places when the
34
server is started as a normal user:
38
.IR /etc/X11/ <cmdline>
39
.IR __projectroot__/etc/X11/ <cmdline>
40
.IB /etc/X11/ $XORGCONFIG
41
.IB __projectroot__/etc/X11/ $XORGCONFIG
42
.I /etc/X11/__xconfigfile__\-4
43
.I /etc/X11/__xconfigfile__
44
.I /etc/__xconfigfile__
45
.IR __projectroot__/etc/X11/__xconfigfile__. <hostname>
46
.I __projectroot__/etc/X11/__xconfigfile__\-4
47
.I __projectroot__/etc/X11/__xconfigfile__
48
.IR __projectroot__/lib/X11/__xconfigfile__. <hostname>
49
.I __projectroot__/lib/X11/__xconfigfile__\-4
50
.I __projectroot__/lib/X11/__xconfigfile__
56
is a relative path (with no \(lq..\(rq components) specified with the
60
is the relative path (with no \(lq..\(rq components) specified by that
61
environment variable, and
63
is the machine's hostname as reported by
64
.BR gethostname (__libmansuffix__).
66
When the __xservername__ server is started by the \(lqroot\(rq user, the config file
67
search locations are as follows:
72
.IR /etc/X11/ <cmdline>
73
.IR __projectroot__/etc/X11/ <cmdline>
75
.IB /etc/X11/ $XORGCONFIG
76
.IB __projectroot__/etc/X11/ $XORGCONFIG
77
.I /etc/X11/__xconfigfile__\-4
78
.I /etc/X11/__xconfigfile__
79
.I /etc/__xconfigfile__
80
.IR __projectroot__/etc/X11/__xconfigfile__. <hostname>
81
.I __projectroot__/etc/X11/__xconfigfile__\-4
82
.I __projectroot__/etc/X11/__xconfigfile__
83
.IR __projectroot__/lib/X11/__xconfigfile__. <hostname>
84
.I __projectroot__/lib/X11/__xconfigfile__\-4
85
.I __projectroot__/lib/X11/__xconfigfile__
91
is the path specified with the
93
command line option (which may be absolute or relative),
95
is the path specified by that
96
environment variable (absolute or relative),
98
is the path specified by that environment variable (usually the home
101
is the machine's hostname as reported by
102
.BR gethostname (__libmansuffix__).
104
Additional configuration files are searched for in the following
105
directories when the server is started as a normal user:
109
.IR /etc/X11/ <cmdline>
110
.IR __sysconfdir__/X11/ <cmdline>
111
.I /etc/X11/__xconfigdir__
112
.I __sysconfdir__/X11/__xconfigdir__
118
is a relative path (with no \(lq..\(rq components) specified with the
122
When the __xservername__ server is started by the \(lqroot\(rq user, the
123
config directory search locations are as follows:
128
.IR /etc/X11/ <cmdline>
129
.IR __sysconfdir__/X11/ <cmdline>
130
.I /etc/X11/__xconfigdir__
131
.I __sysconfdir__/X11/__xconfigdir__
137
is the path specified with the
139
command line option (which may be absolute or relative).
141
Finally, configuration files will also be searched for in directories
142
reserved for system use. These are to separate configuration files from
143
the vendor or 3rd party packages from those of local administration.
144
These files are found in the following directories:
148
.I /usr/share/X11/__xconfigdir__
149
.I __datadir__/X11/__xconfigdir__
157
files are composed of a number of sections which may be present in any order,
158
or omitted to use default configuration values.
159
Each section has the form:
163
.BI "Section \*q" SectionName \*q
170
The section names are:
174
.BR "Files " "File pathnames"
175
.BR "ServerFlags " "Server flags"
176
.BR "Module " "Dynamic module loading"
177
.BR "Extensions " "Extension enabling"
178
.BR "InputDevice " "Input device description"
179
.BR "InputClass " "Input class description"
180
.BR "Device " "Graphics device description"
181
.BR "VideoAdaptor " "Xv video adaptor description"
182
.BR "Monitor " "Monitor description"
183
.BR "Modes " "Video modes descriptions"
184
.BR "Screen " "Screen configuration"
185
.BR "ServerLayout " "Overall layout"
186
.BR "DRI " "DRI\-specific configuration"
187
.BR "Vendor " "Vendor\-specific configuration"
191
The following obsolete section names are still recognised for compatibility
193
In new config files, the
195
section should be used instead.
199
.BR "Keyboard " "Keyboard configuration"
200
.BR "Pointer " "Pointer/mouse configuration"
206
section is no longer recognised.
210
sections are at the highest level.
211
They bind together the input and output devices that will be used in a session.
212
The input devices are described in the
215
Output devices usually consist of multiple independent components (e.g.,
216
a graphics board and a monitor).
217
These multiple components are bound together in the
219
sections, and it is these that are referenced by the
224
section binds together a graphics board and a monitor.
225
The graphics boards are described in the
227
sections, and the monitors are described in the
231
Config file keywords are case\-insensitive, and \(lq_\(rq characters are
233
Most strings (including
235
names) are also case-insensitive, and insensitive to white space and
236
\(lq_\(rq characters.
238
Each config file entry usually takes up a single line in the file. They
239
consist of a keyword, which is possibly followed by one or more arguments,
240
with the number and types of the arguments depending on the keyword.
241
The argument types are:
245
.BR "Integer " "an integer number in decimal, hex or octal"
246
.BR "Real " "a floating point number"
247
.BR "String " "a string enclosed in double quote marks (\*q)"
251
Note: hex integer values must be prefixed with \(lq0x\(rq, and octal values
254
A special keyword called
256
may be used to provide free\-form data to various components of the server.
259
keyword takes either one or two string arguments.
260
The first is the option name, and the optional second argument is the
262
Some commonly used option value types include:
266
.BR "Integer " "an integer number in decimal, hex or octal"
267
.BR "Real " "a floating point number"
268
.BR "String " "a sequence of characters"
269
.BR "Boolean " "a boolean value (see below)"
270
.BR "Frequency " "a frequency value (see below)"
277
values, not just strings, must be enclosed in quotes.
279
Boolean options may optionally have a value specified.
280
When no value is specified, the option's value is
282
The following boolean option values are recognised as
292
and the following boolean option values are recognised as
302
If an option name is prefixed with
304
then the option value is negated.
306
Example: the following option entries are equivalent:
310
.B "Option \*qAccel\*q \*qOff\*q"
311
.B "Option \*qNoAccel\*q"
312
.B "Option \*qNoAccel\*q \*qOn\*q"
313
.B "Option \*qAccel\*q \*qfalse\*q"
314
.B "Option \*qAccel\*q \*qno\*q"
318
Frequency option values consist of a real number that is optionally
319
followed by one of the following frequency units:
329
When the unit name is omitted, the correct units will be determined from
330
the value and the expectations of the appropriate range of the value.
331
It is recommended that the units always be specified when using frequency
332
option values to avoid any errors in determining the value.
336
section is used to specify some path names required by the server.
337
Some of these paths can also be set from the command line (see
338
.BR Xserver (__appmansuffix__)
340
.BR __xservername__ (__appmansuffix__)).
341
The command line settings override the values specified in the config
345
section is optional, as are all of the entries that may appear in it.
347
The entries that can appear in this section are:
349
.BI "FontPath \*q" path \*q
350
sets the search path for fonts.
351
This path is a comma separated list of font path elements which the __xservername__
352
server searches for font databases.
355
entries may be specified, and they will be concatenated to build up the
356
fontpath used by the server. Font path elements can be absolute
357
directory paths, catalogue directories or a font server identifier. The
358
formats of the later two are explained below:
361
Catalogue directories:
364
Catalogue directories can be specified using the prefix \fBcatalogue:\fR
365
before the directory name. The directory can then be populated with
366
symlinks pointing to the real font directories, using the following
367
syntax in the symlink name:
370
.IR <identifier> : [attribute]: pri= <priority>
375
is an alphanumeric identifier,
377
is an attribute which will be passed to the underlying FPE and
379
is a number used to order the fontfile FPEs. Examples:
383
.I 75dpi:unscaled:pri=20 -> /usr/share/X11/fonts/75dpi
384
.I gscript:pri=60 -> /usr/share/fonts/default/ghostscript
385
.I misc:unscaled:pri=10 \-> /usr/share/X11/fonts/misc
391
Font server identifiers:
394
Font server identifiers have the form:
397
.IR <trans> / <hostname> : <port\-number>
402
is the transport type to use to connect to the font server (e.g.,
404
for UNIX\-domain sockets or
406
for a TCP/IP connection),
408
is the hostname of the machine running the font server, and
410
is the port number that the font server is listening on (usually 7100).
413
When this entry is not specified in the config file, the server falls back
414
to the compiled\-in default font path, which contains the following
415
font path elements (which can be set inside a catalogue directory):
419
.I __datadir__/fonts/X11/misc/
420
.I __datadir__/fonts/X11/TTF/
421
.I __datadir__/fonts/X11/OTF/
422
.I __datadir__/fonts/X11/Type1/
423
.I __datadir__/fonts/X11/100dpi/
424
.I __datadir__/fonts/X11/75dpi/
428
Font path elements that are found to be invalid are removed from the
429
font path when the server starts up.
432
.BI "ModulePath \*q" path \*q
433
sets the search path for loadable __xservername__ server modules.
434
This path is a comma separated list of directories which the __xservername__ server
435
searches for loadable modules loading in the order specified.
438
entries may be specified, and they will be concatenated to build the
439
module search path used by the server. The default module path is
444
.\" The LogFile keyword is not currently implemented
447
.BI "LogFile \*q" path \*q
448
sets the name of the __xservername__ server log file.
449
The default log file name is
452
.RI __logdir__/__xservername__. <n> .log
458
is the display number for the __xservername__ server.
461
.BI "XkbDir \*q" path \*q
462
sets the base directory for keyboard layout files. The
464
command line option can be used to override this. The default directory is
469
.SH "SERVERFLAGS SECTION"
470
In addition to options specific to this section (described below), the
472
section is used to specify some global
473
__xservername__ server options.
474
All of the entries in this section are
476
although for compatibility purposes some of the old style entries are
478
Those old style entries are not documented here, and using them is
482
section is optional, as are the entries that may be specified in it.
485
specified in this section (with the exception of the
486
.B \*qDefaultServerLayout\*q
490
specified in the active
493
Options with command line equivalents are overridden when their command
494
line equivalent is used.
495
The options recognised by this section are:
497
.BI "Option \*qDefaultServerLayout\*q \*q" layout\-id \*q
498
This specifies the default
500
section to use in the absence of the
504
.BI "Option \*qNoTrapSignals\*q \*q" boolean \*q
505
This prevents the __xservername__ server from trapping a range of unexpected fatal
506
signals and exiting cleanly.
507
Instead, the __xservername__ server will die and drop core where the fault occurred.
508
The default behaviour is for the __xservername__ server to exit cleanly, but still drop a
510
In general you never want to use this option unless you are debugging an __xservername__
511
server problem and know how to deal with the consequences.
513
.BI "Option \*qUseSIGIO\*q \*q" boolean \*q
514
This controls whether the __xservername__ server requests that events from
515
input devices be reported via a SIGIO signal handler (also known as SIGPOLL
516
on some platforms), or only reported via the standard select(3) loop.
517
The default behaviour is platform specific. In general you do not want to
518
use this option unless you are debugging the __xservername__ server, or
519
working around a specific bug until it is fixed, and understand the
522
.BI "Option \*qDontVTSwitch\*q \*q" boolean \*q
523
This disallows the use of the
527
refers to one of the numbered function keys).
528
That sequence is normally used to switch to another \*qvirtual terminal\*q
529
on operating systems that have this feature.
530
When this option is enabled, that key sequence has no special meaning and
531
is passed to clients.
534
.BI "Option \*qDontZap\*q \*q" boolean \*q
535
This disallows the use of the
537
XKB action (usually on Ctrl+Alt+Backspace, depending on XKB options).
538
This action is normally used to terminate the __xservername__ server.
539
When this option is enabled, the action has no effect.
542
.BI "Option \*qDontZoom\*q \*q" boolean \*q
543
This disallows the use of the
544
.B Ctrl+Alt+Keypad\-Plus
546
.B Ctrl+Alt+Keypad\-Minus
548
These sequences allows you to switch between video modes.
549
When this option is enabled, those key sequences have no special meaning
550
and are passed to clients.
553
.BI "Option \*qDisableVidModeExtension\*q \*q" boolean \*q
554
This disables the parts of the VidMode extension used by the xvidtune client
555
that can be used to change the video modes.
556
Default: the VidMode extension is enabled.
558
.BI "Option \*qAllowNonLocalXvidtune\*q \*q" boolean \*q
559
This allows the xvidtune client (and other clients that use the VidMode
560
extension) to connect from another host.
563
.BI "Option \*qAllowMouseOpenFail\*q \*q" boolean \*q
564
This tells the mousedrv(__drivermansuffix__) and vmmouse(__drivermansuffix__)
565
drivers to not report failure if the mouse device can't be opened/initialised.
566
It has no effect on the evdev(__drivermansuffix__) or other drivers.
567
The previous functionality of allowing the server to start up even if
568
the mouse device can't be opened/initialised is now handled by the
569
AllowEmptyInput option.
572
.BI "Option \*qVTSysReq\*q \*q" boolean \*q
573
enables the SYSV\-style VT switch sequence for non\-SYSV systems
574
which support VT switching.
577
followed by a function key
579
This prevents the __xservername__ server trapping the
580
keys used for the default VT switch sequence, which means that clients can
584
.BI "Option \*qBlankTime\*q \*q" time \*q
585
sets the inactivity timeout for the
587
phase of the screensaver.
590
This is equivalent to the __xservername__ server's
592
flag, and the value can be changed at run\-time with
593
.BR xset(__appmansuffix__).
596
.BI "Option \*qStandbyTime\*q \*q" time \*q
597
sets the inactivity timeout for the
601
is in minutes, and the value can be changed at run\-time with
602
.BR xset(__appmansuffix__).
604
This is only suitable for VESA DPMS compatible monitors, and may not be
605
supported by all video drivers.
606
It is only enabled for screens that have the
608
option set (see the MONITOR section below).
610
.BI "Option \*qSuspendTime\*q \*q" time \*q
611
sets the inactivity timeout for the
615
is in minutes, and the value can be changed at run\-time with
616
.BR xset(__appmansuffix__).
618
This is only suitable for VESA DPMS compatible monitors, and may not be
619
supported by all video drivers.
620
It is only enabled for screens that have the
622
option set (see the MONITOR section below).
624
.BI "Option \*qOffTime\*q \*q" time \*q
625
sets the inactivity timeout for the
629
is in minutes, and the value can be changed at run\-time with
630
.BR xset(__appmansuffix__).
632
This is only suitable for VESA DPMS compatible monitors, and may not be
633
supported by all video drivers.
634
It is only enabled for screens that have the
636
option set (see the MONITOR section below).
638
.BI "Option \*qPixmap\*q \*q" bpp \*q
639
This sets the pixmap format to use for depth 24.
643
Default: 32 unless driver constraints don't allow this (which is rare).
644
Note: some clients don't behave well when this value is set to 24.
646
.BI "Option \*qPC98\*q \*q" boolean \*q
647
Specify that the machine is a Japanese PC\-98 machine.
648
This should not be enabled for anything other than the Japanese\-specific
650
Default: auto\-detected.
652
.BI "Option \*qNoPM\*q \*q" boolean \*q
653
Disables something to do with power management events.
654
Default: PM enabled on platforms that support it.
656
.BI "Option \*qXinerama\*q \*q" boolean \*q
657
enable or disable XINERAMA extension.
660
.BI "Option \*qAIGLX\*q \*q" boolean \*q
661
enable or disable AIGLX. AIGLX is enabled by default.
663
.BI "Option \*qDRI2\*q \*q" boolean \*q
664
enable or disable DRI2. DRI2 is disabled by default.
666
.BI "Option \*qGlxVisuals\*q \*q" string \*q
667
This option controls how many GLX visuals the GLX modules sets up.
670
which will setup up a typical subset of
671
the GLXFBConfigs provided by the driver as GLX visuals. Other options are
673
which will set up the minimal set allowed by the GLX specification and
675
which will setup GLX visuals for all GLXFBConfigs.
677
.BI "Option \*qUseDefaultFontPath\*q \*q" boolean \*q
678
Include the default font path even if other paths are specified in
679
xorg.conf. If enabled, other font paths are included as well. Enabled by
682
.BI "Option \*qIgnoreABI\*q \*q" boolean \*q
683
Allow modules built for a different, potentially incompatible version of
684
the X server to load. Disabled by default.
686
.BI "Option \*qAllowEmptyInput\*q \*q" boolean \*q
687
If enabled, don't add the standard keyboard and mouse drivers, if there are no
688
input devices in the config file. Enabled by default if AutoAddDevices and
689
AutoEnableDevices is enabled, otherwise disabled.
690
If AllowEmptyInput is on, devices using the kbd, mouse or vmmouse driver are ignored.
692
.BI "Option \*qAutoAddDevices\*q \*q" boolean \*q
693
If this option is disabled, then no devices will be added from HAL events.
696
.BI "Option \*qAutoEnableDevices\*q \*q" boolean \*q
697
If this option is disabled, then the devices will be added (and the
698
DevicePresenceNotify event sent), but not enabled, thus leaving policy up
702
.BI "Option \*qLog\*q \*q" string \*q
703
This option controls whether the log is flushed and/or synced to disk after
713
section is used to specify which __xservername__ server modules should be loaded.
714
This section is ignored when the __xservername__ server is built in static form.
715
The type of modules normally loaded in this section are __xservername__ server
717
Most other module types are loaded automatically when they are needed via
721
section is optional, as are all of the entries that may be specified in
724
Entries in this section may be in two forms.
725
The first and most commonly used form is an entry that uses the
727
keyword, as described here:
729
.BI "Load \*q" modulename \*q
730
This instructs the server to load the module called
732
The module name given should be the module's standard name, not the
734
The standard name is case\-sensitive, and does not include the \(lqlib\(rq
735
prefix, or the \(lq.a\(rq, \(lq.o\(rq, or \(lq.so\(rq suffixes.
738
Example: the DRI extension module can be loaded with the following entry:
745
.BI "Disable \*q" modulename \*q
746
This instructs the server to not load the module called
748
Some modules are loaded by default in the server, and this overrides that
751
instruction is given for the same module, it overrides the
753
instruction and the module is loaded. The module name given should be the
754
module's standard name, not the module file name. As with the
756
instruction, the standard name is case-sensitive, and does not include the
757
"lib" prefix, or the ".a", ".o", or ".so" suffixes.
759
The second form of entry is a
761
with the subsection name being the module name, and the contents of the
765
that are passed to the module when it is loaded.
767
Example: the extmod module (which contains a miscellaneous group of
768
server extensions) can be loaded, with the XFree86\-DGA extension
769
disabled by using the following entry:
773
.B "SubSection \*qextmod\*q"
774
.B " Option \*qomit XFree86\-DGA\*q"
779
Modules are searched for in each directory specified in the
781
search path, and in the drivers, extensions, input, internal, and
782
multimedia subdirectories of each of those directories.
783
In addition to this, operating system specific subdirectories of all
784
the above are searched first if they exist.
786
To see what extension modules are available, check the extensions
795
The \(lqextmod\(rq, \(lqdbe\(rq, \(lqdri\(rq, \(lqdri2\(rq, \(lqglx\(rq,
796
and \(lqrecord\(rq extension modules are loaded automatically, if they
797
are present, unless disabled with \*qDisable\*q entries.
799
that at very least the \(lqextmod\(rq extension module be loaded.
800
If it isn't, some commonly used server extensions (like the SHAPE
801
extension) will not be available.
802
.SH "EXTENSIONS SECTION"
805
section is used to specify which X11 protocol extensions should be enabled
809
section is optional, as are all of the entries that may be specified in
812
Entries in this section are listed as Option statements with the name of
813
the extension as the first argument, and a boolean value as the second.
814
The extension name is case\-sensitive, and matches the form shown in the output
815
of \*qXorg -extension ?\*q.
818
Example: the MIT-SHM extension can be disabled with the following entry:
822
.B "Section \*qExtensions\*q"
823
.B " Option \*qMIT-SHM\*q \*qDisable\*q"
828
.SH "INPUTDEVICE SECTION"
829
The config file may have multiple
832
Recent X servers employ input hotplugging to add input devices, with the HAL
833
backend being the default backend for X servers since 1.4. It is usually not
836
sections in the xorg.conf if hotplugging is enabled.
838
If hotplugging is disabled, there will normally
839
be at least two: one for the core (primary) keyboard
840
and one for the core pointer.
841
If either of these two is missing, a default configuration for the missing
842
ones will be used. In the absence of an explicitly specified core input
850
If there is no match there, the first
852
that uses the \(lqmouse\(rq (or \(lqkbd\(rq) driver is used.
853
The final fallback is to use built\-in default configurations.
854
Currently the default configuration may not work as expected on all platforms.
857
sections have the following format:
861
.B "Section \*qInputDevice\*q"
862
.BI " Identifier \*q" name \*q
863
.BI " Driver \*q" inputdriver \*q
874
entries are required in all
877
All other entries are optional.
881
entry specifies the unique name for this input device.
884
entry specifies the name of the driver to use for this input device.
885
When using the loadable server, the input driver module
886
.RI \*q inputdriver \*q
887
will be loaded for each active
892
section is considered active if it is referenced by an active
894
section, if it is referenced by the
898
command line options, or if it is selected implicitly as the core pointer
899
or keyboard device in the absence of such explicit references.
900
The most commonly used input drivers are
901
.BR evdev (__drivermansuffix__)
902
on Linux systems, and
903
.BR kbd (__drivermansuffix__)
905
.BR mousedrv (__drivermansuffix__)
910
sections recognise some driver\-independent
912
which are described here.
913
See the individual input driver manual pages for a description of the
914
device\-specific options.
916
.BI "Option \*qAutoServerLayout\*q \*q" boolean \*q
917
Always add the device to the ServerLayout section used by this instance of
918
the server. This affects implied layouts as well as explicit layouts
919
specified in the configuration and/or on the command line.
921
.BI "Option \*qCorePointer\*q"
926
.BI "Option \*qCoreKeyboard\*q"
931
.BI "Option \*qAlwaysCore\*q \*q" boolean \*q
937
.BI "Option \*qSendCoreEvents\*q \*q" boolean \*q
938
Both of these options are equivalent, and when enabled cause the
939
input device to report core events through the master device. They are
940
enabled by default. Any device configured to send core events will be
941
attached to the virtual core pointer or keyboard and control the cursor by
942
default. Devices with
944
disabled will be \*qfloating\*q and only accessible by clients employing the
945
X Input extension. This option controls the startup behavior only, a device
946
may be reattached or set floating at runtime.
948
.BI "Option \*qSendDragEvents\*q \*q" boolean \*q
949
Send core events while dragging. Enabled by default.
951
For pointing devices, the following options control how the pointer
952
is accelerated or decelerated with respect to physical device motion. Most of
953
these can be adjusted at runtime, see the xinput(1) man page for details. Only
954
the most important acceleration options are discussed here.
956
.BI "Option \*qAccelerationProfile\*q \*q" integer \*q
957
Select the profile. In layman's terms, the profile constitutes the "feeling" of
958
the acceleration. More formally, it defines how the transfer function (actual
959
acceleration as a function of current device velocity and acceleration controls)
960
is constructed. This is mainly a matter of personal preference.
964
.B " 0 classic (mostly compatible)"
965
.B "-1 none (only constant deceleration is applied)"
966
.B " 1 device-dependent"
967
.B " 2 polynomial (polynomial function)"
968
.B " 3 smooth linear (soft knee, then linear)"
969
.B " 4 simple (normal when slow, otherwise accelerated)"
970
.B " 5 power (power function)"
971
.B " 6 linear (more speed, more acceleration)"
972
.B " 7 limited (like linear, but maxes out at threshold)"
976
.BI "Option \*qConstantDeceleration\*q \*q" real \*q
979
times slower than normal. Most useful for high-resolution devices.
981
.BI "Option \*qAdaptiveDeceleration\*q \*q" real \*q
982
Allows to actually decelerate the pointer when going slow. At most, it will be
983
.B adaptive deceleration
984
times slower. Enables precise pointer placement without sacrificing speed.
986
.BI "Option \*qAccelerationScheme\*q \*q" string \*q
987
Selects the scheme, which is the underlying algorithm.
991
.B "predictable default algorithm (behaving more predictable)"
992
.B "lightweight old acceleration code (as specified in the X protocol spec)"
993
.B "none no acceleration or deceleration"
997
.BI "Option \*qAccelerationNumerator\*q \*q" integer \*q
999
.BI "Option \*qAccelerationDenominator\*q \*q" integer \*q
1000
Set numerator and denominator of the acceleration factor. The acceleration
1001
factor is a rational which, together with threshold, can be used to tweak
1002
profiles to suit the users needs. The
1006
profiles use it directly (i.e. they accelerate by the factor), for other
1007
profiles it should hold that a higher acceleration factor leads to a faster
1008
pointer. Typically, 1 is unaccelerated and values up to 5 are sensible.
1010
.BI "Option \*qAccelerationThreshold\*q \*q" integer \*q
1011
Set the threshold, which is roughly the velocity (usually device units per 10
1012
ms) required for acceleration to become effective. The precise effect varies
1013
with the profile however.
1015
.SH "INPUTCLASS SECTION"
1016
The config file may have multiple
1019
These sections are optional and are used to provide configuration for a
1020
class of input devices as they are automatically added. An input device can
1023
section. Each class can override settings from a previous class, so it is
1024
best to arrange the sections with the most generic matches first.
1027
sections have the following format:
1031
.B "Section \*qInputClass\*q"
1032
.BI " Identifier \*q" name \*q
1043
entry is required in all
1046
All other entries are optional.
1050
entry specifies the unique name for this input class.
1053
entry specifies the name of the driver to use for this input device.
1054
After all classes have been examined, the
1055
.RI \*q inputdriver \*q
1056
module from the first
1058
entry will be enabled when using the loadable server.
1060
When an input device is automatically added, its characteristics are
1063
sections. Each section can contain optional entries to narrow the match
1064
of the class. If none of the optional entries appear, the
1066
section is generic and will match any input device. If more than one of
1067
these entries appear, they all must match for the configuration to apply.
1069
There are two types of match entries used in
1071
sections. The first allows various tokens to be matched against attributes
1072
of the device. An entry can be constructed to match attributes from different
1073
devices by separating arguments with a '|' character. Multiple entries of the
1074
same type may be supplied to add multiple matching conditions on the same
1075
attribute. For example:
1079
.B "Section \*qInputClass\*q"
1080
.B " Identifier \*qMy Class\*q"
1081
.B " # product string must contain example and
1082
.B " # either gizmo or gadget
1083
.B " MatchProduct \*qexample\*q
1084
.B " MatchProduct \*qgizmo|gadget\*q
1090
.BI "MatchProduct \*q" matchproduct \*q
1091
This entry can be used to check if the substring
1092
.RI \*q matchproduct \*q
1093
occurs in the device's product name.
1095
.BI "MatchVendor \*q" matchvendor \*q
1096
This entry can be used to check if the substring
1097
.RI \*q matchvendor \*q
1098
occurs in the device's vendor name.
1100
.BI "MatchDevicePath \*q" matchdevice \*q
1101
This entry can be used to check if the device file matches the
1102
.RI \*q matchdevice \*q
1105
.BI "MatchOS \*q" matchos \*q
1106
This entry can be used to check if the operating system matches the
1109
string. This entry is only supported on platforms providing the
1113
.BI "MatchPnPID \*q" matchpnp \*q
1114
The device's Plug and Play (PnP) ID can be checked against the
1115
.RI \*q matchpnp \*q
1116
shell wildcard pattern.
1118
.BI "MatchUSBID \*q" matchusb \*q
1119
The device's USB ID can be checked against the
1120
.RI \*q matchusb \*q
1121
shell wildcard pattern. The ID is constructed as lowercase hexadecimal numbers
1122
separated by a ':'. This is the same format as the
1126
.BI "MatchDriver \*q" matchdriver \*q
1127
Check the case-sensitive string
1128
.RI \*q matchdriver \*q
1129
against the currently configured driver of the device. Ordering of sections
1130
using this entry is important since it will not match unless the driver has
1131
been set by the config backend or a previous
1135
.BI "MatchTag \*q" matchtag \*q
1136
This entry can be used to check if tags assigned by the config backend
1138
.RI \*q matchtag \*q
1139
pattern. A match is found if at least one of the tags given in
1140
.RI \*q matchtag \*q
1141
matches at least one of the tags assigned by the backend.
1143
The second type of entry is used to match device types. These entries take a
1144
boolean argument similar to
1148
.BI "MatchIsKeyboard \*q" bool \*q
1150
.BI "MatchIsPointer \*q" bool \*q
1152
.BI "MatchIsJoystick \*q" bool \*q
1154
.BI "MatchIsTablet \*q" bool \*q
1156
.BI "MatchIsTouchpad \*q" bool \*q
1158
.BI "MatchIsTouchscreen \*q" bool \*q
1160
When an input device has been matched to the
1164
entries are applied to the device. One
1168
is recognized. See the
1170
section above for a description of the remaining
1174
.BI "Option \*qIgnore\*q \*q" boolean \*q
1175
This optional entry specifies that the device should be ignored entirely,
1176
and not added to the server. This can be useful when the device is handled
1177
by another program and no X events should be generated.
1178
.SH "DEVICE SECTION"
1179
The config file may have multiple
1182
There must be at least one, for the video card being used.
1185
sections have the following format:
1189
.B "Section \*qDevice\*q"
1190
.BI " Identifier \*q" name \*q
1191
.BI " Driver \*q" driver \*q
1202
entries are required in all
1204
sections. All other entries are optional.
1208
entry specifies the unique name for this graphics device.
1211
entry specifies the name of the driver to use for this graphics device.
1212
When using the loadable server, the driver module
1214
will be loaded for each active
1219
section is considered active if it is referenced by an active
1224
sections recognise some driver\-independent entries and
1226
which are described here.
1227
Not all drivers make use of these
1228
driver\-independent entries, and many of those that do don't require them
1229
to be specified because the information is auto\-detected.
1230
See the individual graphics driver manual pages for further information
1231
about this, and for a description of the device\-specific options.
1232
Note that most of the
1234
listed here (but not the other entries) may be specified in the
1236
section instead of here in the
1240
.BI "BusID \*q" bus\-id \*q
1241
This specifies the bus location of the graphics card.
1246
.BI PCI: bus : device : function
1247
(e.g., \(lqPCI:1:0:0\(rq might be appropriate for an AGP card).
1248
This field is usually optional in single-head configurations when using
1249
the primary graphics card.
1250
In multi-head configurations, or when using a secondary graphics card in a
1251
single-head configuration, this entry is mandatory.
1252
Its main purpose is to make an unambiguous connection between the device
1253
section and the hardware it is representing.
1254
This information can usually be found by running the pciaccess tool
1257
.BI "Screen " number
1258
This option is mandatory for cards where a single PCI entity can drive more
1259
than one display (i.e., multiple CRTCs sharing a single graphics accelerator
1263
section is required for each head, and this
1264
parameter determines which head each of the
1266
sections applies to.
1269
range from 0 to one less than the total number of heads per entity.
1270
Most drivers require that the primary screen (0) be present.
1272
.BI "Chipset \*q" chipset \*q
1273
This usually optional entry specifies the chipset used on the graphics
1275
In most cases this entry is not required because the drivers will probe the
1276
hardware to determine the chipset type.
1277
Don't specify it unless the driver-specific documentation recommends that you
1280
.BI "Ramdac \*q" ramdac\-type \*q
1281
This optional entry specifies the type of RAMDAC used on the graphics
1283
This is only used by a few of the drivers, and in most cases it is not
1284
required because the drivers will probe the hardware to determine the
1285
RAMDAC type where possible.
1286
Don't specify it unless the driver-specific documentation recommends that you
1289
.BI "DacSpeed " speed
1291
.BI "DacSpeed " "speed\-8 speed\-16 speed\-24 speed\-32"
1292
This optional entry specifies the RAMDAC speed rating (which is usually
1293
printed on the RAMDAC chip).
1294
The speed is in MHz.
1295
When one value is given, it applies to all framebuffer pixel sizes.
1296
When multiple values are given, they apply to the framebuffer pixel sizes
1297
8, 16, 24 and 32 respectively.
1298
This is not used by many drivers, and only needs to be specified when the
1299
speed rating of the RAMDAC is different from the defaults built in to
1300
driver, or when the driver can't auto-detect the correct defaults.
1301
Don't specify it unless the driver-specific documentation recommends that you
1304
.BI "Clocks " "clock ..."
1305
specifies the pixel that are on your graphics board.
1306
The clocks are in MHz, and may be specified as a floating point number.
1307
The value is stored internally to the nearest kHz.
1308
The ordering of the clocks is important.
1309
It must match the order in which they are selected on the graphics board.
1312
lines may be specified, and each is concatenated to form the list.
1313
Most drivers do not use this entry, and it is only required for some older
1314
boards with non-programmable clocks.
1315
Don't specify this entry unless the driver-specific documentation explicitly
1316
recommends that you do.
1318
.BI "ClockChip \*q" clockchip\-type \*q
1319
This optional entry is used to specify the clock chip type on graphics
1320
boards which have a programmable clock generator.
1321
Only a few __xservername__ drivers support programmable clock chips.
1322
For details, see the appropriate driver manual page.
1324
.BI "VideoRam " "mem"
1325
This optional entry specifies the amount of video ram that is installed
1326
on the graphics board.
1327
This is measured in kBytes.
1328
In most cases this is not required because the __xservername__ server probes
1329
the graphics board to determine this quantity.
1330
The driver-specific documentation should indicate when it might be needed.
1332
.BI "BiosBase " "baseaddress"
1333
This optional entry specifies the base address of the video BIOS for
1335
This address is normally auto-detected, and should only be specified if the
1336
driver-specific documentation recommends it.
1338
.BI "MemBase " "baseaddress"
1339
This optional entry specifies the memory base address of a graphics
1340
board's linear frame buffer.
1341
This entry is not used by many drivers, and it should only be specified if
1342
the driver-specific documentation recommends it.
1344
.BI "IOBase " "baseaddress"
1345
This optional entry specifies the IO base address.
1346
This entry is not used by many drivers, and it should only be specified if
1347
the driver-specific documentation recommends it.
1350
This optional entry specifies a numerical ID representing the chip type.
1351
For PCI cards, it is usually the device ID.
1352
This can be used to override the auto-detection, but that should only be done
1353
when the driver-specific documentation recommends it.
1355
.BI "ChipRev " "rev"
1356
This optional entry specifies the chip revision number.
1357
This can be used to override the auto-detection, but that should only be done
1358
when the driver-specific documentation recommends it.
1360
.BI "TextClockFreq " "freq"
1361
This optional entry specifies the pixel clock frequency that is used
1362
for the regular text mode.
1363
The frequency is specified in MHz.
1364
This is rarely used.
1366
.BI "Option \*qModeDebug\*q \*q" boolean \*q
1367
Enable printing of additional debugging information about modesetting to
1371
This optional entry allows an IRQ number to be specified.
1375
Option flags may be specified in the
1378
These include driver\-specific options and driver\-independent options.
1379
The former are described in the driver\-specific documentation.
1380
Some of the latter are described below in the section about the
1382
section, and they may also be included here.
1384
.SH "VIDEOADAPTOR SECTION"
1385
Nobody wants to say how this works.
1386
Maybe nobody knows ...
1388
.SH "MONITOR SECTION"
1389
The config file may have multiple
1392
There should normally be at least one, for the monitor being used,
1393
but a default configuration will be created when one isn't specified.
1396
sections have the following format:
1400
.B "Section \*qMonitor\*q"
1401
.BI " Identifier \*q" name \*q
1408
The only mandatory entry in a
1416
entry specifies the unique name for this monitor.
1419
section may be used to provide information about the specifications of the
1420
monitor, monitor-specific
1422
and information about the video modes to use with the monitor.
1424
With RandR 1.2-enabled drivers, monitor sections may be tied to specific
1425
outputs of the video card. Using the name of the output defined by the video
1426
driver plus the identifier of a monitor section, one associates a monitor
1427
section with an output by adding an option to the Device section in the
1430
.B Option \*qMonitor-outputname\*q \*qmonitorsection\*q
1433
.B Option \*qMonitor-VGA\*q \*qVGA monitor\*q
1436
In the absence of specific association of monitor sections to outputs, if a
1437
monitor section is present the server will associate it with an output to
1438
preserve compatibility for previous single-head configurations.
1440
Specifying video modes is optional because the server will use the DDC or other
1441
information provided by the monitor to automatically configure the list of
1443
When modes are specified explicitly in the
1450
keywords), built-in modes with the same names are not included.
1451
Built-in modes with different names are, however, still implicitly included,
1452
when they meet the requirements of the monitor.
1454
The entries that may be used in
1456
sections are described below.
1458
.BI "VendorName \*q" vendor \*q
1459
This optional entry specifies the monitor's manufacturer.
1461
.BI "ModelName \*q" model \*q
1462
This optional entry specifies the monitor's model.
1464
.BI "HorizSync " "horizsync\-range"
1465
gives the range(s) of horizontal sync frequencies supported by the
1468
may be a comma separated list of either discrete values or ranges of
1470
A range of values is two values separated by a dash.
1471
By default the values are in units of kHz.
1472
They may be specified in MHz or Hz
1477
is added to the end of the line.
1478
The data given here is used by the __xservername__ server to determine if video
1479
modes are within the specifications of the monitor.
1480
This information should be available in the monitor's handbook.
1481
If this entry is omitted, a default range of 28\-33kHz is used.
1483
.BI "VertRefresh " "vertrefresh\-range"
1484
gives the range(s) of vertical refresh frequencies supported by the
1486
.I vertrefresh\-range
1487
may be a comma separated list of either discrete values or ranges of
1489
A range of values is two values separated by a dash.
1490
By default the values are in units of Hz.
1491
They may be specified in MHz or kHz
1496
is added to the end of the line.
1497
The data given here is used by the __xservername__ server to determine if video
1498
modes are within the specifications of the monitor.
1499
This information should be available in the monitor's handbook.
1500
If this entry is omitted, a default range of 43\-72Hz is used.
1502
.BI "DisplaySize " "width height"
1503
This optional entry gives the width and height, in millimetres, of the
1504
picture area of the monitor.
1505
If given this is used to calculate the horizontal and vertical pitch (DPI) of
1508
.BI "Gamma " "gamma\-value"
1510
.BI "Gamma " "red\-gamma green\-gamma blue\-gamma"
1511
This is an optional entry that can be used to specify the gamma correction
1513
It may be specified as either a single value or as three separate RGB values.
1514
The values should be in the range 0.1 to 10.0, and the default is 1.0.
1515
Not all drivers are capable of using this information.
1517
.BI "UseModes \*q" modesection\-id \*q
1518
Include the set of modes listed in the
1521
.IR modesection\-id.
1522
This makes all of the modes defined in that section available for use by
1525
.BI "Mode \*q" name \*q
1526
This is an optional multi-line entry that can be used to provide
1527
definitions for video modes for the monitor.
1528
In most cases this isn't necessary because the built-in set of VESA standard
1529
modes will be sufficient.
1532
keyword indicates the start of a multi-line video mode description.
1533
The mode description is terminated with the
1536
The mode description consists of the following entries:
1539
.BI "DotClock " clock
1540
is the dot (pixel) clock rate to be used for the mode.
1542
.BI "HTimings " "hdisp hsyncstart hsyncend htotal"
1543
specifies the horizontal timings for the mode.
1545
.BI "VTimings " "vdisp vsyncstart vsyncend vtotal"
1546
specifies the vertical timings for the mode.
1548
.BI "Flags \*q" flag \*q " ..."
1549
specifies an optional set of mode flags, each of which is a separate
1550
string in double quotes.
1552
indicates that the mode is interlaced.
1554
indicates a mode where each scanline is doubled.
1558
can be used to select the polarity of the HSync signal.
1562
can be used to select the polarity of the VSync signal.
1564
can be used to specify composite sync on hardware where this is supported.
1565
Additionally, on some hardware,
1569
may be used to select the composite sync polarity.
1572
specifies the number of pixels (towards the right edge of the screen) by
1573
which the display enable signal is to be skewed.
1574
Not all drivers use this information.
1575
This option might become necessary to override the default value supplied
1576
by the server (if any).
1577
\(lqRoving\(rq horizontal lines indicate this value needs to be increased.
1578
If the last few pixels on a scan line appear on the left of the screen,
1579
this value should be decreased.
1582
specifies the number of times each scanline is painted on the screen.
1583
Not all drivers use this information.
1584
Values less than 1 are treated as 1, which is the default.
1588
mentioned above doubles this value.
1591
.BI "ModeLine \*q" name \*q " mode\-description"
1592
This entry is a more compact version of the
1594
entry, and it also can be used to specify video modes for the monitor.
1595
is a single line format for specifying video modes.
1596
In most cases this isn't necessary because the built\-in set of VESA
1597
standard modes will be sufficient.
1601
.I mode\-description
1602
is in four sections, the first three of which are mandatory.
1603
The first is the dot (pixel) clock.
1604
This is a single number specifying the pixel clock rate for the mode in
1606
The second section is a list of four numbers specifying the horizontal
1608
These numbers are the
1615
The third section is a list of four numbers specifying the vertical
1617
These numbers are the
1624
The final section is a list of flags specifying other characteristics of
1627
indicates that the mode is interlaced.
1629
indicates a mode where each scanline is doubled.
1633
can be used to select the polarity of the HSync signal.
1637
can be used to select the polarity of the VSync signal.
1639
can be used to specify composite sync on hardware where this is supported.
1640
Additionally, on some hardware,
1644
may be used to select the composite sync polarity.
1649
options mentioned above in the
1651
entry description can also be used here.
1654
.BI "Option " "\*qDPMS\*q " \*qbool\*q
1655
This option controls whether the server should enable the DPMS extension
1656
for power management for this screen. The default is to enable the
1659
.BI "Option " "\*qSyncOnGreen\*q " \*qbool\*q
1660
This option controls whether the video card should drive the sync signal
1661
on the green color pin. Not all cards support this option, and most
1662
monitors do not require it. The default is off.
1664
.BI "Option " "\*qPrimary\*q " \*qbool\*q
1665
This optional entry specifies that the monitor should be treated as the primary
1666
monitor. (RandR 1.2-supporting drivers only)
1668
.BI "Option " "\*qPreferredMode\*q " \*qstring\*q
1669
This optional entry specifies a mode to be marked as the preferred initial mode
1671
(RandR 1.2-supporting drivers only)
1673
.BI "Option " "\*qPosition\*q " "\*qx y\*q"
1674
This optional entry specifies the position of the monitor within the X
1676
(RandR 1.2-supporting drivers only)
1678
.BI "Option " "\*qLeftOf\*q " \*qoutput\*q
1679
This optional entry specifies that the monitor should be positioned to the
1680
left of the output (not monitor) of the given name.
1681
(RandR 1.2-supporting drivers only)
1683
.BI "Option " "\*qRightOf\*q " \*qoutput\*q
1684
This optional entry specifies that the monitor should be positioned to the
1685
right of the output (not monitor) of the given name.
1686
(RandR 1.2-supporting drivers only)
1688
.BI "Option " "\*qAbove\*q " \*qoutput\*q
1689
This optional entry specifies that the monitor should be positioned above the
1690
output (not monitor) of the given name.
1691
(RandR 1.2-supporting drivers only)
1693
.BI "Option " "\*qBelow\*q " \*qoutput\*q
1694
This optional entry specifies that the monitor should be positioned below the
1695
output (not monitor) of the given name.
1696
(RandR 1.2-supporting drivers only)
1698
.BI "Option " "\*qEnable\*q " \*qbool\*q
1699
This optional entry specifies whether the monitor should be turned on
1700
at startup. By default, the server will attempt to enable all connected
1702
(RandR 1.2-supporting drivers only)
1704
.BI "Option " "\*qDefaultModes\*q " \*qbool\*q
1705
This optional entry specifies whether the server should add supported default
1706
modes to the list of modes offered on this monitor. By default, the server
1707
will add default modes; you should only disable this if you can guarantee
1708
that EDID will be available at all times, or if you have added custom modelines
1709
which the server can use.
1710
(RandR 1.2-supporting drivers only)
1712
.BI "Option " "\*qMinClock\*q " \*qfrequency\*q
1713
This optional entry specifies the minimum dot clock, in kHz, that is supported
1716
.BI "Option " "\*qMaxClock\*q " \*qfrequency\*q
1717
This optional entry specifies the maximum dot clock, in kHz, that is supported
1720
.BI "Option " "\*qIgnore\*q " \*qbool\*q
1721
This optional entry specifies that the monitor should be ignored entirely,
1722
and not reported through RandR. This is useful if the hardware reports the
1723
presence of outputs that don't exist.
1724
(RandR 1.2-supporting drivers only)
1726
.BI "Option " "\*qRotate\*q " \*qrotation\*q
1727
This optional entry specifies the initial rotation of the given monitor.
1728
Valid values for rotation are \*qnormal\*q, \*qleft\*q, \*qright\*q, and
1730
(RandR 1.2-supporting drivers only)
1733
The config file may have multiple
1736
These sections provide a way of defining sets of video modes independently
1741
sections may include the definitions provided in these sections by
1747
sections are not necessary because the built\-in set of VESA standard modes
1751
sections have the following format:
1755
.B "Section \*qModes\*q"
1756
.BI " Identifier \*q" name \*q
1765
entry specifies the unique name for this set of mode descriptions.
1766
The other entries permitted in
1772
entries that are described above in the
1775
.SH "SCREEN SECTION"
1776
The config file may have multiple
1779
There must be at least one, for the \(lqscreen\(rq being used.
1780
A \(lqscreen\(rq represents the binding of a graphics device
1782
section) and a monitor
1787
section is considered \(lqactive\(rq if it is referenced by an active
1791
command line option.
1792
If neither of those is present, the first
1794
section found in the config file is considered the active one.
1797
sections have the following format:
1801
.B "Section \*qScreen\*q"
1802
.BI " Identifier \*q" name \*q
1803
.BI " Device \*q" devid \*q
1804
.BI " Monitor \*q" monid \*q
1807
.BI " SubSection \*qDisplay\*q"
1820
entries are mandatory.
1821
All others are optional.
1825
entry specifies the unique name for this screen.
1828
section provides information specific to the whole screen, including
1831
In multi\-head configurations, there will be multiple active
1833
sections, one for each head.
1834
The entries available
1835
for this section are:
1837
.BI "Device \*q" device\-id \*q
1838
This mandatory entry specifies the
1840
section to be used for this screen.
1841
This is what ties a specific graphics card to a screen.
1848
section in the config file.
1850
.BI "Monitor \*q" monitor\-id \*q
1851
specifies which monitor description is to be used for this screen.
1854
name is not specified, a default configuration is used.
1855
Currently the default configuration may not function as expected on all
1858
.BI "VideoAdaptor \*q" xv\-id \*q
1859
specifies an optional Xv video adaptor description to be used with this
1862
.BI "DefaultDepth " depth
1863
specifies which color depth the server should use by default.
1866
command line option can be used to override this.
1867
If neither is specified, the default depth is driver\-specific, but in most
1870
.BI "DefaultFbBpp " bpp
1871
specifies which framebuffer layout to use by default.
1874
command line option can be used to override this.
1875
In most cases the driver will chose the best default value for this.
1876
The only case where there is even a choice in this value is for depth 24,
1877
where some hardware supports both a packed 24 bit framebuffer layout and a
1878
sparse 32 bit framebuffer layout.
1883
flags may be specified in the
1886
Some are driver\-specific and are described in the driver documentation.
1887
Others are driver\-independent, and will eventually be described here.
1888
.\" XXX These should really be in an xaa man page.
1890
.BI "Option \*qAccel\*q"
1891
Enables XAA (X Acceleration Architecture), a mechanism that makes video cards'
1892
2D hardware acceleration available to the __xservername__ server.
1893
This option is on by default, but it may be necessary to turn it off if
1894
there are bugs in the driver.
1895
There are many options to disable specific accelerated operations, listed
1897
Note that disabling an operation will have no effect if the operation is
1898
not accelerated (whether due to lack of support in the hardware or in the
1901
.BI "Option \*qInitPrimary\*q \*q" boolean \*q
1902
Use the Int10 module to initialize the primary graphics card.
1903
Normally, only secondary cards are soft-booted using the Int10 module, as the
1904
primary card has already been initialized by the BIOS at boot time.
1907
.BI "Option \*qNoInt10\*q \*q" boolean \*q
1908
Disables the Int10 module, a module that uses the int10 call to the BIOS
1909
of the graphics card to initialize it.
1912
.BI "Option \*qNoMTRR\*q"
1913
Disables MTRR (Memory Type Range Register) support, a feature of modern
1914
processors which can improve video performance by a factor of up to 2.5.
1915
Some hardware has buggy MTRR support, and some video drivers have been
1916
known to exhibit problems when MTRR's are used.
1918
.BI "Option \*qXaaNoCPUToScreenColorExpandFill\*q"
1919
Disables accelerated rectangular expansion blits from source patterns
1920
stored in system memory (using a memory\-mapped aperture).
1922
.BI "Option \*qXaaNoColor8x8PatternFillRect\*q"
1923
Disables accelerated fills of a rectangular region with a full\-color
1926
.BI "Option \*qXaaNoColor8x8PatternFillTrap\*q"
1927
Disables accelerated fills of a trapezoidal region with a full\-color
1930
.BI "Option \*qXaaNoDashedBresenhamLine\*q"
1931
Disables accelerated dashed Bresenham line draws.
1933
.BI "Option \*qXaaNoDashedTwoPointLine\*q"
1934
Disables accelerated dashed line draws between two arbitrary points.
1936
.BI "Option \*qXaaNoImageWriteRect\*q"
1937
Disables accelerated transfers of full\-color rectangular patterns from
1938
system memory to video memory (using a memory\-mapped aperture).
1940
.BI "Option \*qXaaNoMono8x8PatternFillRect\*q"
1941
Disables accelerated fills of a rectangular region with a monochrome
1944
.BI "Option \*qXaaNoMono8x8PatternFillTrap\*q"
1945
Disables accelerated fills of a trapezoidal region with a monochrome
1948
.BI "Option \*qXaaNoOffscreenPixmaps\*q"
1949
Disables accelerated draws into pixmaps stored in offscreen video memory.
1951
.BI "Option \*qXaaNoPixmapCache\*q"
1952
Disables caching of patterns in offscreen video memory.
1954
.BI "Option \*qXaaNoScanlineCPUToScreenColorExpandFill\*q"
1955
Disables accelerated rectangular expansion blits from source patterns
1956
stored in system memory (one scan line at a time).
1958
.BI "Option \*qXaaNoScanlineImageWriteRect\*q"
1959
Disables accelerated transfers of full\-color rectangular patterns from
1960
system memory to video memory (one scan line at a time).
1962
.BI "Option \*qXaaNoScreenToScreenColorExpandFill\*q"
1963
Disables accelerated rectangular expansion blits from source patterns
1964
stored in offscreen video memory.
1966
.BI "Option \*qXaaNoScreenToScreenCopy\*q"
1967
Disables accelerated copies of rectangular regions from one part of
1968
video memory to another part of video memory.
1970
.BI "Option \*qXaaNoSolidBresenhamLine\*q"
1971
Disables accelerated solid Bresenham line draws.
1973
.BI "Option \*qXaaNoSolidFillRect\*q"
1974
Disables accelerated solid\-color fills of rectangles.
1976
.BI "Option \*qXaaNoSolidFillTrap\*q"
1977
Disables accelerated solid\-color fills of Bresenham trapezoids.
1979
.BI "Option \*qXaaNoSolidHorVertLine\*q"
1980
Disables accelerated solid horizontal and vertical line draws.
1982
.BI "Option \*qXaaNoSolidTwoPointLine\*q"
1983
Disables accelerated solid line draws between two arbitrary points.
1987
section may optionally contain one or more
1990
Those subsections provide depth/fbbpp specific configuration information,
1991
and the one chosen depends on the depth and/or fbbpp that is being used for
1995
subsection format is described in the section below.
1997
.SH "DISPLAY SUBSECTION"
2000
section may have multiple
2005
subsection is the first that matches the depth and/or fbbpp values being
2006
used, or failing that, the first that has neither a depth or fbbpp value
2010
subsections are optional.
2011
When there isn't one that matches the depth and/or fbbpp values being used,
2012
all the parameters that can be specified here fall back to their defaults.
2015
subsections have the following format:
2019
.B " SubSection \*qDisplay\*q"
2028
This entry specifies what colour depth the
2030
subsection is to be used for.
2031
This entry is usually specified, but it may be omitted to create a match\-all
2033
subsection or when wishing to match only against the
2038
values that are allowed depends on the driver.
2039
Most drivers support 8, 15, 16 and 24.
2040
Some also support 1 and/or 4, and some may support other values (like 30).
2043
means the number of bits in a pixel that are actually used to determine
2048
Most hardware that uses 32 bits per pixel only uses 24 of them to hold the
2049
colour information, which means that the colour depth is 24, not 32.
2052
This entry specifies the framebuffer format this
2054
subsection is to be used for.
2055
This entry is only needed when providing depth 24 configurations that allow
2056
a choice between a 24 bpp packed framebuffer format and a 32bpp sparse
2058
In most cases this entry should not be used.
2060
.BI "Weight " "red\-weight green\-weight blue\-weight"
2061
This optional entry specifies the relative RGB weighting to be used
2062
for a screen is being used at depth 16 for drivers that allow multiple
2064
This may also be specified from the command line with the
2067
.BR __xservername__(__appmansuffix__)).
2069
.BI "Virtual " "xdim ydim"
2070
This optional entry specifies the virtual screen resolution to be used.
2072
must be a multiple of either 8 or 16 for most drivers, and a multiple
2073
of 32 when running in monochrome mode.
2074
The given value will be rounded down if this is not the case.
2075
Video modes which are too large for the specified virtual size will be
2077
If this entry is not present, the virtual screen resolution will be set to
2078
accommodate all the valid video modes given in the
2081
Some drivers/hardware combinations do not support virtual screens.
2082
Refer to the appropriate driver\-specific documentation for details.
2084
.BI "ViewPort " "x0 y0"
2085
This optional entry sets the upper left corner of the initial display.
2086
This is only relevant when the virtual screen resolution is different
2087
from the resolution of the initial video mode.
2088
If this entry is not given, then the initial display will be centered in
2089
the virtual display area.
2091
.BI "Modes \*q" mode\-name \*q " ..."
2092
This optional entry specifies the list of video modes to use.
2095
specified must be in double quotes.
2096
They must correspond to those specified or referenced in the appropriate
2098
section (including implicitly referenced built\-in VESA standard modes).
2099
The server will delete modes from this list which don't satisfy various
2101
The first valid mode in this list will be the default display mode for
2103
The list of valid modes is converted internally into a circular list.
2104
It is possible to switch to the next mode with
2105
.B Ctrl+Alt+Keypad\-Plus
2106
and to the previous mode with
2107
.BR Ctrl+Alt+Keypad\-Minus .
2108
When this entry is omitted, the valid modes referenced by the appropriate
2110
section will be used. If the
2112
section contains no modes, then the selection will be taken from the
2113
built-in VESA standard modes.
2115
.BI "Visual \*q" visual\-name \*q
2116
This optional entry sets the default root visual type.
2117
This may also be specified from the command line (see the
2118
.BR Xserver(__appmansuffix__)
2120
The visual types available for depth 8 are (default is
2135
The visual type available for the depths 15, 16 and 24 are (default is
2145
Not all drivers support
2149
The visual types available for the depth 4 are (default is
2161
The visual type available for the depth 1 (monochrome) is
2165
.BI "Black " "red green blue"
2166
This optional entry allows the \(lqblack\(rq colour to be specified.
2167
This is only supported at depth 1.
2168
The default is black.
2170
.BI "White " "red green blue"
2171
This optional entry allows the \(lqwhite\(rq colour to be specified.
2172
This is only supported at depth 1.
2173
The default is white.
2176
Option flags may be specified in the
2179
These may include driver\-specific options and driver\-independent options.
2180
The former are described in the driver\-specific documentation.
2181
Some of the latter are described above in the section about the
2183
section, and they may also be included here.
2184
.SH "SERVERLAYOUT SECTION"
2185
The config file may have multiple
2188
A \(lqserver layout\(rq represents the binding of one or more screens
2190
sections) and one or more input devices
2192
sections) to form a complete configuration.
2193
In multi\-head configurations, it also specifies the relative layout of the
2197
section is considered \(lqactive\(rq if it is referenced by the
2199
command line option or by an
2200
.B "Option \*qDefaultServerLayout\*q"
2203
section (the former takes precedence over the latter).
2204
If those options are not used, the first
2206
section found in the config file is considered the active one.
2209
sections are present, the single active screen and two active (core)
2210
input devices are selected as described in the relevant sections above.
2213
sections have the following format:
2217
.B "Section \*qServerLayout\*q"
2218
.BI " Identifier \*q" name \*q
2219
.BI " Screen \*q" screen\-id \*q
2221
.BI " InputDevice \*q" idev\-id \*q
2231
section must have an
2233
entry and at least one
2239
entry specifies the unique name for this server layout.
2242
section provides information specific to the whole session, including
2247
options (described above) may be specified here, and ones given here
2248
override those given in the
2252
The entries that may be used in this section are described here.
2254
.BI "Screen " "screen\-num" " \*qscreen\-id\*q " "position\-information"
2255
One of these entries must be given for each screen being used in
2259
field is mandatory, and specifies the
2261
section being referenced.
2264
field is optional, and may be used to specify the screen number
2265
in multi\-head configurations.
2266
When this field is omitted, the screens will be numbered in the order that
2268
The numbering starts from 0, and must be consecutive.
2270
.I position\-information
2271
field describes the way multiple screens are positioned.
2272
There are a number of different ways that this information can be provided:
2277
.BI "Absolute " "x y"
2278
These both specify that the upper left corner's coordinates are
2282
keyword is optional.
2283
Some older versions of XFree86 (4.2 and earlier) don't recognise the
2285
keyword, so it's safest to just specify the coordinates without it.
2287
.BI "RightOf \*q" screen\-id \*q
2289
.BI "LeftOf \*q" screen\-id \*q
2291
.BI "Above \*q" screen\-id \*q
2293
.BI "Below \*q" screen\-id \*q
2295
.BI "Relative \*q" screen\-id \*q " x y"
2296
These give the screen's location relative to another screen.
2297
The first four position the screen immediately to the right, left, above or
2298
below the other screen.
2299
When positioning to the right or left, the top edges are aligned.
2300
When positioning above or below, the left edges are aligned.
2303
form specifies the offset of the screen's origin (upper left corner)
2304
relative to the origin of another screen.
2307
.BI "InputDevice \*q" idev\-id "\*q \*q" option \*q " ..."
2308
One of these entries should be given for each input device being used in
2310
Normally at least two are required, one each for the core pointer and
2312
If either of those is missing, suitable
2314
entries are searched for using the method described above in the
2318
field is mandatory, and specifies the name of the
2320
section being referenced.
2323
fields may be specified, each in double quotes.
2324
The options permitted here are any that may also be given in the
2327
Normally only session\-specific input device options would be used here.
2328
The most commonly used options are:
2332
.B \*qCorePointer\*q
2333
.B \*qCoreKeyboard\*q
2334
.B \*qSendCoreEvents\*q
2339
and the first two should normally be used to indicate the core pointer
2340
and core keyboard devices respectively.
2344
In addition to the following, any option permitted in the
2346
section may also be specified here.
2347
When the same option appears in both places, the value given here overrides
2348
the one given in the
2352
.BI "Option \*qIsolateDevice\*q \*q" bus\-id \*q
2353
Restrict device resets to the specified
2357
option (described in
2358
.BR "DEVICE SECTION" ,
2359
above) for the format of the
2362
This option overrides
2365
At present, only PCI devices can be isolated in this manner.
2367
.BI "Option \*qSingleCard\*q \*q" boolean \*q
2370
except that the bus ID of the first device in the layout is used.
2372
Here is an example of a
2374
section for a dual headed configuration with two mice:
2378
.B "Section \*qServerLayout\*q"
2379
.B " Identifier \*qLayout 1\*q"
2380
.B " Screen \*qMGA 1\*q"
2381
.B " Screen \*qMGA 2\*q RightOf \*qMGA 1\*q"
2382
.B " InputDevice \*qKeyboard 1\*q \*qCoreKeyboard\*q"
2383
.B " InputDevice \*qMouse 1\*q \*qCorePointer\*q"
2384
.B " InputDevice \*qMouse 2\*q \*qSendCoreEvents\*q"
2385
.B " Option \*qBlankTime\*q \*q5\*q"
2390
This optional section is used to provide some information for the
2391
Direct Rendering Infrastructure.
2392
Details about the format of this section can be found on-line at
2393
.IR <http://dri.freedesktop.org/> .
2394
.SH "VENDOR SECTION"
2397
section may be used to provide vendor\-specific configuration information.
2400
sections may be present, and they may contain an
2405
The data therein is not used in this release.
2409
.BR X (__miscmansuffix__),
2410
.BR Xserver (__appmansuffix__),
2411
.BR __xservername__ (__appmansuffix__),
2412
.BR cvt (__appmansuffix__),
2413
.BR gtf (__appmansuffix__).
2415
.B "Not all modules or interfaces are available on all platforms."
2418
.BR apm (__drivermansuffix__),
2419
.BR ati (__drivermansuffix__),
2420
.BR chips (__drivermansuffix__),
2421
.BR cirrus (__drivermansuffix__),
2422
.BR cyrix (__drivermansuffix__),
2423
.BR fbdev (__drivermansuffix__),
2424
.BR glide (__drivermansuffix__),
2425
.BR glint (__drivermansuffix__),
2426
.BR i128 (__drivermansuffix__),
2427
.BR i740 (__drivermansuffix__),
2428
.BR imstt (__drivermansuffix__),
2429
.BR intel (__drivermansuffix__),
2430
.BR mga (__drivermansuffix__),
2431
.BR neomagic (__drivermansuffix__),
2432
.BR nv (__drivermansuffix__),
2433
.BR openchrome (__drivermansuffix__),
2434
.BR r128 (__drivermansuffix__),
2435
.BR radeon (__drivermansuffix__),
2436
.BR rendition (__drivermansuffix__),
2437
.BR savage (__drivermansuffix__),
2438
.BR s3virge (__drivermansuffix__),
2439
.BR siliconmotion (__drivermansuffix__),
2440
.BR sis (__drivermansuffix__),
2441
.BR sisusb (__drivermansuffix__),
2442
.BR sunbw2 (__drivermansuffix__),
2443
.BR suncg14 (__drivermansuffix__),
2444
.BR suncg3 (__drivermansuffix__),
2445
.BR suncg6 (__drivermansuffix__),
2446
.BR sunffb (__drivermansuffix__),
2447
.BR sunleo (__drivermansuffix__),
2448
.BR suntcx (__drivermansuffix__),
2449
.BR tdfx (__drivermansuffix__),
2450
.\" .BR tga (__drivermansuffix__),
2451
.BR trident (__drivermansuffix__),
2452
.BR tseng (__drivermansuffix__),
2453
.BR vesa (__drivermansuffix__),
2454
.BR vmware (__drivermansuffix__),
2455
.BR voodoo (__drivermansuffix__),
2456
.BR wsfb (__drivermansuffix__),
2457
.BR xgi (__drivermansuffix__),
2458
.BR xgixp (__drivermansuffix__).
2461
.BR acecad (__drivermansuffix__),
2462
.BR citron (__drivermansuffix__),
2463
.BR elographics (__drivermansuffix__),
2464
.BR evdev (__drivermansuffix__),
2465
.BR fpit (__drivermansuffix__),
2466
.BR joystick (__drivermansuffix__),
2467
.BR kbd (__drivermansuffix__),
2468
.BR mousedrv (__drivermansuffix__),
2469
.BR mutouch (__drivermansuffix__),
2470
.BR penmount (__drivermansuffix__),
2471
.BR synaptics (__drivermansuffix__),
2472
.BR vmmouse (__drivermansuffix__),
2473
.BR void (__drivermansuffix__),
2474
.BR wacom (__drivermansuffix__).
2476
Other modules and interfaces:
2477
.BR exa (__drivermansuffix__),
2478
.BR fbdevhw (__drivermansuffix__),
2479
.\" .BR shadowfb (__drivermansuffix__),
2480
.BR v4l (__drivermansuffix__).
2483
This manual page was largely rewritten by David Dawes
2484
.IR <dawes@xfree86.org> .