# $XFree86: xc/programs/Xserver/hw/xfree86/XF86Conf.cpp,v 3.43 1999/12/03 19:17:20 eich Exp $ # # Copyright (c) 1994-1998 by The XFree86 Project, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF # OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. # # Except as contained in this notice, the name of the XFree86 Project shall # not be used in advertising or otherwise to promote the sale, use or other # dealings in this Software without prior written authorization from the # XFree86 Project. # # $XConsortium: XF86Conf.cpp /main/22 1996/10/23 11:43:51 kaleb $ # ********************************************************************** # This is a sample configuration file only, intended to illustrate # what a config file might look like. Refer to the XF86Config(4/5) # man page for details about the format of this file. This man page # is installed as /usr/X11R6/man/man5/XF86Config.5x # ********************************************************************** # The ordering of sections is not important in version 4.0 and later. # ********************************************************************** # Files section. This allows default font and rgb paths to be set # ********************************************************************** Section "Files" # The location of the RGB database. Note, this is the name of the # file minus the extension (like ".txt" or ".db"). There is normally # no need to change the default. RgbPath "/usr/X11R6/lib/X11/rgb" # Multiple FontPath entries are allowed (which are concatenated together), # as well as specifying multiple comma-separated entries in one FontPath # command (or a combination of both methods) # FontPath "/usr/X11R6/lib/X11/fonts/TrueType/" # FontPath "/usr/X11R6/lib/X11/fonts/japanese" FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" # ModulePath can be used to set a search path for the X server modules. # The default path is shown here. ModulePath "/usr/X11R6/lib/modules" EndSection # ********************************************************************** # Module section -- this is an optional section which is used to specify # which run-time loadable modules to load when the X server starts up. # ********************************************************************** Section "Module" # This loads the miscellaneous extensions module, and disables # initialisation of the XFree86-DGA extension within that module. SubSection "extmod" Option "omit xfree86-dga" EndSubSection # This loads the DBE extension module. Load "dbe" # This loads the Type1 and FreeType font modules Load "type1" Load "freetype" # Load "shadow" Load "fb" # Load "fbdevhw" EndSection # ********************************************************************** # Server flags section. This contains various server-wide Options. # ********************************************************************** Section "ServerFlags" # Uncomment this to cause a core dump at the spot where a signal is # received. This may leave the console in an unusable state, but may # provide a better stack trace in the core dump to aid in debugging # Option "NoTrapSignals" # Uncomment this to disable the server abort sequence # This allows clients to receive this key event. # Option "DontZap" # Uncomment this to disable the / mode switching # sequences. This allows clients to receive these key events. # Option "DontZoom" # Uncomment this to disable tuning with the xvidtune client. With # it the client can still run and fetch card and monitor attributes, # but it will not be allowed to change them. If it tries it will # receive a protocol error. # Option "DisableVidModeExtension" # Uncomment this to enable the use of a non-local xvidtune client. # Option "AllowNonLocalXvidtune" # Uncomment this to disable dynamically modifying the input device # (mouse and keyboard) settings. # Option "DisableModInDev" # Uncomment this to enable the use of a non-local client to # change the keyboard or mouse settings (currently only xset). # Option "AllowNonLocalModInDev" # Set the basic blanking screen saver timeout. Option "blank time" "10" # 10 minutes # Set the DPMS timeouts. These are set here because they are global # rather than screen-specific. These settings alone don't enable DPMS. # It is enabled per-screen (or per-monitor), and even then only when # the driver supports it. Option "standby time" "20" Option "suspend time" "30" Option "off time" "60" # On some platform the server needs to estimate the sizes of PCI # memory and pio ranges. This is done by assuming that PCI ranges # don't overlap. Some broken BIOSes tend to set ranges of inactive # devices wrong. Here one can adjust how aggressive the assumptions # should be. Default is 0. # Option "EstimateSizesAggresively" "0" EndSection # ********************************************************************** # Input devices # ********************************************************************** # ********************************************************************** # Core keyboard's InputDevice section # ********************************************************************** Section "InputDevice" Identifier "Keyboard1" # Driver "keyboard" Driver "void" # For most OSs the protocol can be omitted (it defaults to "Standard"). # When using XQUEUE (only for SVR3 and SVR4, but not Solaris), comment # out the above line, and uncomment the following line. # Option "Protocol" "Xqueue" # Set the keyboard auto repeat parameters. Not all platforms implement # this. # Option "AutoRepeat" "500 5" # Specifiy which keyboard LEDs can be user-controlled (eg, with xset(1)). # Option "Xleds" "1 2 3" # To disable the XKEYBOARD extension, uncomment XkbDisable. Option "XkbDisable" # To customise the XKB settings to suit your keyboard, modify the # lines below (which are the defaults). For example, for a European # keyboard, you will probably want to use one of: # # Option "XkbModel" "pc102" # Option "XkbModel" "pc105" # # If you have a Microsoft Natural keyboard, you can use: # # Option "XkbModel" "microsoft" # # If you have a US "windows" keyboard you will want: # # Option "XkbModel" "pc104" # # Then to change the language, change the Layout setting. # For example, a german layout can be obtained with: # # Option "XkbLayout" "de" # # or: # # Option "XkbLayout" "de" # Option "XkbVariant" "nodeadkeys" # # If you'd like to switch the positions of your capslock and # control keys, use: # # Option "XkbOptions" "ctrl:swapcaps" # These are the default XKB settings for XFree86 # # Option "XkbRules" "xfree86" # Option "XkbModel" "pc101" # Option "XkbLayout" "us" # Option "XkbVariant" "" # Option "XkbOptions" "" EndSection # ********************************************************************** # Core Pointer's InputDevice section # ********************************************************************** Section "InputDevice" # Identifier and driver Identifier "Mouse1" Driver "void" # The mouse protocol and device. The device is normally set to /dev/mouse, # which is usually a symbolic link to the real device. # Option "Protocol" "Microsoft" Option "Protocol" "MouseMan" # Option "Device" "/dev/ttyD1" Option "Device" "/dev/ttyD0" # Option "Device" "/dev/input/mouse0" # On platforms where PnP mouse detection is supported the following # protocol setting can be used when using a newer PnP mouse: # Option "Protocol" "Auto" # When using mouse connected to a PS/2 port (aka "MousePort), set the # the protocol as follows. On some platforms some other settings may # be available. # Option "Protocol" "PS/2" # When using XQUEUE (only for SVR3 and SVR4, but not Solaris), use # the following instead of any of the lines above. The Device line # is not required in this case. # Option "Protocol" "Xqueue" # Baudrate and SampleRate are only for some older Logitech mice. In # almost every case these lines should be omitted. # Option "BaudRate" "9600" Option "BaudRate" "115200" # Option "SampleRate" "150" # Emulate3Buttons is an option for 2-button mice # Emulate3Timeout is the timeout in milliseconds (default is 50ms) Option "Emulate3Buttons" "no" # Option "Emulate3Timeout" "50" # Option "ZAxisMapping" "4 5" # ChordMiddle is an option for some 3-button Logitech mice, or any # 3-button mouse where the middle button generates left+right button # events. # Option "ChordMiddle" EndSection #Section "InputDevice" # Identifier "Mouse2" # Driver "mouse" # Option "Protocol" "MouseMan" # Option "Device" "/dev/mouse2" #EndSection # ********************************************************************** # Monitor section # ********************************************************************** # Any number of monitor sections may be present Section "Monitor" # The identifier line must be present. Identifier "Generic Monitor" # HorizSync is in kHz unless units are specified. # HorizSync may be a comma separated list of discrete values, or a # comma separated list of ranges of values. # NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S # USER MANUAL FOR THE CORRECT NUMBERS. # HorizSync 31.5 # typical for a single frequency fixed-sync monitor # HorizSync 30-64 # multisync # HorizSync 31.5, 35.2 # multiple fixed sync frequencies # HorizSync 15-25, 30-50 # multiple ranges of sync frequencies # VertRefresh is in Hz unless units are specified. # VertRefresh may be a comma separated list of discrete values, or a # comma separated list of ranges of values. # NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S # USER MANUAL FOR THE CORRECT NUMBERS. # VertRefresh 60 # typical for a single frequency fixed-sync monitor # VertRefresh 50-100 # multisync # VertRefresh 60, 65 # multiple fixed sync frequencies # VertRefresh 40-50, 80-100 # multiple ranges of sync frequencies # Modes can be specified in two formats. A compact one-line format, or # a multi-line format. # A generic VGA 640x480 mode (hsync = 31.5kHz, refresh = 60Hz) # These two are equivalent # ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525 Mode "640x480" DotClock 25.175 HTimings 640 664 760 800 VTimings 480 491 493 525 EndMode # These two are equivalent # ModeLine "1024x768i" 45 1024 1048 1208 1264 768 776 784 817 Interlace # Mode "1024x768i" # DotClock 45 # HTimings 1024 1048 1208 1264 # VTimings 768 776 784 817 # Flags "Interlace" # EndMode # If a monitor has DPMS support, that can be indicated here. This will # enable DPMS when the montor is used with drivers that support it. # Option "dpms" # If a monitor requires that the sync signals be superimposed on the # green signal, the following option will enable this when used with # drivers that support it. Only a relatively small range of hardware # (and drivers) actually support this. # Option "sync on green" EndSection # ********************************************************************** # Graphics device section # ********************************************************************** # Any number of graphics device sections may be present Section "Device" # The Identifier must be present. Identifier "Generic VGA" # The Driver line must be present. When using run-time loadable driver # modules, this line instructs the server to load the specified driver # module. Even when not using loadable driver modules, this line # indicates which driver should interpret the information in this section. Driver "fbdev" # The chipset line is optional in most cases. It can be used to override # the driver's chipset detection, and should not normally be specified. # Chipset "generic" # Various other lines can be specified to override the driver's automatic # detection code. In most cases they are not needed. # VideoRam 256 # Clocks 25.2 28.3 # The BusID line is used to specify which of possibly multiple devices # this section is intended for. When this line isn't present, a device # section can only match up with the primary video device. For PCI # devices a line like the following could be used. This line should not # normally be included unless there is more than one video device # intalled. # BusID "PCI:0:10:0" # Various option lines can be added here as required. Some options # are more appropriate in Screen sections, Display subsections or even # Monitor sections. # Option "hw cursor" "off" EndSection # ********************************************************************** # Screen sections. # ********************************************************************** # Any number of screen sections may be present. Each describes # the configuration of a single screen. A single specific screen section # may be specified from the X server command line with the "-screen" # option. Section "Screen" # The Identifier, Device and Monitor lines must be present Identifier "Screen 1" Device "Generic VGA" Monitor "Generic Monitor" # The favoured Depth and/or Bpp may be specified here DefaultDepth 15 SubSection "Display" Depth 15 Modes "640x480" # fbbpp 32 # Modes "default" # ViewPort 0 0 # Virtual 800 600 EndSubsection EndSection # ********************************************************************** # ServerLayout sections. # ********************************************************************** # Any number of ServerLayout sections may be present. Each describes # the way multiple screens are organised. A specific ServerLayout # section may be specified from the X server command line with the # "-layout" option. In the absence of this, the first section is used. # When now ServerLayout section is present, the first Screen section # is used alone. #Section "ServerLayout" # ## The Identifier line must be present # # Identifier "Main Layout" # ## Each Screen line specifies a Screen section name, and optionally ## the relative position of other screens. The four names after ## primary screen name are the screens to the top, bottom, left and right ## of the primary screen. In this example, screen 2 is located to the ## right of screen 1. # # Screen "Screen MGA 1" "" "" "" "Screen MGA 2" # Screen "Screen MGA 2" "" "" "Screen MGA 1" "" # ## Each InputDevice line specifies an InputDevice section name and ## optionally some options to specify the way the device is to be ## used. Those options include "CorePointer", "CoreKeyboard" and ## "SendCoreEvents". In this example, "Mouse1" is the core pointer, ## and "Mouse2" is an extended input device that also generates core ## pointer events (i.e., both mice will move the standard pointer). # # InputDevice "Mouse1" "CorePointer" # InputDevice "Mouse2" "SendCoreEvents" # InputDevice "Keyboard1" "CoreKeyboard" # #EndSection Section "ServerLayout" Identifier "simple layout" Screen "Screen 1" InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard1" "CoreKeyboard" EndSection