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