xorgconf.cpp revision 706f2543
1# 2# Copyright (c) 1994-1998 by The XFree86 Project, Inc. 3# 4# Permission is hereby granted, free of charge, to any person obtaining a 5# copy of this software and associated documentation files (the "Software"), 6# to deal in the Software without restriction, including without limitation 7# the rights to use, copy, modify, merge, publish, distribute, sublicense, 8# and/or sell copies of the Software, and to permit persons to whom the 9# Software is furnished to do so, subject to the following conditions: 10# 11# The above copyright notice and this permission notice shall be included in 12# all copies or substantial portions of the Software. 13# 14# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17# THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 18# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF 19# OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20# SOFTWARE. 21# 22# Except as contained in this notice, the name of the XFree86 Project shall 23# not be used in advertising or otherwise to promote the sale, use or other 24# dealings in this Software without prior written authorization from the 25# XFree86 Project. 26# 27# $XConsortium: XF86Conf.cpp /main/22 1996/10/23 11:43:51 kaleb $ 28 29# ********************************************************************** 30# This is a sample configuration file only, intended to illustrate 31# what a config file might look like. Refer to the xorg.conf(__filemansuffix__) 32# man page for details about the format of this file. 33# ********************************************************************** 34 35# The ordering of sections is not important in XFree86 4.0 and later, 36# nor in any Xorg release. 37 38# ********************************************************************** 39# Files section. This allows default font and module paths to be set 40# ********************************************************************** 41 42Section "Files" 43 44# Multiple FontPath entries are allowed (which are concatenated together), 45# as well as specifying multiple comma-separated entries in one FontPath 46# command (or a combination of both methods). 47# The default path is shown here. 48 49# FontPath DEFAULTFONTPATH 50 51# ModulePath can be used to set a search path for the X server modules. 52# The default path is shown here. 53 54# ModulePath MODULEPATH 55 56EndSection 57 58# ********************************************************************** 59# Module section -- this is an optional section which is used to specify 60# which run-time loadable modules to load when the X server starts up. 61# ********************************************************************** 62 63Section "Module" 64 65# This loads the DBE extension module. 66 67 Load "dbe" 68 69# This loads the miscellaneous extensions module, and disables 70# initialisation of the XFree86-DGA extension within that module. 71 72 SubSection "extmod" 73 Option "omit xfree86-dga" 74 EndSubSection 75 76EndSection 77 78 79# ********************************************************************** 80# Server flags section. This contains various server-wide Options. 81# ********************************************************************** 82 83Section "ServerFlags" 84 85# Uncomment this to cause a core dump at the spot where a signal is 86# received. This may leave the console in an unusable state, but may 87# provide a better stack trace in the core dump to aid in debugging 88 89# Option "NoTrapSignals" 90 91# Uncomment this to disable the <Ctrl><Alt><Fn> VT switch sequence 92# (where n is 1 through 12). This allows clients to receive these key 93# events. 94 95# Option "DontVTSwitch" 96 97# Uncomment this to disable the <Ctrl><Alt><BS> server abort sequence 98# This allows clients to receive this key event. 99 100# Option "DontZap" "false" 101 102# Uncomment this to disable the <Ctrl><Alt><KP_+>/<KP_-> mode switching 103# sequences. This allows clients to receive these key events. 104 105# Option "DontZoom" 106 107# Uncomment this to disable tuning with the xvidtune client. With 108# it the client can still run and fetch card and monitor attributes, 109# but it will not be allowed to change them. If it tries it will 110# receive a protocol error. 111 112# Option "DisableVidModeExtension" 113 114# Uncomment this to enable the use of a non-local xvidtune client. 115 116# Option "AllowNonLocalXvidtune" 117 118# Set the basic blanking screen saver timeout. 119 120 Option "BlankTime" "10" # 10 minutes 121 122# Set the DPMS timeouts. These are set here because they are global 123# rather than screen-specific. These settings alone don't enable DPMS. 124# It is enabled per-screen (or per-monitor), and even then only when 125# the driver supports it. 126 127 Option "StandbyTime" "10" # 10 minutes 128 Option "SuspendTime" "10" # 10 minutes 129 Option "OffTime" "10" # 10 minutes 130 131EndSection 132 133# ********************************************************************** 134# Input devices 135# ********************************************************************** 136 137# ********************************************************************** 138# Core keyboard's InputDevice section 139# ********************************************************************** 140 141Section "InputDevice" 142 143 Identifier "Keyboard1" 144 Driver "kbd" 145 146# Set the keyboard auto repeat parameters. Not all platforms implement 147# this. 148 149 Option "AutoRepeat" "500 5" 150 151# Specifiy which keyboard LEDs can be user-controlled (eg, with xset(1)). 152 153# Option "Xleds" "1 2 3" 154 155# To customise the XKB settings to suit your keyboard, modify the 156# lines below (which are the defaults). For example, for a European 157# keyboard, you will probably want to use one of: 158# 159# Option "XkbModel" "pc102" 160# Option "XkbModel" "pc105" 161# 162# If you have a Microsoft Natural keyboard, you can use: 163# 164# Option "XkbModel" "microsoft" 165# 166# If you have a US "windows" keyboard you will want: 167# 168# Option "XkbModel" "pc104" 169# 170# Then to change the language, change the Layout setting. 171# For example, a german layout can be obtained with: 172# 173# Option "XkbLayout" "de" 174# 175# or: 176# 177# Option "XkbLayout" "de" 178# Option "XkbVariant" "nodeadkeys" 179# 180# If you'd like to switch the positions of your capslock and 181# control keys, use: 182# 183# Option "XkbOptions" "ctrl:swapcaps" 184 185 186# These are the default XKB settings for xorg 187# 188# Option "XkbRules" "xorg" 189# Option "XkbModel" "pc105" 190# Option "XkbLayout" "us" 191# Option "XkbVariant" "" 192# Option "XkbOptions" "" 193 194EndSection 195 196 197# ********************************************************************** 198# Core Pointer's InputDevice section 199# ********************************************************************** 200 201Section "InputDevice" 202 203# Identifier and driver 204 205 Identifier "Mouse1" 206 Driver "mouse" 207 208# The mouse protocol and device. The device is normally set to /dev/mouse, 209# which is usually a symbolic link to the real device. 210 211 Option "Protocol" "Microsoft" 212 Option "Device" "/dev/mouse" 213 214# On platforms where PnP mouse detection is supported the following 215# protocol setting can be used when using a newer PnP mouse: 216 217# Option "Protocol" "Auto" 218 219# When using mouse connected to a PS/2 port (aka "MousePort"), set the 220# the protocol as follows. On some platforms some other settings may 221# be available. 222 223# Option "Protocol" "PS/2" 224 225# Baudrate and SampleRate are only for some older Logitech mice. In 226# almost every case these lines should be omitted. 227 228# Option "BaudRate" "9600" 229# Option "SampleRate" "150" 230 231# Emulate3Buttons is an option for 2-button mice 232# Emulate3Timeout is the timeout in milliseconds (default is 50ms) 233 234# Option "Emulate3Buttons" 235# Option "Emulate3Timeout" "50" 236 237# ChordMiddle is an option for some 3-button Logitech mice, or any 238# 3-button mouse where the middle button generates left+right button 239# events. 240 241# Option "ChordMiddle" 242 243EndSection 244 245Section "InputDevice" 246 Identifier "Mouse2" 247 Driver "mouse" 248 Option "Protocol" "MouseMan" 249 Option "Device" "/dev/mouse2" 250EndSection 251 252# Some examples of extended input devices 253 254# Section "InputDevice" 255# Identifier "spaceball" 256# Driver "magellan" 257# Option "Device" "/dev/cua0" 258# EndSection 259# 260# Section "InputDevice" 261# Identifier "spaceball2" 262# Driver "spaceorb" 263# Option "Device" "/dev/cua0" 264# EndSection 265# 266# Section "InputDevice" 267# Identifier "touchscreen0" 268# Driver "microtouch" 269# Option "Device" "/dev/ttyS0" 270# Option "MinX" "1412" 271# Option "MaxX" "15184" 272# Option "MinY" "15372" 273# Option "MaxY" "1230" 274# Option "ScreenNumber" "0" 275# Option "ReportingMode" "Scaled" 276# Option "ButtonNumber" "1" 277# Option "SendCoreEvents" 278# EndSection 279# 280# Section "InputDevice" 281# Identifier "touchscreen1" 282# Driver "elo2300" 283# Option "Device" "/dev/ttyS0" 284# Option "MinX" "231" 285# Option "MaxX" "3868" 286# Option "MinY" "3858" 287# Option "MaxY" "272" 288# Option "ScreenNumber" "0" 289# Option "ReportingMode" "Scaled" 290# Option "ButtonThreshold" "17" 291# Option "ButtonNumber" "1" 292# Option "SendCoreEvents" 293# EndSection 294 295# ********************************************************************** 296# Monitor section 297# ********************************************************************** 298 299# Any number of monitor sections may be present 300 301Section "Monitor" 302 303# The identifier line must be present. 304 305 Identifier "Generic Monitor" 306 307# HorizSync is in kHz unless units are specified. 308# HorizSync may be a comma separated list of discrete values, or a 309# comma separated list of ranges of values. 310# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S 311# USER MANUAL FOR THE CORRECT NUMBERS. 312 313# HorizSync 31.5 # typical for a single frequency fixed-sync monitor 314# HorizSync 30-64 # multisync 315# HorizSync 31.5, 35.2 # multiple fixed sync frequencies 316# HorizSync 15-25, 30-50 # multiple ranges of sync frequencies 317 318# VertRefresh is in Hz unless units are specified. 319# VertRefresh may be a comma separated list of discrete values, or a 320# comma separated list of ranges of values. 321# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S 322# USER MANUAL FOR THE CORRECT NUMBERS. 323 324# VertRefresh 60 # typical for a single frequency fixed-sync monitor 325 326# VertRefresh 50-100 # multisync 327# VertRefresh 60, 65 # multiple fixed sync frequencies 328# VertRefresh 40-50, 80-100 # multiple ranges of sync frequencies 329 330# Modes can be specified in two formats. A compact one-line format, or 331# a multi-line format. 332 333# A generic VGA 640x480 mode (hsync = 31.5kHz, refresh = 60Hz) 334# These two are equivalent 335 336# ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525 337 338 Mode "640x480" 339 DotClock 25.175 340 HTimings 640 664 760 800 341 VTimings 480 491 493 525 342 EndMode 343 344# These two are equivalent 345 346# ModeLine "1024x768i" 45 1024 1048 1208 1264 768 776 784 817 Interlace 347 348# Mode "1024x768i" 349# DotClock 45 350# HTimings 1024 1048 1208 1264 351# VTimings 768 776 784 817 352# Flags "Interlace" 353# EndMode 354 355# If a monitor has DPMS support, that can be indicated here. This will 356# enable DPMS when the monitor is used with drivers that support it. 357 358# Option "dpms" 359 360# If a monitor requires that the sync signals be superimposed on the 361# green signal, the following option will enable this when used with 362# drivers that support it. Only a relatively small range of hardware 363# (and drivers) actually support this. 364 365# Option "sync on green" 366 367EndSection 368 369# ********************************************************************** 370# Graphics device section 371# ********************************************************************** 372 373# Any number of graphics device sections may be present 374 375Section "Device" 376 377# The Identifier must be present. 378 379 Identifier "Generic VESA" 380 381# The Driver line must be present. When using run-time loadable driver 382# modules, this line instructs the server to load the specified driver 383# module. Even when not using loadable driver modules, this line 384# indicates which driver should interpret the information in this section. 385 386 Driver "vesa" 387 388# The chipset line is optional in most cases. It can be used to override 389# the driver's chipset detection, and should not normally be specified. 390 391# Chipset "generic" 392 393# Various other lines can be specified to override the driver's automatic 394# detection code. In most cases they are not needed. 395 396# VideoRam 256 397# Clocks 25.2 28.3 398 399# The BusID line is used to specify which of possibly multiple devices 400# this section is intended for. When this line isn't present, a device 401# section can only match up with the primary video device. For PCI 402# devices a line like the following could be used. This line should not 403# normally be included unless there is more than one video device 404# intalled. 405 406# BusID "PCI:0:10:0" 407 408# Various option lines can be added here as required. Some options 409# are more appropriate in Screen sections, Display subsections or even 410# Monitor sections. 411 412# Option "hw cursor" "off" 413 414EndSection 415 416Section "Device" 417 Identifier "any supported Trident chip" 418 Driver "trident" 419EndSection 420 421Section "Device" 422 Identifier "MGA Millennium I" 423 Driver "mga" 424 Option "hw cursor" "off" 425 BusID "PCI:0:10:0" 426EndSection 427 428Section "Device" 429 Identifier "MGA G200 AGP" 430 Driver "mga" 431 BusID "PCI:1:0:0" 432 Option "pci retry" 433EndSection 434 435 436# ********************************************************************** 437# Screen sections. 438# ********************************************************************** 439 440# Any number of screen sections may be present. Each describes 441# the configuration of a single screen. A single specific screen section 442# may be specified from the X server command line with the "-screen" 443# option. 444 445Section "Screen" 446 447# The Identifier, Device and Monitor lines must be present 448 449 Identifier "Screen 1" 450 Device "Generic VESA" 451 Monitor "Generic Monitor" 452 453# The favoured Depth and/or Bpp may be specified here 454 455 DefaultDepth 8 456 457 SubSection "Display" 458 Depth 8 459 Modes "640x480" 460 ViewPort 0 0 461 Virtual 800 600 462 EndSubsection 463 464 SubSection "Display" 465 Depth 4 466 Modes "640x480" 467 EndSubSection 468 469 SubSection "Display" 470 Depth 1 471 Modes "640x480" 472 EndSubSection 473 474EndSection 475 476 477Section "Screen" 478 Identifier "Screen MGA1" 479 Device "MGA Millennium I" 480 Monitor "Generic Monitor" 481 Option "no accel" 482 DefaultDepth 16 483# DefaultDepth 24 484 485 SubSection "Display" 486 Depth 8 487 Modes "1280x1024" 488 Option "rgb bits" "8" 489 Visual "StaticColor" 490 EndSubSection 491 SubSection "Display" 492 Depth 16 493 Modes "1280x1024" 494 EndSubSection 495 SubSection "Display" 496 Depth 24 497 Modes "1280x1024" 498 EndSubSection 499EndSection 500 501 502Section "Screen" 503 Identifier "Screen MGA2" 504 Device "MGA G200 AGP" 505 Monitor "Generic Monitor" 506 DefaultDepth 8 507 508 SubSection "Display" 509 Depth 8 510 Modes "1280x1024" 511 Option "rgb bits" "8" 512 Visual "StaticColor" 513 EndSubSection 514EndSection 515 516 517# ********************************************************************** 518# ServerLayout sections. 519# ********************************************************************** 520 521# Any number of ServerLayout sections may be present. Each describes 522# the way multiple screens are organised. A specific ServerLayout 523# section may be specified from the X server command line with the 524# "-layout" option. In the absence of this, the first section is used. 525# When now ServerLayout section is present, the first Screen section 526# is used alone. 527 528Section "ServerLayout" 529 530# The Identifier line must be present 531 532 Identifier "Main Layout" 533 534# Each Screen line specifies a Screen section name, and optionally 535# the relative position of other screens. The four names after 536# primary screen name are the screens to the top, bottom, left and right 537# of the primary screen. In this example, screen 2 is located to the 538# right of screen 1. 539 540 Screen "Screen MGA 1" "" "" "" "Screen MGA 2" 541 Screen "Screen MGA 2" "" "" "Screen MGA 1" "" 542 543# Each InputDevice line specifies an InputDevice section name and 544# optionally some options to specify the way the device is to be 545# used. Those options include "CorePointer", "CoreKeyboard" and 546# "SendCoreEvents". In this example, "Mouse1" is the core pointer, 547# and "Mouse2" is an extended input device that also generates core 548# pointer events (i.e., both mice will move the standard pointer). 549 550 InputDevice "Mouse1" "CorePointer" 551 InputDevice "Mouse2" "SendCoreEvents" 552 InputDevice "Keyboard1" "CoreKeyboard" 553 554EndSection 555 556 557Section "ServerLayout" 558 Identifier "another layout" 559 Screen "Screen 1" 560 Screen "Screen MGA 1" 561 InputDevice "Mouse1" "CorePointer" 562 InputDevice "Keyboard1" "CoreKeyboard" 563EndSection 564 565 566Section "ServerLayout" 567 Identifier "simple layout" 568 Screen "Screen 1" 569 InputDevice "Mouse1" "CorePointer" 570 InputDevice "Keyboard1" "CoreKeyboard" 571EndSection 572 573