Imported Upstream version 1.15.1
[deb_xorg-server.git] / hw / xfree86 / man / xorg.conf.man
CommitLineData
a09e091a
JB
1.\" shorthand for double quote that works everywhere.
2.ds q \N'34'
3.TH xorg.conf __filemansuffix__ __vendorversion__
4.SH NAME
5xorg.conf, __xconfigdir__ \- configuration files for
6Xorg X server
7.SH INTRODUCTION
8.B Xorg
9supports several mechanisms for supplying/obtaining configuration and
10run-time parameters: command line options, environment variables, the
11xorg.conf and __xconfigdir__ configuration files, auto-detection,
12and fallback defaults. When the same information is supplied in more
13than one way, the highest precedence mechanism is used. The list of
14mechanisms is ordered from highest precedence to lowest. Note that not
15all parameters can be supplied via all methods. The available command
16line options and environment variables (and some defaults) are
17described in the Xserver(__appmansuffix__) and
18Xorg(__appmansuffix__) manual pages. Most configuration file
19parameters, with their defaults, are described below. Driver and module
20specific configuration parameters are described in the relevant driver
21or module manual page.
22.SH DESCRIPTION
23.B Xorg
24uses a configuration file called
25.I xorg.conf
26and files ending in the suffix
27.I .conf
28from the directory
29.I __xconfigdir__
30for its initial setup.
31The
32.I xorg.conf
33configuration file is searched for in the following places when the
34server is started as a normal user:
35.PP
36.RS 4
37.nf
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/xorg.conf
43.I /etc/xorg.conf
44.IR __projectroot__/etc/X11/xorg.conf. <hostname>
45.I __projectroot__/etc/X11/xorg.conf
46.IR __projectroot__/lib/X11/xorg.conf. <hostname>
47.I __projectroot__/lib/X11/xorg.conf
48.fi
49.RE
50.PP
51where
52.I <cmdline>
53is a relative path (with no \(lq..\(rq components) specified with the
54.B \-config
55command line option,
56.B $XORGCONFIG
57is the relative path (with no \(lq..\(rq components) specified by that
58environment variable, and
59.I <hostname>
60is the machine's hostname as reported by
61.BR gethostname (__libmansuffix__).
62.PP
63When the Xorg server is started by the \(lqroot\(rq user, the config file
64search locations are as follows:
65.PP
66.RS 4
67.nf
68<cmdline>
69.IR /etc/X11/ <cmdline>
70.IR __projectroot__/etc/X11/ <cmdline>
71.B $XORGCONFIG
72.IB /etc/X11/ $XORGCONFIG
73.IB __projectroot__/etc/X11/ $XORGCONFIG
74.I /etc/X11/xorg.conf
75.I /etc/xorg.conf
76.IR __projectroot__/etc/X11/xorg.conf. <hostname>
77.I __projectroot__/etc/X11/xorg.conf
78.IR __projectroot__/lib/X11/xorg.conf. <hostname>
79.I __projectroot__/lib/X11/xorg.conf
80.fi
81.RE
82.PP
83where
84.I <cmdline>
85is the path specified with the
86.B \-config
87command line option (which may be absolute or relative),
88.B $XORGCONFIG
89is the path specified by that
90environment variable (absolute or relative),
91.B $HOME
92is the path specified by that environment variable (usually the home
93directory), and
94.I <hostname>
95is the machine's hostname as reported by
96.BR gethostname (__libmansuffix__).
97.PP
98Additional configuration files are searched for in the following
99directories when the server is started as a normal user:
100.PP
101.RS 4
102.nf
103.IR /etc/X11/ <cmdline>
104.IR __sysconfdir__/X11/ <cmdline>
105.I /etc/X11/__xconfigdir__
106.I __sysconfdir__/X11/__xconfigdir__
107.fi
108.RE
109.PP
110where
111.I <cmdline>
112is a relative path (with no \(lq..\(rq components) specified with the
113.B \-configdir
114command line option.
115.PP
116When the Xorg server is started by the \(lqroot\(rq user, the
117config directory search locations are as follows:
118.PP
119.RS 4
120.nf
121<cmdline>
122.IR /etc/X11/ <cmdline>
123.IR __sysconfdir__/X11/ <cmdline>
124.I /etc/X11/__xconfigdir__
125.I __sysconfdir__/X11/__xconfigdir__
126.fi
127.RE
128.PP
129where
130.I <cmdline>
131is the path specified with the
132.B \-configdir
133command line option (which may be absolute or relative).
134.PP
135Finally, configuration files will also be searched for in directories
136reserved for system use. These are to separate configuration files from
137the vendor or 3rd party packages from those of local administration.
138These files are found in the following directories:
139.PP
140.RS 4
141.nf
142.I /usr/share/X11/__xconfigdir__
143.I __datadir__/X11/__xconfigdir__
144.fi
145.RE
146.PP
147The
148.I xorg.conf
149and
150.I __xconfigdir__
151files are composed of a number of sections which may be present in any order,
152or omitted to use default configuration values.
153Each section has the form:
154.PP
155.RS 4
156.nf
157.BI "Section \*q" SectionName \*q
158.RI " " SectionEntry
159 ...
160.B EndSection
161.fi
162.RE
163.PP
164The section names are:
165.PP
166.RS 4
167.nf
168.BR "Files " "File pathnames"
169.BR "ServerFlags " "Server flags"
170.BR "Module " "Dynamic module loading"
171.BR "Extensions " "Extension enabling"
172.BR "InputDevice " "Input device description"
173.BR "InputClass " "Input class description"
174.BR "Device " "Graphics device description"
175.BR "VideoAdaptor " "Xv video adaptor description"
176.BR "Monitor " "Monitor description"
177.BR "Modes " "Video modes descriptions"
178.BR "Screen " "Screen configuration"
179.BR "ServerLayout " "Overall layout"
180.BR "DRI " "DRI\-specific configuration"
181.BR "Vendor " "Vendor\-specific configuration"
182.fi
183.RE
184.PP
185The following obsolete section names are still recognised for compatibility
186purposes.
187In new config files, the
188.B InputDevice
189section should be used instead.
190.PP
191.RS 4
192.nf
193.BR "Keyboard " "Keyboard configuration"
194.BR "Pointer " "Pointer/mouse configuration"
195.fi
196.RE
197.PP
198The old
199.B XInput
200section is no longer recognised.
201.PP
202The
203.B ServerLayout
204sections are at the highest level.
205They bind together the input and output devices that will be used in a session.
206The input devices are described in the
207.B InputDevice
208sections.
209Output devices usually consist of multiple independent components (e.g.,
210a graphics board and a monitor).
211These multiple components are bound together in the
212.B Screen
213sections, and it is these that are referenced by the
214.B ServerLayout
215section.
216Each
217.B Screen
218section binds together a graphics board and a monitor.
219The graphics boards are described in the
220.B Device
221sections, and the monitors are described in the
222.B Monitor
223sections.
224.PP
225Config file keywords are case\-insensitive, and \(lq_\(rq characters are
226ignored.
227Most strings (including
228.B Option
229names) are also case-insensitive, and insensitive to white space and
230\(lq_\(rq characters.
231.PP
232Each config file entry usually takes up a single line in the file. They
233consist of a keyword, which is possibly followed by one or more arguments,
234with the number and types of the arguments depending on the keyword.
235The argument types are:
236.PP
237.RS 4
238.nf
239.BR "Integer " "an integer number in decimal, hex or octal"
240.BR "Real " "a floating point number"
241.BR "String " "a string enclosed in double quote marks (\*q)"
242.fi
243.RE
244.PP
245Note: hex integer values must be prefixed with \(lq0x\(rq, and octal values
246with \(lq0\(rq.
247.PP
248A special keyword called
249.B Option
250may be used to provide free\-form data to various components of the server.
251The
252.B Option
253keyword takes either one or two string arguments.
254The first is the option name, and the optional second argument is the
255option value.
256Some commonly used option value types include:
257.PP
258.RS 4
259.nf
260.BR "Integer " "an integer number in decimal, hex or octal"
261.BR "Real " "a floating point number"
262.BR "String " "a sequence of characters"
263.BR "Boolean " "a boolean value (see below)"
264.BR "Frequency " "a frequency value (see below)"
265.fi
266.RE
267.PP
268Note that
269.I all
270.B Option
271values, not just strings, must be enclosed in quotes.
272.PP
273Boolean options may optionally have a value specified.
274When no value is specified, the option's value is
275.BR TRUE .
276The following boolean option values are recognised as
277.BR TRUE :
278.PP
279.RS 4
280.BR 1 ,
281.BR on ,
282.BR true ,
283.B yes
284.RE
285.PP
286and the following boolean option values are recognised as
287.BR FALSE :
288.PP
289.RS 4
290.BR 0 ,
291.BR off ,
292.BR false ,
293.B no
294.RE
295.PP
296If an option name is prefixed with
297.RB \*q No \*q,
298then the option value is negated.
299.PP
300Example: the following option entries are equivalent:
301.PP
302.RS 4
303.nf
304.B "Option \*qAccel\*q \*qOff\*q"
305.B "Option \*qNoAccel\*q"
306.B "Option \*qNoAccel\*q \*qOn\*q"
307.B "Option \*qAccel\*q \*qfalse\*q"
308.B "Option \*qAccel\*q \*qno\*q"
309.fi
310.RE
311.PP
312Frequency option values consist of a real number that is optionally
313followed by one of the following frequency units:
314.PP
315.RS 4
316.BR Hz ,
317.BR k ,
318.BR kHz ,
319.BR M ,
320.B MHz
321.RE
322.PP
323When the unit name is omitted, the correct units will be determined from
324the value and the expectations of the appropriate range of the value.
325It is recommended that the units always be specified when using frequency
326option values to avoid any errors in determining the value.
327.SH "FILES SECTION"
328The
329.B Files
330section is used to specify some path names required by the server.
331Some of these paths can also be set from the command line (see
332.BR Xserver (__appmansuffix__)
333and
334.BR Xorg (__appmansuffix__)).
335The command line settings override the values specified in the config
336file.
337The
338.B Files
339section is optional, as are all of the entries that may appear in it.
340.PP
341The entries that can appear in this section are:
342.TP 7
343.BI "FontPath \*q" path \*q
344sets the search path for fonts.
345This path is a comma separated list of font path elements which the Xorg
346server searches for font databases.
347Multiple
348.B FontPath
349entries may be specified, and they will be concatenated to build up the
350fontpath used by the server. Font path elements can be absolute
351directory paths, catalogue directories or a font server identifier. The
352formats of the later two are explained below:
353.PP
354.RS 7
355Catalogue directories:
356.PP
357.RS 4
358Catalogue directories can be specified using the prefix \fBcatalogue:\fR
359before the directory name. The directory can then be populated with
360symlinks pointing to the real font directories, using the following
361syntax in the symlink name:
362.PP
363.RS 4
364.IR <identifier> : [attribute]: pri= <priority>
365.RE
366.PP
367where
368.I <identifier>
369is an alphanumeric identifier,
370.I [attribute]
371is an attribute which will be passed to the underlying FPE and
372.I <priority>
373is a number used to order the fontfile FPEs. Examples:
374.PP
375.RS 4
376.nf
377.I 75dpi:unscaled:pri=20 -> /usr/share/X11/fonts/75dpi
378.I gscript:pri=60 -> /usr/share/fonts/default/ghostscript
379.I misc:unscaled:pri=10 \-> /usr/share/X11/fonts/misc
380.fi
381.PP
382.RE
383.RE
384.RE
385.PP
386.RS 7
387Font server identifiers:
388.PP
389.RS 4
390Font server identifiers have the form:
391.RS 4
392.PP
393.IR <trans> / <hostname> : <port\-number>
394.RE
395.PP
396where
397.I <trans>
398is the transport type to use to connect to the font server (e.g.,
399.B unix
400for UNIX\-domain sockets or
401.B tcp
402for a TCP/IP connection),
403.I <hostname>
404is the hostname of the machine running the font server, and
405.I <port\-number>
406is the port number that the font server is listening on (usually 7100).
407.RE
408.PP
409When this entry is not specified in the config file, the server falls back
410to the compiled\-in default font path, which contains the following
411font path elements (which can be set inside a catalogue directory):
412.PP
413.RS 4
414.nf
415.I __datadir__/fonts/X11/misc/
416.I __datadir__/fonts/X11/TTF/
417.I __datadir__/fonts/X11/OTF/
418.I __datadir__/fonts/X11/Type1/
419.I __datadir__/fonts/X11/100dpi/
420.I __datadir__/fonts/X11/75dpi/
421.fi
422.RE
423.PP
424Font path elements that are found to be invalid are removed from the
425font path when the server starts up.
426.RE
427.TP 7
428.BI "ModulePath \*q" path \*q
429sets the search path for loadable Xorg server modules.
430This path is a comma separated list of directories which the Xorg server
431searches for loadable modules loading in the order specified.
432Multiple
433.B ModulePath
434entries may be specified, and they will be concatenated to build the
435module search path used by the server. The default module path is
436.PP
437.RS 11
438__modulepath__
439.RE
440.\" The LogFile keyword is not currently implemented
441.ig
442.TP 7
443.BI "LogFile \*q" path \*q
444sets the name of the Xorg server log file.
445The default log file name is
446.PP
447.RS 11
448.RI __logdir__/Xorg. <n> .log
449.RE
450.PP
451.RS 7
452where
453.I <n>
454is the display number for the Xorg server.
455..
456.TP 7
457.BI "XkbDir \*q" path \*q
458sets the base directory for keyboard layout files. The
459.B \-xkbdir
460command line option can be used to override this. The default directory is
461.PP
462.RS 11
463__xkbdir__
464.RE
465.SH "SERVERFLAGS SECTION"
466In addition to options specific to this section (described below), the
467.B ServerFlags
468section is used to specify some global
469Xorg server options.
470All of the entries in this section are
471.BR Options ,
472although for compatibility purposes some of the old style entries are
473still recognised.
474Those old style entries are not documented here, and using them is
475discouraged.
476The
477.B ServerFlags
478section is optional, as are the entries that may be specified in it.
479.PP
480.B Options
481specified in this section (with the exception of the
482.B \*qDefaultServerLayout\*q
483.BR Option )
484may be overridden by
485.B Options
486specified in the active
487.B ServerLayout
488section.
489Options with command line equivalents are overridden when their command
490line equivalent is used.
491The options recognised by this section are:
492.TP 7
493.BI "Option \*qDefaultServerLayout\*q \*q" layout\-id \*q
494This specifies the default
495.B ServerLayout
496section to use in the absence of the
497.B \-layout
498command line option.
499.TP 7
500.BI "Option \*qNoTrapSignals\*q \*q" boolean \*q
501This prevents the Xorg server from trapping a range of unexpected fatal
502signals and exiting cleanly.
503Instead, the Xorg server will die and drop core where the fault occurred.
504The default behaviour is for the Xorg server to exit cleanly, but still drop a
505core file.
506In general you never want to use this option unless you are debugging an Xorg
507server problem and know how to deal with the consequences.
508.TP 7
509.BI "Option \*qUseSIGIO\*q \*q" boolean \*q
510This controls whether the Xorg server requests that events from
511input devices be reported via a SIGIO signal handler (also known as SIGPOLL
512on some platforms), or only reported via the standard select(3) loop.
513The default behaviour is platform specific. In general you do not want to
514use this option unless you are debugging the Xorg server, or
515working around a specific bug until it is fixed, and understand the
516consequences.
517.TP 7
518.BI "Option \*qDontVTSwitch\*q \*q" boolean \*q
519This disallows the use of the
520.BI Ctrl+Alt+F n
521sequence (where
522.RI F n
523refers to one of the numbered function keys).
524That sequence is normally used to switch to another \*qvirtual terminal\*q
525on operating systems that have this feature.
526When this option is enabled, that key sequence has no special meaning and
527is passed to clients.
528Default: off.
529.TP 7
530.BI "Option \*qDontZap\*q \*q" boolean \*q
531This disallows the use of the
532.B Terminate_Server
533XKB action (usually on Ctrl+Alt+Backspace, depending on XKB options).
534This action is normally used to terminate the Xorg server.
535When this option is enabled, the action has no effect.
536Default: off.
537.TP 7
538.BI "Option \*qDontZoom\*q \*q" boolean \*q
539This disallows the use of the
540.B Ctrl+Alt+Keypad\-Plus
541and
542.B Ctrl+Alt+Keypad\-Minus
543sequences.
544These sequences allows you to switch between video modes.
545When this option is enabled, those key sequences have no special meaning
546and are passed to clients.
547Default: off.
548.TP 7
549.BI "Option \*qDisableVidModeExtension\*q \*q" boolean \*q
550This disables the parts of the VidMode extension used by the xvidtune client
551that can be used to change the video modes.
552Default: the VidMode extension is enabled.
553.TP 7
554.BI "Option \*qAllowNonLocalXvidtune\*q \*q" boolean \*q
555This allows the xvidtune client (and other clients that use the VidMode
556extension) to connect from another host.
557Default: off.
558.TP 7
559.BI "Option \*qAllowMouseOpenFail\*q \*q" boolean \*q
560This tells the mousedrv(__drivermansuffix__) and vmmouse(__drivermansuffix__)
561drivers to not report failure if the mouse device can't be opened/initialised.
562It has no effect on the evdev(__drivermansuffix__) or other drivers.
563Default: false.
564.TP 7
565.BI "Option \*qBlankTime\*q \*q" time \*q
566sets the inactivity timeout for the
567.B blank
568phase of the screensaver.
569.I time
570is in minutes.
571This is equivalent to the Xorg server's
572.B \-s
573flag, and the value can be changed at run\-time with
574.BR xset(__appmansuffix__).
575Default: 10 minutes.
576.TP 7
577.BI "Option \*qStandbyTime\*q \*q" time \*q
578sets the inactivity timeout for the
579.B standby
580phase of DPMS mode.
581.I time
582is in minutes, and the value can be changed at run\-time with
583.BR xset(__appmansuffix__).
584Default: 10 minutes.
585This is only suitable for VESA DPMS compatible monitors, and may not be
586supported by all video drivers.
587It is only enabled for screens that have the
588.B \*qDPMS\*q
589option set (see the MONITOR section below).
590.TP 7
591.BI "Option \*qSuspendTime\*q \*q" time \*q
592sets the inactivity timeout for the
593.B suspend
594phase of DPMS mode.
595.I time
596is in minutes, and the value can be changed at run\-time with
597.BR xset(__appmansuffix__).
598Default: 10 minutes.
599This is only suitable for VESA DPMS compatible monitors, and may not be
600supported by all video drivers.
601It is only enabled for screens that have the
602.B \*qDPMS\*q
603option set (see the MONITOR section below).
604.TP 7
605.BI "Option \*qOffTime\*q \*q" time \*q
606sets the inactivity timeout for the
607.B off
608phase of DPMS mode.
609.I time
610is in minutes, and the value can be changed at run\-time with
611.BR xset(__appmansuffix__).
612Default: 10 minutes.
613This is only suitable for VESA DPMS compatible monitors, and may not be
614supported by all video drivers.
615It is only enabled for screens that have the
616.B \*qDPMS\*q
617option set (see the MONITOR section below).
618.TP 7
619.BI "Option \*qPixmap\*q \*q" bpp \*q
620This sets the pixmap format to use for depth 24.
621Allowed values for
622.I bpp
623are 24 and 32.
624Default: 32 unless driver constraints don't allow this (which is rare).
625Note: some clients don't behave well when this value is set to 24.
626.TP 7
627.BI "Option \*qNoPM\*q \*q" boolean \*q
628Disables something to do with power management events.
629Default: PM enabled on platforms that support it.
630.TP 7
631.BI "Option \*qXinerama\*q \*q" boolean \*q
632enable or disable XINERAMA extension.
633Default is disabled.
634.TP 7
635.BI "Option \*qAIGLX\*q \*q" boolean \*q
636enable or disable AIGLX. AIGLX is enabled by default.
637.TP 7
638.BI "Option \*qDRI2\*q \*q" boolean \*q
639enable or disable DRI2. DRI2 is disabled by default.
640.TP 7
641.BI "Option \*qGlxVisuals\*q \*q" string \*q
642This option controls how many GLX visuals the GLX modules sets up.
643The default value is
644.BR "typical" ,
645which will setup up a typical subset of
646the GLXFBConfigs provided by the driver as GLX visuals. Other options are
647.BR "minimal" ,
648which will set up the minimal set allowed by the GLX specification and
649.BR "all"
650which will setup GLX visuals for all GLXFBConfigs.
651.TP 7
652.BI "Option \*qUseDefaultFontPath\*q \*q" boolean \*q
653Include the default font path even if other paths are specified in
654xorg.conf. If enabled, other font paths are included as well. Enabled by
655default.
656.TP 7
657.BI "Option \*qIgnoreABI\*q \*q" boolean \*q
658Allow modules built for a different, potentially incompatible version of
659the X server to load. Disabled by default.
660.TP 7
661.BI "Option \*qAutoAddDevices\*q \*q" boolean \*q
662If this option is disabled, then no devices will be added from the HAL or
663udev backends. Enabled by default.
664.TP 7
665.BI "Option \*qAutoEnableDevices\*q \*q" boolean \*q
666If this option is disabled, then the devices will be added (and the
667DevicePresenceNotify event sent), but not enabled, thus leaving policy up
668to the client.
669Enabled by default.
670.TP 7
671.BI "Option \*qAutoAddGPU\*q \*q" boolean \*q
672If this option is disabled, then no GPU devices will be added from the udev
673backend. Enabled by default. (May need to be disabled to setup Xinerama).
674.TP 7
675.BI "Option \*qLog\*q \*q" string \*q
676This option controls whether the log is flushed and/or synced to disk after
677each message.
678Possible values are
679.B flush
680or
681.BR sync .
682Unset by default.
683.SH "MODULE SECTION"
684The
685.B Module
686section is used to specify which Xorg server modules should be loaded.
687This section is ignored when the Xorg server is built in static form.
688The type of modules normally loaded in this section are Xorg server
689extension modules.
690Most other module types are loaded automatically when they are needed via
691other mechanisms.
692The
693.B Module
694section is optional, as are all of the entries that may be specified in
695it.
696.PP
697Entries in this section may be in two forms.
698The first and most commonly used form is an entry that uses the
699.B Load
700keyword, as described here:
701.TP 7
702.BI "Load \*q" modulename \*q
703This instructs the server to load the module called
704.IR modulename .
705The module name given should be the module's standard name, not the
706module file name.
707The standard name is case\-sensitive, and does not include the \(lqlib\(rq
708or \(lqcyg\(rq prefixes, or the \(lq.so\(rq or \(lq.dll\(rq suffixes.
709.PP
710.RS 7
711Example: the DRI extension module can be loaded with the following entry:
712.PP
713.RS 4
714.B "Load \*qdri\*q"
715.RE
716.RE
717.TP 7
718.BI "Disable \*q" modulename \*q
719This instructs the server to not load the module called
720.IR modulename .
721Some modules are loaded by default in the server, and this overrides that
722default. If a
723.B Load
724instruction is given for the same module, it overrides the
725.B Disable
726instruction and the module is loaded. The module name given should be the
727module's standard name, not the module file name. As with the
728.B Load
729instruction, the standard name is case-sensitive, and does not include the
730"lib" prefix, or the ".a", ".o", or ".so" suffixes.
731.PP
732The second form of entry is a
733.BR SubSection,
734with the subsection name being the module name, and the contents of the
735.B SubSection
736being
737.B Options
738that are passed to the module when it is loaded.
739.PP
740Example: the extmod module (which contains a miscellaneous group of
741server extensions) can be loaded, with the XFree86\-DGA extension
742disabled by using the following entry:
743.PP
744.RS 4
745.nf
746.B "SubSection \*qextmod\*q"
747.B " Option \*qomit XFree86\-DGA\*q"
748.B EndSubSection
749.fi
750.RE
751.PP
752Modules are searched for in each directory specified in the
753.B ModulePath
754search path, and in the drivers, extensions, input, internal, and
755multimedia subdirectories of each of those directories.
756In addition to this, operating system specific subdirectories of all
757the above are searched first if they exist.
758.PP
759To see what extension modules are available, check the extensions
760subdirectory under:
761.PP
762.RS 4
763.nf
764__modulepath__
765.fi
766.RE
767.PP
768The \(lqextmod\(rq, \(lqdbe\(rq, \(lqdri\(rq, \(lqdri2\(rq, \(lqglx\(rq,
769and \(lqrecord\(rq extension modules are loaded automatically, if they
770are present, unless disabled with \*qDisable\*q entries.
771It is recommended
772that at very least the \(lqextmod\(rq extension module be loaded.
773If it isn't, some commonly used server extensions (like the SHAPE
774extension) will not be available.
775.SH "EXTENSIONS SECTION"
776The
777.B Extensions
778section is used to specify which X11 protocol extensions should be enabled
779or disabled.
780The
781.B Extensions
782section is optional, as are all of the entries that may be specified in
783it.
784.PP
785Entries in this section are listed as Option statements with the name of
786the extension as the first argument, and a boolean value as the second.
787The extension name is case\-sensitive, and matches the form shown in the output
788of \*qXorg -extension ?\*q.
789.PP
790.RS 7
791Example: the MIT-SHM extension can be disabled with the following entry:
792.PP
793.RS 4
794.nf
795.B "Section \*qExtensions\*q"
796.B " Option \*qMIT-SHM\*q \*qDisable\*q"
797.B "EndSection"
798.fi
799.RE
800.RE
801.SH "INPUTDEVICE SECTION"
802The config file may have multiple
803.B InputDevice
804sections.
805Recent X servers employ HAL or udev backends for input device enumeration
806and input hotplugging. It is usually not
807necessary to provide
808.B InputDevice
809sections in the xorg.conf if hotplugging is in use (i.e. AutoAddDevices is
810enabled). If hotplugging is enabled,
811.B InputDevice
812sections using the
813.B mouse, kbd
814and
815.B vmmouse
816driver will be ignored.
817.PP
818If hotplugging is disabled, there will normally
819be at least two: one for the core (primary) keyboard
820and one for the core pointer.
821If either of these two is missing, a default configuration for the missing
822ones will be used. In the absence of an explicitly specified core input
823device, the first
824.B InputDevice
825marked as
826.B CorePointer
827(or
828.BR CoreKeyboard )
829is used.
830If there is no match there, the first
831.B InputDevice
832that uses the \(lqmouse\(rq (or \(lqkbd\(rq) driver is used.
833The final fallback is to use built\-in default configurations.
834Currently the default configuration may not work as expected on all platforms.
835.PP
836.B InputDevice
837sections have the following format:
838.PP
839.RS 4
840.nf
841.B "Section \*qInputDevice\*q"
842.BI " Identifier \*q" name \*q
843.BI " Driver \*q" inputdriver \*q
844.I " options"
845.I " ..."
846.B "EndSection"
847.fi
848.RE
849.PP
850The
851.B Identifier
852and
853.B Driver
854entries are required in all
855.B InputDevice
856sections.
857All other entries are optional.
858.PP
859The
860.B Identifier
861entry specifies the unique name for this input device.
862The
863.B Driver
864entry specifies the name of the driver to use for this input device.
865When using the loadable server, the input driver module
866.RI \*q inputdriver \*q
867will be loaded for each active
868.B InputDevice
869section.
870An
871.B InputDevice
872section is considered active if it is referenced by an active
873.B ServerLayout
874section, if it is referenced by the
875.B \-keyboard
876or
877.B \-pointer
878command line options, or if it is selected implicitly as the core pointer
879or keyboard device in the absence of such explicit references.
880The most commonly used input drivers are
881.BR evdev (__drivermansuffix__)
882on Linux systems, and
883.BR kbd (__drivermansuffix__)
884and
885.BR mousedrv (__drivermansuffix__)
886on other platforms.
887.PP
888.PP
889.B InputDevice
890sections recognise some driver\-independent
891.BR Options ,
892which are described here.
893See the individual input driver manual pages for a description of the
894device\-specific options.
895.TP 7
896.BI "Option \*qAutoServerLayout\*q \*q" boolean \*q
897Always add the device to the ServerLayout section used by this instance of
898the server. This affects implied layouts as well as explicit layouts
899specified in the configuration and/or on the command line.
900.TP 7
901.BI "Option \*qCorePointer\*q"
902Deprecated, see
903.B Floating
904.TP 7
905.BI "Option \*qCoreKeyboard\*q"
906Deprecated, see
907.B Floating
908.TP 7
909.BI "Option \*qAlwaysCore\*q \*q" boolean \*q
910Deprecated, see
911.B Floating
912.TP 7
913.BI "Option \*qSendCoreEvents\*q \*q" boolean \*q
914Deprecated, see
915.B Floating
916
917.TP 7
918.BI "Option \*qFloating\*q \*q" boolean \*q
919When enabled, the input device is set up floating and does not
920report events through any master device or control a cursor. The device is
921only available to clients using the X Input Extension API. This option is
922disabled by default.
923The options
924.B CorePointer,
925.B CoreKeyboard,
926.B AlwaysCore,
927and
928.B SendCoreEvents,
929are the inverse of option
930.B Floating
931(i.e.
932.B SendCoreEvents \*qon\*q
933is equivalent to
934.B Floating \*qoff\*q
935).
936
937This option controls the startup behavior only, a device
938may be reattached or set floating at runtime.
939.TP 7
940.BI "Option \*qTransformationMatrix\*q \*q" a " " b " " c " " d " " e " " f " " g " " h " " i \*q
941Specifies the 3x3 transformation matrix for absolute input devices. The
942input device will be bound to the area given in the matrix. In most
943configurations, "a" and "e" specify the width and height of the area the
944device is bound to, and "c" and "f" specify the x and y offset of the area.
945The value range is 0 to 1, where 1 represents the width or height of all
946root windows together, 0.5 represents half the area, etc. The values
947represent a 3x3 matrix, with the first, second and third group of three
948values representing the first, second and third row of the matrix,
949respectively. The identity matrix is "1 0 0 0 1 0 0 0 1".
950.SS POINTER ACCELERATION
951For pointing devices, the following options control how the pointer
952is accelerated or decelerated with respect to physical device motion. Most of
953these can be adjusted at runtime, see the xinput(1) man page for details. Only
954the most important acceleration options are discussed here.
955.TP 7
956.BI "Option \*qAccelerationProfile\*q \*q" integer \*q
957Select the profile. In layman's terms, the profile constitutes the "feeling" of
958the acceleration. More formally, it defines how the transfer function (actual
959acceleration as a function of current device velocity and acceleration controls)
960is constructed. This is mainly a matter of personal preference.
961.PP
962.RS 6
963.nf
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)"
973.fi
974.RE
975.TP 7
976.BI "Option \*qConstantDeceleration\*q \*q" real \*q
977Makes the pointer go
978.B deceleration
979times slower than normal. Most useful for high-resolution devices. A value
980between 0 and 1 will speed up the pointer.
981.TP 7
982.BI "Option \*qAdaptiveDeceleration\*q \*q" real \*q
983Allows to actually decelerate the pointer when going slow. At most, it will be
984.B adaptive deceleration
985times slower. Enables precise pointer placement without sacrificing speed.
986.TP 7
987.BI "Option \*qAccelerationScheme\*q \*q" string \*q
988Selects the scheme, which is the underlying algorithm.
989.PP
990.RS 7
991.nf
992.B "predictable default algorithm (behaving more predictable)"
993.B "lightweight old acceleration code (as specified in the X protocol spec)"
994.B "none no acceleration or deceleration"
995.fi
996.RE
997.TP 7
998.BI "Option \*qAccelerationNumerator\*q \*q" integer \*q
999.TP 7
1000.BI "Option \*qAccelerationDenominator\*q \*q" integer \*q
1001Set numerator and denominator of the acceleration factor. The acceleration
1002factor is a rational which, together with threshold, can be used to tweak
1003profiles to suit the users needs. The
1004.B simple
1005and
1006.B limited
1007profiles use it directly (i.e. they accelerate by the factor), for other
1008profiles it should hold that a higher acceleration factor leads to a faster
1009pointer. Typically, 1 is unaccelerated and values up to 5 are sensible.
1010.TP 7
1011.BI "Option \*qAccelerationThreshold\*q \*q" integer \*q
1012Set the threshold, which is roughly the velocity (usually device units per 10
1013ms) required for acceleration to become effective. The precise effect varies
1014with the profile however.
1015
1016.SH "INPUTCLASS SECTION"
1017The config file may have multiple
1018.B InputClass
1019sections.
1020These sections are optional and are used to provide configuration for a
1021class of input devices as they are automatically added. An input device can
1022match more than one
1023.B InputClass
1024section. Each class can override settings from a previous class, so it is
1025best to arrange the sections with the most generic matches first.
1026.PP
1027.B InputClass
1028sections have the following format:
1029.PP
1030.RS 4
1031.nf
1032.B "Section \*qInputClass\*q"
1033.BI " Identifier \*q" name \*q
1034.I " entries"
1035.I " ..."
1036.I " options"
1037.I " ..."
1038.B "EndSection"
1039.fi
1040.RE
1041.PP
1042The
1043.B Identifier
1044entry is required in all
1045.B InputClass
1046sections.
1047All other entries are optional.
1048.PP
1049The
1050.B Identifier
1051entry specifies the unique name for this input class.
1052The
1053.B Driver
1054entry specifies the name of the driver to use for this input device.
1055After all classes have been examined, the
1056.RI \*q inputdriver \*q
1057module from the first
1058.B Driver
1059entry will be enabled when using the loadable server.
1060.PP
1061When an input device is automatically added, its characteristics are
1062checked against all
1063.B InputClass
1064sections. Each section can contain optional entries to narrow the match
1065of the class. If none of the optional entries appear, the
1066.B InputClass
1067section is generic and will match any input device. If more than one of
1068these entries appear, they all must match for the configuration to apply.
1069.PP
1070There are two types of match entries used in
1071.B InputClass
1072sections. The first allows various tokens to be matched against attributes
1073of the device. An entry can be constructed to match attributes from different
1074devices by separating arguments with a '|' character. Multiple entries of the
1075same type may be supplied to add multiple matching conditions on the same
1076attribute. For example:
1077.PP
1078.RS 4
1079.nf
1080.B "Section \*qInputClass\*q"
1081.B " Identifier \*qMy Class\*q"
1082.B " # product string must contain example and
1083.B " # either gizmo or gadget
1084.B " MatchProduct \*qexample\*q
1085.B " MatchProduct \*qgizmo|gadget\*q
1086.I " ..."
1087.B "EndSection"
1088.fi
1089.RE
1090.TP 7
1091.BI "MatchProduct \*q" matchproduct \*q
1092This entry can be used to check if the substring
1093.RI \*q matchproduct \*q
1094occurs in the device's product name.
1095.TP 7
1096.BI "MatchVendor \*q" matchvendor \*q
1097This entry can be used to check if the substring
1098.RI \*q matchvendor \*q
1099occurs in the device's vendor name.
1100.TP 7
1101.BI "MatchDevicePath \*q" matchdevice \*q
1102This entry can be used to check if the device file matches the
1103.RI \*q matchdevice \*q
1104pathname pattern.
1105.TP 7
1106.BI "MatchOS \*q" matchos \*q
1107This entry can be used to check if the operating system matches the
1108case-insensitive
1109.RI \*q matchos \*q
1110string. This entry is only supported on platforms providing the
1111.BR uname (2)
1112system call.
1113.TP 7
1114.BI "MatchPnPID \*q" matchpnp \*q
1115The device's Plug and Play (PnP) ID can be checked against the
1116.RI \*q matchpnp \*q
1117shell wildcard pattern.
1118.TP 7
1119.BI "MatchUSBID \*q" matchusb \*q
1120The device's USB ID can be checked against the
1121.RI \*q matchusb \*q
1122shell wildcard pattern. The ID is constructed as lowercase hexadecimal numbers
1123separated by a ':'. This is the same format as the
1124.BR lsusb (8)
1125program.
1126.TP 7
1127.BI "MatchDriver \*q" matchdriver \*q
1128Check the case-sensitive string
1129.RI \*q matchdriver \*q
1130against the currently configured driver of the device. Ordering of sections
1131using this entry is important since it will not match unless the driver has
1132been set by the config backend or a previous
1133.B InputClass
1134section.
1135.TP 7
1136.BI "MatchTag \*q" matchtag \*q
1137This entry can be used to check if tags assigned by the config backend
1138matches the
1139.RI \*q matchtag \*q
1140pattern. A match is found if at least one of the tags given in
1141.RI \*q matchtag \*q
1142matches at least one of the tags assigned by the backend.
1143.TP 7
1144.BI "MatchLayout \*q" matchlayout \*q
1145Check the case-sensitive string
1146.RI \*q matchlayout \*q
1147against the currently active
1148.B ServerLayout
1149section. The empty string "" matches an implicit layout which appears
1150if no named
1151.B ServerLayout
1152sections have been found.
1153.PP
1154The second type of entry is used to match device types. These entries take a
1155boolean argument similar to
1156.B Option
1157entries.
1158.TP 7
1159.BI "MatchIsKeyboard \*q" bool \*q
1160.TP 7
1161.BI "MatchIsPointer \*q" bool \*q
1162.TP 7
1163.BI "MatchIsJoystick \*q" bool \*q
1164.TP 7
1165.BI "MatchIsTablet \*q" bool \*q
1166.TP 7
1167.BI "MatchIsTouchpad \*q" bool \*q
1168.TP 7
1169.BI "MatchIsTouchscreen \*q" bool \*q
1170.PP
1171When an input device has been matched to the
1172.B InputClass
1173section, any
1174.B Option
1175entries are applied to the device. One
1176.B InputClass
1177specific
1178.B Option
1179is recognized. See the
1180.B InputDevice
1181section above for a description of the remaining
1182.B Option
1183entries.
1184.TP 7
1185.BI "Option \*qIgnore\*q \*q" boolean \*q
1186This optional entry specifies that the device should be ignored entirely,
1187and not added to the server. This can be useful when the device is handled
1188by another program and no X events should be generated.
1189.SH "DEVICE SECTION"
1190The config file may have multiple
1191.B Device
1192sections.
1193There must be at least one, for the video card being used.
1194.PP
1195.B Device
1196sections have the following format:
1197.PP
1198.RS 4
1199.nf
1200.B "Section \*qDevice\*q"
1201.BI " Identifier \*q" name \*q
1202.BI " Driver \*q" driver \*q
1203.I " entries"
1204.I " ..."
1205.B "EndSection"
1206.fi
1207.RE
1208.PP
1209The
1210.B Identifier
1211and
1212.B Driver
1213entries are required in all
1214.B Device
1215sections. All other entries are optional.
1216.PP
1217The
1218.B Identifier
1219entry specifies the unique name for this graphics device.
1220The
1221.B Driver
1222entry specifies the name of the driver to use for this graphics device.
1223When using the loadable server, the driver module
1224.RI \*q driver \*q
1225will be loaded for each active
1226.B Device
1227section.
1228A
1229.B Device
1230section is considered active if it is referenced by an active
1231.B Screen
1232section.
1233.PP
1234.B Device
1235sections recognise some driver\-independent entries and
1236.BR Options ,
1237which are described here.
1238Not all drivers make use of these
1239driver\-independent entries, and many of those that do don't require them
1240to be specified because the information is auto\-detected.
1241See the individual graphics driver manual pages for further information
1242about this, and for a description of the device\-specific options.
1243Note that most of the
1244.B Options
1245listed here (but not the other entries) may be specified in the
1246.B Screen
1247section instead of here in the
1248.B Device
1249section.
1250.TP 7
1251.BI "BusID \*q" bus\-id \*q
1252This specifies the bus location of the graphics card.
1253For PCI/AGP cards,
1254the
1255.I bus\-id
1256string has the form
1257.BI PCI: bus : device : function
1258(e.g., \(lqPCI:1:0:0\(rq might be appropriate for an AGP card).
1259This field is usually optional in single-head configurations when using
1260the primary graphics card.
1261In multi-head configurations, or when using a secondary graphics card in a
1262single-head configuration, this entry is mandatory.
1263Its main purpose is to make an unambiguous connection between the device
1264section and the hardware it is representing.
1265This information can usually be found by running the pciaccess tool
1266scanpci.
1267.TP 7
1268.BI "Screen " number
1269This option is mandatory for cards where a single PCI entity can drive more
1270than one display (i.e., multiple CRTCs sharing a single graphics accelerator
1271and video memory).
1272One
1273.B Device
1274section is required for each head, and this
1275parameter determines which head each of the
1276.B Device
1277sections applies to.
1278The legal values of
1279.I number
1280range from 0 to one less than the total number of heads per entity.
1281Most drivers require that the primary screen (0) be present.
1282.TP 7
1283.BI "Chipset \*q" chipset \*q
1284This usually optional entry specifies the chipset used on the graphics
1285board.
1286In most cases this entry is not required because the drivers will probe the
1287hardware to determine the chipset type.
1288Don't specify it unless the driver-specific documentation recommends that you
1289do.
1290.TP 7
1291.BI "Ramdac \*q" ramdac\-type \*q
1292This optional entry specifies the type of RAMDAC used on the graphics
1293board.
1294This is only used by a few of the drivers, and in most cases it is not
1295required because the drivers will probe the hardware to determine the
1296RAMDAC type where possible.
1297Don't specify it unless the driver-specific documentation recommends that you
1298do.
1299.TP 7
1300.BI "DacSpeed " speed
1301.TP 7
1302.BI "DacSpeed " "speed\-8 speed\-16 speed\-24 speed\-32"
1303This optional entry specifies the RAMDAC speed rating (which is usually
1304printed on the RAMDAC chip).
1305The speed is in MHz.
1306When one value is given, it applies to all framebuffer pixel sizes.
1307When multiple values are given, they apply to the framebuffer pixel sizes
13088, 16, 24 and 32 respectively.
1309This is not used by many drivers, and only needs to be specified when the
1310speed rating of the RAMDAC is different from the defaults built in to
1311driver, or when the driver can't auto-detect the correct defaults.
1312Don't specify it unless the driver-specific documentation recommends that you
1313do.
1314.TP 7
1315.BI "Clocks " "clock ..."
1316specifies the pixel that are on your graphics board.
1317The clocks are in MHz, and may be specified as a floating point number.
1318The value is stored internally to the nearest kHz.
1319The ordering of the clocks is important.
1320It must match the order in which they are selected on the graphics board.
1321Multiple
1322.B Clocks
1323lines may be specified, and each is concatenated to form the list.
1324Most drivers do not use this entry, and it is only required for some older
1325boards with non-programmable clocks.
1326Don't specify this entry unless the driver-specific documentation explicitly
1327recommends that you do.
1328.TP
1329.BI "ClockChip \*q" clockchip\-type \*q
1330This optional entry is used to specify the clock chip type on graphics
1331boards which have a programmable clock generator.
1332Only a few Xorg drivers support programmable clock chips.
1333For details, see the appropriate driver manual page.
1334.TP 7
1335.BI "VideoRam " "mem"
1336This optional entry specifies the amount of video ram that is installed
1337on the graphics board.
1338This is measured in kBytes.
1339In most cases this is not required because the Xorg server probes
1340the graphics board to determine this quantity.
1341The driver-specific documentation should indicate when it might be needed.
1342.TP 7
1343.BI "BiosBase " "baseaddress"
1344This optional entry specifies the base address of the video BIOS for
1345the VGA board.
1346This address is normally auto-detected, and should only be specified if the
1347driver-specific documentation recommends it.
1348.TP 7
1349.BI "MemBase " "baseaddress"
1350This optional entry specifies the memory base address of a graphics
1351board's linear frame buffer.
1352This entry is not used by many drivers, and it should only be specified if
1353the driver-specific documentation recommends it.
1354.TP 7
1355.BI "IOBase " "baseaddress"
1356This optional entry specifies the IO base address.
1357This entry is not used by many drivers, and it should only be specified if
1358the driver-specific documentation recommends it.
1359.TP 7
1360.BI "ChipID " "id"
1361This optional entry specifies a numerical ID representing the chip type.
1362For PCI cards, it is usually the device ID.
1363This can be used to override the auto-detection, but that should only be done
1364when the driver-specific documentation recommends it.
1365.TP 7
1366.BI "ChipRev " "rev"
1367This optional entry specifies the chip revision number.
1368This can be used to override the auto-detection, but that should only be done
1369when the driver-specific documentation recommends it.
1370.TP 7
1371.BI "TextClockFreq " "freq"
1372This optional entry specifies the pixel clock frequency that is used
1373for the regular text mode.
1374The frequency is specified in MHz.
1375This is rarely used.
1376.TP 7
1377.BI "Option \*qModeDebug\*q \*q" boolean \*q
1378Enable printing of additional debugging information about modesetting to
1379the server log.
1380.ig
1381.TP 7
1382This optional entry allows an IRQ number to be specified.
1383..
1384.TP 7
1385.B Options
1386Option flags may be specified in the
1387.B Device
1388sections.
1389These include driver\-specific options and driver\-independent options.
1390The former are described in the driver\-specific documentation.
1391Some of the latter are described below in the section about the
1392.B Screen
1393section, and they may also be included here.
1394
1395.SH "VIDEOADAPTOR SECTION"
1396Nobody wants to say how this works.
1397Maybe nobody knows ...
1398
1399.SH "MONITOR SECTION"
1400The config file may have multiple
1401.B Monitor
1402sections.
1403There should normally be at least one, for the monitor being used,
1404but a default configuration will be created when one isn't specified.
1405.PP
1406.B Monitor
1407sections have the following format:
1408.PP
1409.RS 4
1410.nf
1411.B "Section \*qMonitor\*q"
1412.BI " Identifier \*q" name \*q
1413.I " entries"
1414.I " ..."
1415.B "EndSection"
1416.fi
1417.RE
1418.PP
1419The only mandatory entry in a
1420.B Monitor
1421section is the
1422.B Identifier
1423entry.
1424.PP
1425The
1426.B Identifier
1427entry specifies the unique name for this monitor.
1428The
1429.B Monitor
1430section may be used to provide information about the specifications of the
1431monitor, monitor-specific
1432.BR Options ,
1433and information about the video modes to use with the monitor.
1434.PP
1435With RandR 1.2-enabled drivers, monitor sections may be tied to specific
1436outputs of the video card. Using the name of the output defined by the video
1437driver plus the identifier of a monitor section, one associates a monitor
1438section with an output by adding an option to the Device section in the
1439following format:
1440
1441.BI "Option \*qMonitor-" outputname "\*q \*q" monitorsection \*q
1442
1443(for example,
1444.B Option \*qMonitor-VGA\*q \*qVGA monitor\*q
1445for a VGA output)
1446.PP
1447In the absence of specific association of monitor sections to outputs, if a
1448monitor section is present the server will associate it with an output to
1449preserve compatibility for previous single-head configurations.
1450.PP
1451Specifying video modes is optional because the server will use the DDC or other
1452information provided by the monitor to automatically configure the list of
1453modes available.
1454When modes are specified explicitly in the
1455.B Monitor
1456section (with the
1457.BR Mode ,
1458.BR ModeLine ,
1459or
1460.B UseModes
1461keywords), built-in modes with the same names are not included.
1462Built-in modes with different names are, however, still implicitly included,
1463when they meet the requirements of the monitor.
1464.PP
1465The entries that may be used in
1466.B Monitor
1467sections are described below.
1468.TP 7
1469.BI "VendorName \*q" vendor \*q
1470This optional entry specifies the monitor's manufacturer.
1471.TP 7
1472.BI "ModelName \*q" model \*q
1473This optional entry specifies the monitor's model.
1474.TP 7
1475.BI "HorizSync " "horizsync\-range"
1476gives the range(s) of horizontal sync frequencies supported by the
1477monitor.
1478.I horizsync\-range
1479may be a comma separated list of either discrete values or ranges of
1480values.
1481A range of values is two values separated by a dash.
1482By default the values are in units of kHz.
1483They may be specified in MHz or Hz
1484if
1485.B MHz
1486or
1487.B Hz
1488is added to the end of the line.
1489The data given here is used by the Xorg server to determine if video
1490modes are within the specifications of the monitor.
1491This information should be available in the monitor's handbook.
1492If this entry is omitted, a default range of 28\-33kHz is used.
1493.TP 7
1494.BI "VertRefresh " "vertrefresh\-range"
1495gives the range(s) of vertical refresh frequencies supported by the
1496monitor.
1497.I vertrefresh\-range
1498may be a comma separated list of either discrete values or ranges of
1499values.
1500A range of values is two values separated by a dash.
1501By default the values are in units of Hz.
1502They may be specified in MHz or kHz
1503if
1504.B MHz
1505or
1506.B kHz
1507is added to the end of the line.
1508The data given here is used by the Xorg server to determine if video
1509modes are within the specifications of the monitor.
1510This information should be available in the monitor's handbook.
1511If this entry is omitted, a default range of 43\-72Hz is used.
1512.TP 7
1513.BI "DisplaySize " "width height"
1514This optional entry gives the width and height, in millimetres, of the
1515picture area of the monitor.
1516If given this is used to calculate the horizontal and vertical pitch (DPI) of
1517the screen.
1518.TP 7
1519.BI "Gamma " "gamma\-value"
1520.TP 7
1521.BI "Gamma " "red\-gamma green\-gamma blue\-gamma"
1522This is an optional entry that can be used to specify the gamma correction
1523for the monitor.
1524It may be specified as either a single value or as three separate RGB values.
1525The values should be in the range 0.1 to 10.0, and the default is 1.0.
1526Not all drivers are capable of using this information.
1527.TP 7
1528.BI "UseModes \*q" modesection\-id \*q
1529Include the set of modes listed in the
1530.B Modes
1531section called
1532.IR modesection\-id.
1533This makes all of the modes defined in that section available for use by
1534this monitor.
1535.TP 7
1536.BI "Mode \*q" name \*q
1537This is an optional multi-line entry that can be used to provide
1538definitions for video modes for the monitor.
1539In most cases this isn't necessary because the built-in set of VESA standard
1540modes will be sufficient.
1541The
1542.B Mode
1543keyword indicates the start of a multi-line video mode description.
1544The mode description is terminated with the
1545.B EndMode
1546keyword.
1547The mode description consists of the following entries:
1548.RS 7
1549.TP 4
1550.BI "DotClock " clock
1551is the dot (pixel) clock rate to be used for the mode.
1552.TP 4
1553.BI "HTimings " "hdisp hsyncstart hsyncend htotal"
1554specifies the horizontal timings for the mode.
1555.TP 4
1556.BI "VTimings " "vdisp vsyncstart vsyncend vtotal"
1557specifies the vertical timings for the mode.
1558.TP 4
1559.BI "Flags \*q" flag \*q " ..."
1560specifies an optional set of mode flags, each of which is a separate
1561string in double quotes.
1562.B \*qInterlace\*q
1563indicates that the mode is interlaced.
1564.B \*qDoubleScan\*q
1565indicates a mode where each scanline is doubled.
1566.B \*q+HSync\*q
1567and
1568.B \*q\-HSync\*q
1569can be used to select the polarity of the HSync signal.
1570.B \*q+VSync\*q
1571and
1572.B \*q\-VSync\*q
1573can be used to select the polarity of the VSync signal.
1574.B \*qComposite\*q
1575can be used to specify composite sync on hardware where this is supported.
1576Additionally, on some hardware,
1577.B \*q+CSync\*q
1578and
1579.B \*q\-CSync\*q
1580may be used to select the composite sync polarity.
1581.TP 4
1582.BI "HSkew " hskew
1583specifies the number of pixels (towards the right edge of the screen) by
1584which the display enable signal is to be skewed.
1585Not all drivers use this information.
1586This option might become necessary to override the default value supplied
1587by the server (if any).
1588\(lqRoving\(rq horizontal lines indicate this value needs to be increased.
1589If the last few pixels on a scan line appear on the left of the screen,
1590this value should be decreased.
1591.TP 4
1592.BI "VScan " vscan
1593specifies the number of times each scanline is painted on the screen.
1594Not all drivers use this information.
1595Values less than 1 are treated as 1, which is the default.
1596Generally, the
1597.B \*qDoubleScan\*q
1598.B Flag
1599mentioned above doubles this value.
1600.RE
1601.TP 7
1602.BI "ModeLine \*q" name \*q " mode\-description"
1603This entry is a more compact version of the
1604.B Mode
1605entry, and it also can be used to specify video modes for the monitor.
1606This is a single line format for specifying video modes.
1607In most cases this isn't necessary because the built\-in set of VESA
1608standard modes will be sufficient.
1609.PP
1610.RS 7
1611The
1612.I mode\-description
1613is in four sections, the first three of which are mandatory.
1614The first is the dot (pixel) clock.
1615This is a single number specifying the pixel clock rate for the mode in
1616MHz.
1617The second section is a list of four numbers specifying the horizontal
1618timings.
1619These numbers are the
1620.IR hdisp ,
1621.IR hsyncstart ,
1622.IR hsyncend ,
1623and
1624.I htotal
1625values.
1626The third section is a list of four numbers specifying the vertical
1627timings.
1628These numbers are the
1629.IR vdisp ,
1630.IR vsyncstart ,
1631.IR vsyncend ,
1632and
1633.I vtotal
1634values.
1635The final section is a list of flags specifying other characteristics of
1636the mode.
1637.B Interlace
1638indicates that the mode is interlaced.
1639.B DoubleScan
1640indicates a mode where each scanline is doubled.
1641.B +HSync
1642and
1643.B \-HSync
1644can be used to select the polarity of the HSync signal.
1645.B +VSync
1646and
1647.B \-VSync
1648can be used to select the polarity of the VSync signal.
1649.B Composite
1650can be used to specify composite sync on hardware where this is supported.
1651Additionally, on some hardware,
1652.B +CSync
1653and
1654.B \-CSync
1655may be used to select the composite sync polarity.
1656The
1657.B HSkew
1658and
1659.B VScan
1660options mentioned above in the
1661.B Mode
1662entry description can also be used here.
1663.RE
1664.TP 7
1665.BI "Option \*qDPMS\*q \*q" bool \*q
1666This option controls whether the server should enable the DPMS extension
1667for power management for this screen. The default is to enable the
1668extension.
1669.TP 7
1670.BI "Option \*qSyncOnGreen\*q \*q" bool \*q
1671This option controls whether the video card should drive the sync signal
1672on the green color pin. Not all cards support this option, and most
1673monitors do not require it. The default is off.
1674.TP 7
1675.BI "Option \*qPrimary\*q \*q" bool \*q
1676This optional entry specifies that the monitor should be treated as the primary
1677monitor. (RandR 1.2-supporting drivers only)
1678.TP 7
1679.BI "Option \*qPreferredMode\*q \*q" name \*q
1680This optional entry specifies a mode to be marked as the preferred initial mode
1681of the monitor.
1682(RandR 1.2-supporting drivers only)
1683.TP 7
1684.BI "Option \*qZoomModes\*q \*q" name " " name " " ... \*q
1685This optional entry specifies modes to be marked as zoom modes.
1686It is possible to switch to the next and previous mode via
1687.BR Ctrl+Alt+Keypad\-Plus " and " Ctrl+Alt+Keypad\-Minus .
1688All these keypad available modes are selected from the screen mode list.
1689This list is a copy of the compatibility output monitor mode list.
1690Since this output is the output connected to the lowest
1691dot-area monitor, as determined from its largest size mode, that
1692monitor defines the available zoom modes.
1693(RandR 1.2-supporting drivers only)
1694.TP 7
1695.BI "Option \*qPosition\*q \*q" x " " y \*q
1696This optional entry specifies the position of the monitor within the X
1697screen.
1698(RandR 1.2-supporting drivers only)
1699.TP 7
1700.BI "Option \*qLeftOf\*q \*q" output \*q
1701This optional entry specifies that the monitor should be positioned to the
1702left of the output (not monitor) of the given name.
1703(RandR 1.2-supporting drivers only)
1704.TP 7
1705.BI "Option \*qRightOf\*q \*q" output \*q
1706This optional entry specifies that the monitor should be positioned to the
1707right of the output (not monitor) of the given name.
1708(RandR 1.2-supporting drivers only)
1709.TP 7
1710.BI "Option \*qAbove\*q \*q" output \*q
1711This optional entry specifies that the monitor should be positioned above the
1712output (not monitor) of the given name.
1713(RandR 1.2-supporting drivers only)
1714.TP 7
1715.BI "Option \*qBelow\*q \*q" output \*q
1716This optional entry specifies that the monitor should be positioned below the
1717output (not monitor) of the given name.
1718(RandR 1.2-supporting drivers only)
1719.TP 7
1720.BI "Option \*qEnable\*q \*q" bool \*q
1721This optional entry specifies whether the monitor should be turned on
1722at startup. By default, the server will attempt to enable all connected
1723monitors.
1724(RandR 1.2-supporting drivers only)
1725.TP 7
1726.BI "Option \*qDefaultModes\*q \*q" bool \*q
1727This optional entry specifies whether the server should add supported default
1728modes to the list of modes offered on this monitor. By default, the server
1729will add default modes; you should only disable this if you can guarantee
1730that EDID will be available at all times, or if you have added custom modelines
1731which the server can use.
1732(RandR 1.2-supporting drivers only)
1733.TP 7
1734.BI "Option \*qMinClock\*q \*q" frequency \*q
1735This optional entry specifies the minimum dot clock, in kHz, that is supported
1736by the monitor.
1737.TP 7
1738.BI "Option \*qMaxClock\*q \*q" frequency \*q
1739This optional entry specifies the maximum dot clock, in kHz, that is supported
1740by the monitor.
1741.TP 7
1742.BI "Option \*qIgnore\*q \*q" bool \*q
1743This optional entry specifies that the monitor should be ignored entirely,
1744and not reported through RandR. This is useful if the hardware reports the
1745presence of outputs that don't exist.
1746(RandR 1.2-supporting drivers only)
1747.TP 7
1748.BI "Option \*qRotate\*q \*q" rotation \*q
1749This optional entry specifies the initial rotation of the given monitor.
1750Valid values for rotation are \*qnormal\*q, \*qleft\*q, \*qright\*q, and
1751\*qinverted\*q.
1752(RandR 1.2-supporting drivers only)
1753
1754.SH "MODES SECTION"
1755The config file may have multiple
1756.B Modes
1757sections, or none.
1758These sections provide a way of defining sets of video modes independently
1759of the
1760.B Monitor
1761sections.
1762.B Monitor
1763sections may include the definitions provided in these sections by
1764using the
1765.B UseModes
1766keyword.
1767In most cases the
1768.B Modes
1769sections are not necessary because the built\-in set of VESA standard modes
1770will be sufficient.
1771.PP
1772.B Modes
1773sections have the following format:
1774.PP
1775.RS 4
1776.nf
1777.B "Section \*qModes\*q"
1778.BI " Identifier \*q" name \*q
1779.I " entries"
1780.I " ..."
1781.B "EndSection"
1782.fi
1783.RE
1784.PP
1785The
1786.B Identifier
1787entry specifies the unique name for this set of mode descriptions.
1788The other entries permitted in
1789.B Modes
1790sections are the
1791.B Mode
1792and
1793.B ModeLine
1794entries that are described above in the
1795.B Monitor
1796section.
1797.SH "SCREEN SECTION"
1798The config file may have multiple
1799.B Screen
1800sections.
1801There must be at least one, for the \(lqscreen\(rq being used.
1802A \(lqscreen\(rq represents the binding of a graphics device
1803.RB ( Device
1804section) and a monitor
1805.RB ( Monitor
1806section).
1807A
1808.B Screen
1809section is considered \(lqactive\(rq if it is referenced by an active
1810.B ServerLayout
1811section or by the
1812.B \-screen
1813command line option.
1814If neither of those is present, the first
1815.B Screen
1816section found in the config file is considered the active one.
1817.PP
1818.B Screen
1819sections have the following format:
1820.PP
1821.RS 4
1822.nf
1823.B "Section \*qScreen\*q"
1824.BI " Identifier \*q" name \*q
1825.BI " Device \*q" devid \*q
1826.BI " Monitor \*q" monid \*q
1827.I " entries"
1828.I " ..."
1829.BI " SubSection \*qDisplay\*q"
1830.I " entries"
1831.I " ...
1832.B " EndSubSection"
1833.I " ..."
1834.B "EndSection"
1835.fi
1836.RE
1837.PP
1838The
1839.B Identifier
1840entry is mandatory.
1841All others are optional.
1842.PP
1843The
1844.B Identifier
1845entry specifies the unique name for this screen.
1846The
1847.B Screen
1848section provides information specific to the whole screen, including
1849screen\-specific
1850.BR Options .
1851In multi\-head configurations, there will be multiple active
1852.B Screen
1853sections, one for each head.
1854The entries available
1855for this section are:
1856.TP 7
1857.BI "Device \*q" device\-id \*q
1858This entry specifies the
1859.B Device
1860section to be used for this screen. When multiple graphics cards are
1861present, this is what ties a specific card to a screen. The
1862.I device\-id
1863must match the
1864.B Identifier
1865of a
1866.B Device
1867section in the config file.
1868.TP 7
1869.BI "Monitor \*q" monitor\-id \*q
1870specifies which monitor description is to be used for this screen.
1871If a
1872.B Monitor
1873name is not specified, a default configuration is used.
1874Currently the default configuration may not function as expected on all
1875platforms.
1876.TP 7
1877.BI "VideoAdaptor \*q" xv\-id \*q
1878specifies an optional Xv video adaptor description to be used with this
1879screen.
1880.TP 7
1881.BI "DefaultDepth " depth
1882specifies which color depth the server should use by default.
1883The
1884.B \-depth
1885command line option can be used to override this.
1886If neither is specified, the default depth is driver\-specific, but in most
1887cases is 8.
1888.TP 7
1889.BI "DefaultFbBpp " bpp
1890specifies which framebuffer layout to use by default.
1891The
1892.B \-fbbpp
1893command line option can be used to override this.
1894In most cases the driver will chose the best default value for this.
1895The only case where there is even a choice in this value is for depth 24,
1896where some hardware supports both a packed 24 bit framebuffer layout and a
1897sparse 32 bit framebuffer layout.
1898.TP 7
1899.B Options
1900Various
1901.B Option
1902flags may be specified in the
1903.B Screen
1904section.
1905Some are driver\-specific and are described in the driver documentation.
1906Others are driver\-independent, and will eventually be described here.
1907.\" XXX These should really be in an xaa man page.
1908.TP 7
1909.BI "Option \*qAccel\*q"
1910Enables 2D hardware acceleration.
1911This option is on by default, but it may be necessary to turn it off if
1912there are bugs in the driver.
1913There are many options to disable specific accelerated operations, listed
1914below.
1915Note that disabling an operation will have no effect if the operation is
1916not accelerated (whether due to lack of support in the hardware or in the
1917driver).
1918.TP 7
1919.BI "Option \*qInitPrimary\*q \*q" boolean \*q
1920Use the Int10 module to initialize the primary graphics card.
1921Normally, only secondary cards are soft-booted using the Int10 module, as the
1922primary card has already been initialized by the BIOS at boot time.
1923Default: false.
1924.TP 7
1925.BI "Option \*qNoInt10\*q \*q" boolean \*q
1926Disables the Int10 module, a module that uses the int10 call to the BIOS
1927of the graphics card to initialize it.
1928Default: false.
1929.TP 7
1930.BI "Option \*qNoMTRR\*q"
1931Disables MTRR (Memory Type Range Register) support, a feature of modern
1932processors which can improve video performance by a factor of up to 2.5.
1933Some hardware has buggy MTRR support, and some video drivers have been
1934known to exhibit problems when MTRR's are used.
1935.PP
1936Each
1937.B Screen
1938section may optionally contain one or more
1939.B Display
1940subsections.
1941Those subsections provide depth/fbbpp specific configuration information,
1942and the one chosen depends on the depth and/or fbbpp that is being used for
1943the screen.
1944The
1945.B Display
1946subsection format is described in the section below.
1947
1948.SH "DISPLAY SUBSECTION"
1949Each
1950.B Screen
1951section may have multiple
1952.B Display
1953subsections.
1954The \(lqactive\(rq
1955.B Display
1956subsection is the first that matches the depth and/or fbbpp values being
1957used, or failing that, the first that has neither a depth or fbbpp value
1958specified.
1959The
1960.B Display
1961subsections are optional.
1962When there isn't one that matches the depth and/or fbbpp values being used,
1963all the parameters that can be specified here fall back to their defaults.
1964.PP
1965.B Display
1966subsections have the following format:
1967.PP
1968.RS 4
1969.nf
1970.B " SubSection \*qDisplay\*q"
1971.BI " Depth " depth
1972.I " entries"
1973.I " ..."
1974.B " EndSubSection"
1975.fi
1976.RE
1977.TP 7
1978.BI "Depth " depth
1979This entry specifies what colour depth the
1980.B Display
1981subsection is to be used for.
1982This entry is usually specified, but it may be omitted to create a match\-all
1983.B Display
1984subsection or when wishing to match only against the
1985.B FbBpp
1986parameter.
1987The range of
1988.I depth
1989values that are allowed depends on the driver.
1990Most drivers support 8, 15, 16 and 24.
1991Some also support 1 and/or 4, and some may support other values (like 30).
1992Note:
1993.I depth
1994means the number of bits in a pixel that are actually used to determine
1995the pixel colour.
199632 is not a valid
1997.I depth
1998value.
1999Most hardware that uses 32 bits per pixel only uses 24 of them to hold the
2000colour information, which means that the colour depth is 24, not 32.
2001.TP 7
2002.BI "FbBpp " bpp
2003This entry specifies the framebuffer format this
2004.B Display
2005subsection is to be used for.
2006This entry is only needed when providing depth 24 configurations that allow
2007a choice between a 24 bpp packed framebuffer format and a 32bpp sparse
2008framebuffer format.
2009In most cases this entry should not be used.
2010.TP 7
2011.BI "Weight " "red\-weight green\-weight blue\-weight"
2012This optional entry specifies the relative RGB weighting to be used
2013for a screen is being used at depth 16 for drivers that allow multiple
2014formats.
2015This may also be specified from the command line with the
2016.B \-weight
2017option (see
2018.BR Xorg(__appmansuffix__)).
2019.TP 7
2020.BI "Virtual " "xdim ydim"
2021This optional entry specifies the virtual screen resolution to be used.
2022.I xdim
2023must be a multiple of either 8 or 16 for most drivers, and a multiple
2024of 32 when running in monochrome mode.
2025The given value will be rounded down if this is not the case.
2026Video modes which are too large for the specified virtual size will be
2027rejected.
2028If this entry is not present, the virtual screen resolution will be set to
2029accommodate all the valid video modes given in the
2030.B Modes
2031entry.
2032Some drivers/hardware combinations do not support virtual screens.
2033Refer to the appropriate driver\-specific documentation for details.
2034.TP 7
2035.BI "ViewPort " "x0 y0"
2036This optional entry sets the upper left corner of the initial display.
2037This is only relevant when the virtual screen resolution is different
2038from the resolution of the initial video mode.
2039If this entry is not given, then the initial display will be centered in
2040the virtual display area.
2041.TP 7
2042.BI "Modes \*q" mode\-name \*q " ..."
2043This optional entry specifies the list of video modes to use.
2044Each
2045.I mode\-name
2046specified must be in double quotes.
2047They must correspond to those specified or referenced in the appropriate
2048.B Monitor
2049section (including implicitly referenced built\-in VESA standard modes).
2050The server will delete modes from this list which don't satisfy various
2051requirements.
2052The first valid mode in this list will be the default display mode for
2053startup.
2054The list of valid modes is converted internally into a circular list.
2055It is possible to switch to the next mode with
2056.B Ctrl+Alt+Keypad\-Plus
2057and to the previous mode with
2058.BR Ctrl+Alt+Keypad\-Minus .
2059When this entry is omitted, the valid modes referenced by the appropriate
2060.B Monitor
2061section will be used. If the
2062.B Monitor
2063section contains no modes, then the selection will be taken from the
2064built-in VESA standard modes.
2065.TP 7
2066.BI "Visual \*q" visual\-name \*q
2067This optional entry sets the default root visual type.
2068This may also be specified from the command line (see the
2069.BR Xserver(__appmansuffix__)
2070man page).
2071The visual types available for depth 8 are (default is
2072.BR PseudoColor ):
2073.PP
2074.RS 11
2075.nf
2076.B StaticGray
2077.B GrayScale
2078.B StaticColor
2079.B PseudoColor
2080.B TrueColor
2081.B DirectColor
2082.fi
2083.RE
2084.PP
2085.RS 7
2086The visual type available for the depths 15, 16 and 24 are (default is
2087.BR TrueColor ):
2088.PP
2089.RS 4
2090.nf
2091.B TrueColor
2092.B DirectColor
2093.fi
2094.RE
2095.PP
2096Not all drivers support
2097.B DirectColor
2098at these depths.
2099.PP
2100The visual types available for the depth 4 are (default is
2101.BR StaticColor ):
2102.PP
2103.RS 4
2104.nf
2105.B StaticGray
2106.B GrayScale
2107.B StaticColor
2108.B PseudoColor
2109.fi
2110.RE
2111.PP
2112The visual type available for the depth 1 (monochrome) is
2113.BR StaticGray .
2114.RE
2115.TP 7
2116.BI "Black " "red green blue"
2117This optional entry allows the \(lqblack\(rq colour to be specified.
2118This is only supported at depth 1.
2119The default is black.
2120.TP 7
2121.BI "White " "red green blue"
2122This optional entry allows the \(lqwhite\(rq colour to be specified.
2123This is only supported at depth 1.
2124The default is white.
2125.TP 7
2126.B Options
2127Option flags may be specified in the
2128.B Display
2129subsections.
2130These may include driver\-specific options and driver\-independent options.
2131The former are described in the driver\-specific documentation.
2132Some of the latter are described above in the section about the
2133.B Screen
2134section, and they may also be included here.
2135.SH "SERVERLAYOUT SECTION"
2136The config file may have multiple
2137.B ServerLayout
2138sections.
2139A \(lqserver layout\(rq represents the binding of one or more screens
2140.RB ( Screen
2141sections) and one or more input devices
2142.RB ( InputDevice
2143sections) to form a complete configuration.
2144In multi\-head configurations, it also specifies the relative layout of the
2145heads.
2146A
2147.B ServerLayout
2148section is considered \(lqactive\(rq if it is referenced by the
2149.B \-layout
2150command line option or by an
2151.B "Option \*qDefaultServerLayout\*q"
2152entry in the
2153.B ServerFlags
2154section (the former takes precedence over the latter).
2155If those options are not used, the first
2156.B ServerLayout
2157section found in the config file is considered the active one.
2158If no
2159.B ServerLayout
2160sections are present, the single active screen and two active (core)
2161input devices are selected as described in the relevant sections above.
2162.PP
2163.B ServerLayout
2164sections have the following format:
2165.PP
2166.RS 4
2167.nf
2168.B "Section \*qServerLayout\*q"
2169.BI " Identifier \*q" name \*q
2170.BI " Screen \*q" screen\-id \*q
2171.I " ..."
2172.BI " InputDevice \*q" idev\-id \*q
2173.I " ..."
2174.I " options"
2175.I " ..."
2176.B "EndSection"
2177.fi
2178.RE
2179.PP
2180Each
2181.B ServerLayout
2182section must have an
2183.B Identifier
2184entry and at least one
2185.B Screen
2186entry.
2187.PP
2188The
2189.B Identifier
2190entry specifies the unique name for this server layout.
2191The
2192.B ServerLayout
2193section provides information specific to the whole session, including
2194session\-specific
2195.BR Options .
2196The
2197.B ServerFlags
2198options (described above) may be specified here, and ones given here
2199override those given in the
2200.B ServerFlags
2201section.
2202.PP
2203The entries that may be used in this section are described here.
2204.TP 7
2205.BI "Screen " "screen\-num" " \*qscreen\-id\*q " "position\-information"
2206One of these entries must be given for each screen being used in
2207a session.
2208The
2209.I screen\-id
2210field is mandatory, and specifies the
2211.B Screen
2212section being referenced.
2213The
2214.I screen\-num
2215field is optional, and may be used to specify the screen number
2216in multi\-head configurations.
2217When this field is omitted, the screens will be numbered in the order that
2218they are listed in.
2219The numbering starts from 0, and must be consecutive.
2220The
2221.I position\-information
2222field describes the way multiple screens are positioned.
2223There are a number of different ways that this information can be provided:
2224.RS 7
2225.TP 4
2226.I "x y"
2227.TP 4
2228.BI "Absolute " "x y"
2229These both specify that the upper left corner's coordinates are
2230.RI ( x , y ).
2231The
2232.B Absolute
2233keyword is optional.
2234Some older versions of XFree86 (4.2 and earlier) don't recognise the
2235.B Absolute
2236keyword, so it's safest to just specify the coordinates without it.
2237.TP 4
2238.BI "RightOf \*q" screen\-id \*q
2239.TP 4
2240.BI "LeftOf \*q" screen\-id \*q
2241.TP 4
2242.BI "Above \*q" screen\-id \*q
2243.TP 4
2244.BI "Below \*q" screen\-id \*q
2245.TP 4
2246.BI "Relative \*q" screen\-id \*q " x y"
2247These give the screen's location relative to another screen.
2248The first four position the screen immediately to the right, left, above or
2249below the other screen.
2250When positioning to the right or left, the top edges are aligned.
2251When positioning above or below, the left edges are aligned.
2252The
2253.B Relative
2254form specifies the offset of the screen's origin (upper left corner)
2255relative to the origin of another screen.
2256.RE
2257.TP 7
2258.BI "InputDevice \*q" idev\-id "\*q \*q" option \*q " ..."
2259One of these entries should be given for each input device being used in
2260a session.
2261Normally at least two are required, one each for the core pointer and
2262keyboard devices.
2263If either of those is missing, suitable
2264.B InputDevice
2265entries are searched for using the method described above in the
2266.B INPUTDEVICE
2267section. The
2268.I idev\-id
2269field is mandatory, and specifies the name of the
2270.B InputDevice
2271section being referenced.
2272Multiple
2273.I option
2274fields may be specified, each in double quotes.
2275The options permitted here are any that may also be given in the
2276.B InputDevice
2277sections.
2278Normally only session\-specific input device options would be used here.
2279The most commonly used options are:
2280.PP
2281.RS 11
2282.nf
2283.B \*qCorePointer\*q
2284.B \*qCoreKeyboard\*q
2285.B \*qSendCoreEvents\*q
2286.fi
2287.RE
2288.PP
2289.RS 7
2290and the first two should normally be used to indicate the core pointer
2291and core keyboard devices respectively.
2292.RE
2293.TP 7
2294.B Options
2295In addition to the following, any option permitted in the
2296.B ServerFlags
2297section may also be specified here.
2298When the same option appears in both places, the value given here overrides
2299the one given in the
2300.B ServerFlags
2301section.
2302.TP 7
2303.BI "Option \*qIsolateDevice\*q \*q" bus\-id \*q
2304Restrict device resets to the specified
2305.IR bus\-id .
2306See the
2307.B BusID
2308option (described in
2309.BR "DEVICE SECTION" ,
2310above) for the format of the
2311.I bus\-id
2312parameter.
2313This option overrides
2314.BR SingleCard ,
2315if specified.
2316At present, only PCI devices can be isolated in this manner.
2317.TP 7
2318.BI "Option \*qSingleCard\*q \*q" boolean \*q
2319As
2320.BR IsolateDevice ,
2321except that the bus ID of the first device in the layout is used.
2322.PP
2323Here is an example of a
2324.B ServerLayout
2325section for a dual headed configuration with two mice:
2326.PP
2327.RS 4
2328.nf
2329.B "Section \*qServerLayout\*q"
2330.B " Identifier \*qLayout 1\*q"
2331.B " Screen \*qMGA 1\*q"
2332.B " Screen \*qMGA 2\*q RightOf \*qMGA 1\*q"
2333.B " InputDevice \*qKeyboard 1\*q \*qCoreKeyboard\*q"
2334.B " InputDevice \*qMouse 1\*q \*qCorePointer\*q"
2335.B " InputDevice \*qMouse 2\*q \*qSendCoreEvents\*q"
2336.B " Option \*qBlankTime\*q \*q5\*q"
2337.B "EndSection"
2338.fi
2339.RE
2340.SH "DRI SECTION"
2341This optional section is used to provide some information for the
2342Direct Rendering Infrastructure.
2343Details about the format of this section can be found on-line at
2344.IR <http://dri.freedesktop.org/> .
2345.SH "VENDOR SECTION"
2346The optional
2347.B Vendor
2348section may be used to provide vendor\-specific configuration information.
2349Multiple
2350.B Vendor
2351sections may be present, and they may contain an
2352.B Identifier
2353entry and multiple
2354.B Option
2355flags.
2356The data therein is not used in this release.
2357.PP
2358.SH "SEE ALSO"
2359General:
2360.BR X (__miscmansuffix__),
2361.BR Xserver (__appmansuffix__),
2362.BR Xorg (__appmansuffix__),
2363.BR cvt (__appmansuffix__),
2364.BR gtf (__appmansuffix__).
2365.PP
2366.B "Not all modules or interfaces are available on all platforms."
2367.PP
2368Display drivers:
2369.BR apm (__drivermansuffix__),
2370.BR ati (__drivermansuffix__),
2371.BR chips (__drivermansuffix__),
2372.BR cirrus (__drivermansuffix__),
2373.BR cyrix (__drivermansuffix__),
2374.BR fbdev (__drivermansuffix__),
2375.BR glide (__drivermansuffix__),
2376.BR glint (__drivermansuffix__),
2377.BR i128 (__drivermansuffix__),
2378.BR i740 (__drivermansuffix__),
2379.BR imstt (__drivermansuffix__),
2380.BR intel (__drivermansuffix__),
2381.BR mga (__drivermansuffix__),
2382.BR neomagic (__drivermansuffix__),
2383.BR nv (__drivermansuffix__),
2384.BR openchrome (__drivermansuffix__),
2385.BR r128 (__drivermansuffix__),
2386.BR radeon (__drivermansuffix__),
2387.BR rendition (__drivermansuffix__),
2388.BR savage (__drivermansuffix__),
2389.BR s3virge (__drivermansuffix__),
2390.BR siliconmotion (__drivermansuffix__),
2391.BR sis (__drivermansuffix__),
2392.BR sisusb (__drivermansuffix__),
2393.BR sunbw2 (__drivermansuffix__),
2394.BR suncg14 (__drivermansuffix__),
2395.BR suncg3 (__drivermansuffix__),
2396.BR suncg6 (__drivermansuffix__),
2397.BR sunffb (__drivermansuffix__),
2398.BR sunleo (__drivermansuffix__),
2399.BR suntcx (__drivermansuffix__),
2400.BR tdfx (__drivermansuffix__),
2401.\" .BR tga (__drivermansuffix__),
2402.BR trident (__drivermansuffix__),
2403.BR tseng (__drivermansuffix__),
2404.BR vesa (__drivermansuffix__),
2405.BR vmware (__drivermansuffix__),
2406.BR voodoo (__drivermansuffix__),
2407.BR wsfb (__drivermansuffix__),
2408.BR xgi (__drivermansuffix__),
2409.BR xgixp (__drivermansuffix__).
2410.PP
2411Input drivers:
2412.BR acecad (__drivermansuffix__),
2413.BR citron (__drivermansuffix__),
2414.BR elographics (__drivermansuffix__),
2415.BR evdev (__drivermansuffix__),
2416.BR fpit (__drivermansuffix__),
2417.BR joystick (__drivermansuffix__),
2418.BR kbd (__drivermansuffix__),
2419.BR mousedrv (__drivermansuffix__),
2420.BR mutouch (__drivermansuffix__),
2421.BR penmount (__drivermansuffix__),
2422.BR synaptics (__drivermansuffix__),
2423.BR vmmouse (__drivermansuffix__),
2424.BR void (__drivermansuffix__),
2425.BR wacom (__drivermansuffix__).
2426.PP
2427Other modules and interfaces:
2428.BR exa (__drivermansuffix__),
2429.BR fbdevhw (__drivermansuffix__),
2430.\" .BR shadowfb (__drivermansuffix__),
2431.BR v4l (__drivermansuffix__).
2432.br
2433.SH AUTHORS
2434This manual page was largely rewritten by David Dawes
2435.IR <dawes@xfree86.org> .