XF86Config(4/5)

NAME
XF86Config - Configuration File for XFree86

DESCRIPTION
XFree86 uses a configuration file called XF86Config for its initial setup. This configuration file is searched for in the following places:

/etc/XF86Config
<XRoot>/lib/X11/XF86Config.hostname
<XRoot>/lib/X11/XF86Config

where <XRoot> refers to the root of the X11 install tree. When an X server is started by a `root' user, it will first search for an XF86Config file in that user's home directory.

This file is composed of a number of sections. Each section has the form:

Section "SectionName"
   SectionEntry
   ...
EndSection

The section names are:

Files (File pathnames)
Module (Dynamic module loading)
ServerFlags (Server flags)
Keyboard (Keyboard configuration)
Pointer (Pointer configuration)
Monitor (Monitor description)
Device (Graphics device description)
Screen (Screen configuration)
XInput (Extended Input devices configuration)

The Files section is used to specify the default font path and the path to the RGB database. These paths can also be set from the command line (see Xserver(1)). The entries available for this section are:

FontPath "path"
    sets the search path for fonts. This path is a comma separated list of directories which the X server searches for font databases. Multiple FontPath entries may be specified, and they will be concatenated to build up the fontpath used by the server.

    X11R6 allows the X server to request fonts from a font server. A font server is specified by placing a "<trans>/<hostname>:<port_number>" entry into the fontpath. For example, the fontpath "/usr/X11R6/lib/X11/fonts/misc/,tcp/zok:7100" tells the X server to first try to locate the font in the local directory /usr/X11R6/lib/X11/fonts/misc. If that fails, then request the font from the font server running on machine zok listening for connections on TCP port number 7100.

RGBPath "path"
    sets the path name for the RGB color database.

ModulePath "path"
    sets the search path for dynamic modules. This path is a comma separated list fo directories which the X server searches for dynamic module loading in the order specified. Multiple ModulePath entries may be specified, and they will be concatenated to build the modulepath used by the server.

The Module section is used to specify which dynamic modules should be loaded. At present dynamic modules are only used for XInput devices, and are only supported on some systems (currently Linux ELF, FreeBSD 2.x and NetBSD 1.x). The entry available for this section is:

Load "module"
    This instructs the server to load "module". If the module is not specified with a full pathname, the directories specified in the ModulePath are searched. Modules are currently available to support extended input devices. The names of these are:

    xf86Elo.so
    xf86MuTouch.so
    xf86Jstk.so
    xf86Wacom.so
    xf86Summa.so
    xf86AceCad.so
    xf86Calcomp.so
    xf86Dial.so
    The PEX and XIE extension are also be available as modules on some systems. The names for these are:

    pex5.so
    xie.so
    For an up-to-date listing, check in <XRoot>/lib/modules.

The ServerFlags section is used to specify some miscellaneous X server options. The entries available for this section are:

NoTrapSignals
    This prevents the X server from trapping a range of unexpected fatal signals and exiting cleanly. Instead, the X server will die and drop core where the fault occurred. The default behaviour is for the X server exit cleanly, but still drop a core file. In general you never want to use this option unless you are debugging an X server problem.

DontZap
    This disallows the use of the Ctrl+Alt+Backspace sequence. This sequence allows you to terminate the X server. Setting DontZap allows this key sequence to be passed to clients.

DontZoom
    This disallows the use of the Ctrl+Alt+Keypad-Plus and Ctrl+Alt+Keypad-Minus sequences. These sequences allows you to switch between video modes. Setting DontZoom allows these key sequences to be passed to clients.

AllowNonLocalXvidtune
    This allows the xvidtune client to connect from another host. By default non-local connections are not allowed.

DisableVidMode
    This disables the parts of the VidMode extension used by the xvidtune client that can be used to change the video modes.

AllowNonLocalModInDev
    This allows a client to connect from another host and change keyboard and mouse settings in the running server. By default non-local connections are not allowed.

DisableModInDev
    This disables the parts of the Misc extension that can be used to modify the input device settings dynamically.

AllowMouseOpenFail
    This allows the server to start up even if the mouse device can't be opened/initialised.

The Keyboard section is used to specify the keyboard input device, parameters and some default keyboard mapping options. The entries available for this section are:

Protocol "kbd-protocol"
    kbd-protocol may be either Standard or Xqueue. Xqueue is specified when using the event queue driver on SVR3 or SVR4.

AutoRepeat delay rate
    changes the behavior of the autorepeat of the keyboard. This does not work on all platforms.

ServerNumLock
    forces the X server to handle the numlock key internally. The X server sends a different set of keycodes for the numpad when the numlock key is active. This enables applications to make use of the numpad.

LeftAlt mapping
RightAlt mapping
AltGr mapping
ScrollLock mapping
RightCtl mapping
    Allows a default mapping to be set for the above keys (note that AltGr is a synonym for RightAlt). The values that may be specified for mapping are:

    Meta
    Compose
    ModeShift
    ModeLock
    ScrollLock
    Control

    The default mapping when none of these options are specified is:

    LeftAlt     Meta
    RightAlt    Meta
    ScrollLock  Compose
    RightCtl    Control

XLeds led ...
    makes led available for clients instead of using the traditional function (Scroll Lock, Caps Lock & Num Lock). led is a list of numbers in the range 1 to 3.

VTSysReq
    enables the SYSV-style VT switch sequence for non-SYSV systems which support VT switching. This sequence is Alt-SysRq followed by a function key (Fn). This prevents the X server trapping the keys used for the default VT switch sequence.

VTInit "command"
    Runs command after the VT used by the server has been opened. The command string is passed to "/bin/sh -c", and is run with the real user's id with stdin and stdout set to the VT. The purpose of this option is to allow system dependent VT initialisation commands to be run. One example is a command to disable the 2-key VT switching sequence which is the default on some systems.

XkbDisable
    Turns the XKEYBOARD extension off, equivalent to using the -kb command line option.

XkbRules "rulesfile"
XkbModel "model"
XkbLayout "layout"
XkbVariant "variant"
XkbOptions "optionlist"
    These specify the definitions which are used to determine which XKEYBOARD components to use. The optionlist, should be a comma separated list of options. The default mappings for each these are:

    XkbRules     "xfree86"
    XkbModel     "pc101"
    XkbLayout    "us"
    XkbVariant   ""
    XkbOptions   ""

This is the preferred method of specifying the keyboard configuration, however, you can also specify the components directly with:

XkbKeymap "keymap"
XkbKeycodes "keycodes"
XkbTypes "types"
XkbCompat "compat"
XkbSymbols "symbols"
XkbGeometry "geometry"
    If you specify only some of the components, the remaining components will use these default values:

    XkbKeymap    none
    XkbKeycodes  "xfree86"
    XkbTypes     "default"
    XkbCompat    "default"
    XkbSymbols   "us(pc101)"
    XkbGeometry  "pc"

The Pointer section is used to specify the pointer device and parameters. The entries available for this section are:

Protocol "protocol-type"
    specifies the pointer device protocol type. The protocol types available are:

    Auto
    BusMouse
    GlidePoint
    GlidePointPS/2
    IntelliMouse
    IMPS/2
    Logitech
    Microsoft
    MMHitTab
    MMSeries
    Mouseman
    MouseManPlusPS/2
    MouseSystems
    NetMousePS/2
    NetScrollPS/2
    OSMouse
    PS/2
    SysMouse
    ThinkingMouse
    ThinkingMousePS/2
    USB
    Wsmouse
    Xqueue

    One should specify BusMouse for the Logitech bus mouse and bus or InPort mice from Microsoft and ATI. The Logitech protocol is for old serial mouse models from Logitech. Many newer Logitech serial mice use either the Microsoft or MouseMan protocol. Xqueue should be specified here if it was used in the Keyboard section. OSMouse refers to the event-driver mouse interface available on SCO's SVR3, and the mouse interface provided for OS/2. This may optionally be followed by a number specifying the number of buttons the mouse has. SysMouse refers to the system mouse device, /dev/sysmouse, in FreeBSD.

    The PS/2 and other XXXXPS/2 protocol types are for PS/2 mice. PS/2 should always work with any PS/2 mouse regardless of the model of the PS/2 mouse. The other XXXXPS/2 protocol types may or may not be supported by your OS.

    The wsouse protocol is for mices handled by the wscons console driver in NetBSD 1.4 and later. It should be used with the /dev/wsmouse0 device. Refer to the wsmouse(4) manual page for details.

    The Usb protocol is for USB mices on OpenBSD 2.6 and later. It should be used with the /dev/uhid0 device. Refer to the uhid(4) and usb(4) manual pages for details.

    The rest of the protocol types are for serial mice. If your serial mouse is of a relatively new model, you may specify Auto, then the X server will try to select an appropriate protocol type automatically. The Auto protocol type may also work for the PS/2 and bus mice on some OSs.

Device "pointer-dev"
    specifies the device the server should open for pointer input (eg, /dev/tty00 or /dev/mouse). A device should not be specified when using the Xqueue or OSMouse protocols.

Port "pointer-dev"
    is an alternate form of the Device entry.

BaudRate rate
    sets the baudrate of the serial mouse to rate. For mice that allow dynamic speed adjustments (like older Logitechs) the baudrate is changed in the mouse. Otherwise the rate is simply set on the computer's side to allow mice with non-standard rates (the standard rate is 1200). For 99% of mice you should not set this to anything other than the default (1200).

Buttons N
    This option tells the X server the number of buttons on the mouse. Currently there is no reliable way to automatically detect the correct number. This option is the only means for the X server to obtain it. The default value is three. Note that if you intend to assign Z axis movement to button events using the ZAxisMapping option below, you need to take account of those buttons into N too.

Emulate3Buttons
    enables the emulation of the third mouse button for mice which only have two physical buttons. The third button is emulated by pressing both buttons simultaneously.

Emulate3Timeout timeout
    sets the time (in milliseconds) that the server waits before deciding if two buttons were pressed ``simultaneously'' when 3 button emulation is enabled. The default timeout is 50ms.

ChordMiddle
    handles mice which send left+right events when the middle button is used (like some Logitech Mouseman mice).

SampleRate rate
    sets the number of motion/button-events the mouse sends per second. This is currently only supported for some Logitech mice.

Resolution count
    sets the resolution of the device in counts per inch. This is not always supported by all the mice.

ClearDTR
    This option clears the DTR line on the serial port used by the mouse. This option is only valid for a mouse using the MouseSystems protocol. Some dual-protocol mice require DTR to be cleared to operate in MouseSystems mode. Note, in versions of XFree86 prior to 2.1, this option also cleared the RTS line. A separate ClearRTS option has since been added for mice which require this.

ClearRTS
    This option clears the RTS line on the serial port used by the mouse. This option is only valid for a mouse using the MouseSystems protocol. Some dual-protocol mice require both DTR and RTS to be cleared to operate in MouseSystems mode. Both the ClearDTR and ClearRTS options should be used for such mice.

ZAxisMapping X

ZAxisMapping Y

ZAxisMapping N M
    Some mouse devices have a wheel or a roller. Its action is reported as the Z (third) axis movement in the X server. The Z axis movement can be assigned to another axis (X or Y) or a pair of buttons (the button N for negative movement and M for positive movement) with this option.

The Monitor sections are used to define the specifications of a monitor and a list of video modes suitable for use with a monitor. More than one Monitor section may be present in an XF86Config file. The entries available for this section are:

Identifier "ID string"
    This specifies a string by which the monitor can be referred to in a later Screen section. Each Monitor section should have a unique ID string.

VendorName "vendor"
    This optional entry specifies the monitor's manufacturer.

ModelName "model"
    This optional entry specifies the monitor's model.

HorizSync horizsync-range
    gives the range(s) of horizontal sync frequencies supported by the monitor. horizsync-range may be a comma separated list of either discrete values or ranges of values. A range of values is two values separated by a dash. By default the values are in units of kHz. They may be specified in MHz or Hz if MHz or Hz is added to the end of the line. The data given here is used by the X server to determine if video modes are within the specifications of the monitor. This information should be available in the monitor's handbook.

VertRefresh vertrefresh-range
    gives the range(s) of vertical refresh frequencies supported by the monitor. vertrefresh-range may be a comma separated list of either discrete values or ranges of values. A range of values is two values separated by a dash. By default the values are in units of Hz. They may be specified in MHz or kHz if MHz or kHz is added to the end of the line. The data given here is used by the X server to determine if video modes are within the specifications of the monitor. This information should be available in the monitor's handbook.

Gamma gamma-value(s)
    This is an optional entry that can be used to specify the gamma correction for the monitor. It may be specified as either a single value or as three separate RGB values. Not all X servers are capable of using this information.

Mode "name"
    indicates the start of a multi-line video mode description. The mode description is terminated with an EndMode line. The mode description consists of the following entries:

    DotClock clock
        is the dot clock rate to be used for the mode.

    HTimings hdisp hsyncstart hsyncend htotal
        specifies the horizontal timings for the mode.

    VTimings vdisp vsyncstart vsyncend vtotal
        specifies the vertical timings for the mode.

    Flags "flag" ...
        specifies an optional set of mode flags. "Interlace" indicates that the mode is interlaced. "DoubleScan" indicates a mode where each scanline is doubled. "+HSync" and "-HSync" can be used to select the polarity of the HSync signal. "+VSync" and "-VSync" can be used to select the polarity of the VSync signal. "Composite", can be used to specify composite sync on hardware where this is supported. Additionally, on some hardware, "+CSync" and "-CSync" may be used to select the composite sync polarity.

    HSkew hskew
        specifies the number of pixels (towards the right edge of the screen) by which the display enable signal is to be skewed. Not all servers use this information. This option might become necessary to override the default value supplied by the server (if any). "Roving" horizontal lines indicate this value needs to be increased. If the last few pixels on a scan line appear on the left of the screen, this value should be decreased.

Modeline "name" mode-description
    is a single line format for specifying video modes. The mode-description is in four sections, the first three of which are mandatory. The first is the pixel clock. This is a single number specifying the pixel clock rate for the mode. The second section is a list of four numbers specifying the horizontal timings. These numbers are the hdisp, hsyncstart, hsyncend, htotal. The third section is a list of four numbers specifying the vertical timings. These numbers are vdisp, vsyncstart, vsyncend, vtotal. The final section is a list of flags specifying other characteristics of the mode. Interlace indicates that the mode is interlaced. DoubleScan indicates a mode where each scanline is doubled. +HSync and -HSync can be used to select the polarity of the HSync signal. +VSync and -VSync can be used to select the polarity of the VSync signal. Composite can be used to specify composite sync on hardware where this is supported. Additionally, on some hardware, +CSync and -CSync may be used to select the composite sync polarity. The HSkew option mentioned above can also be used here.

The Device sections are used to define a graphics device (video board). More than one Device section may be present in an XF86Config file. The entries available for this section are:

Identifier "ID string"
    This specifies a string by which the graphics device can be referred to in a later Screen section. Each Device section should have a unique ID string.

VendorName "vendor"
    This optional entry specifies the graphics device's manufacturer.

BoardName "model"
    This optional entry specifies the name of the graphics device.

Chipset "chipset-type"
    This optional entry specifies the chipset used on the graphics board. In most cases this entry is not required because the X servers will probe the hardware to determine the chipset type.

Ramdac "ramdac-type"
    This optional entry specifies the type of RAMDAC used on the graphics board. This is only used by a few of the X servers, and in most cases it is not required because the X servers will probe the hardware to determine the RAMDAC type where possible.

DacSpeed speed
    This optional entry specifies the RAMDAC speed rating (which is usually printed on the RAMDAC chip). The speed is in MHz. This is only used by a few of the X servers, and only needs to be specified when the speed rating of the RAMDAC is different from the default built in to the X server.

Clocks clock ...
    specifies the dotclocks that are on your graphics board. The clocks are in MHz, and may be specified as a floating point number. The value is stored internally to the nearest kHz. The ordering of the clocks is important. It must match the order in which they are selected on the graphics board. Multiple Clocks lines may be specified. For boards with programmable clock chips, the ClockChip entry should be used instead of this. A Clocks entry is not mandatory for boards with non-programmable clock chips, but is highly recommended because it prevents the clock probing phase during server startup. This clock probing phase can cause problems for some monitors.

ClockChip "clockchip-type"
    This optional entry is used to specify the clock chip type on graphics boards which have a programmable clock generator. Only a few X servers support programmable clock chips. For details, see the appropriate X server manual page.

ClockProg "command" [textclock]
    This optional entry runs command to set the clock on the graphics board instead of using the internal code. The command string must consist of the full pathname (and no flags). When using this option, and no Clocks entry is specified, it is assumed that the card has a fully programmable clock generator; for a card with a set of preset clocks a Clocks entry is required to specify which clock values are to be made available to the server (up to 128 clocks may be specified). The optional textclock value is used to tell the server that command must be run to restore the textmode clock at server exit (or when VT switching). textclock must match one of the values in the Clocks entry. This parameter is required when the clock used for text mode is a programmable clock. The command is run with the real user's id with stdin and stdout set to the graphics console device. Two arguments are passed to the command. The first is the clock frequency in MHz as a floating point number and the second is the index of the clock in the Clocks entry. The command should return an exit status of 0 when successful, and something in the range 1-254 otherwise. The command is run when the initial graphics mode is set and when changing screen resolution with the hot-key sequences. If the program fails at initialisation the server exits. If it fails during a mode switch, the mode switch is aborted but the server keeps running. It is assumed that if the command fails the clock has not been changed.

Option "optionstring"
    This optional entry allows the user to select certain options provided by the drivers. Multiple Option entries may be given. The supported values for optionstring are given in the appropriate X server manual pages and/or the chipset-specific README files.

VideoRam mem
    This optional entry specifies the amount of videoram that is installed on the graphics board. This is measured in kBytes. In most cases this is not required because the X server probes the graphics board to determine this quantity.

BIOSBase baseaddress
    This optional entry specifies the base address of the video BIOS for the VGA board. This address is normally 0xC0000, which is the default the X servers will use. Some systems, particularly those with on-board VGA hardware, have the BIOS located at an alternate address, usually 0xE0000. If your video BIOS is at an address other than 0xC0000, you must specify the base address in the XF86Config file. Note that some X servers don't access the BIOS at all, and those which do only use the BIOS when searching for information during the hardware probe phase.

MemBase baseaddress
    This optional entry specifies the memory base address of a graphics board's linear frame buffer. This entry is only used by a few X servers, and the interpretation of this base address may be different for different X servers. Refer to the appropriate X server manual page for details.

IOBase baseaddress
    This optional entry specifies the IO base address. This entry is only used for a few X servers. Refer to the appropriate X server manual page for details.

DACBase baseaddress
    This optional entry specifies the DAC base address. This entry is only used for a few X servers. Refer to the appropriate X server manual page for details.

POSBase baseaddress
    This optional entry specifies the POS base address. This entry is only used for a few X servers. Refer to the appropriate X server manual page for details.

COPBase baseaddress
    This optional entry specifies the coprocessor base address. This entry is only used for a few X servers. Refer to the appropriate X server manual page for details.

VGABase baseaddress
    This optional entry specifies the VGA memory base address. This entry is only used for a few X servers. Refer to the appropriate X server manual page for details.

Instance number
    This optional entry specifies the instance (which indicates if the chip is integrated on the motherboard or on an expansion card). This entry is only used for a few X servers. Refer to the appropriate X server manual page for details.

Speedup "selection"
    This optional entry specifies the selection of speedups to be enabled. This entry is only used for a few X servers. Refer to the appropriate X server manual page for details.

S3MNAdjust M N
    This optional entry is specific to the S3 X server. For details, refer to the XF86_S3(1) manual page.

S3MClk clock
    This optional entry is specific to the S3 X server. For details, refer to the XF86_S3(1) manual page.

S3RefClock clock
    This optional entry is specific to the S3 X server. For details, refer to the XF86_S3(1) manual page.

The Screen sections are used to specify which graphics boards and monitors will be used with a particular X server, and the configuration in which they are to be used. The entries available for this section are:

Driver "driver-name"
    Each Screen section must begin with a Driver entry, and the driver-name given in each Screen section must be unique. The driver name determines which X server (or driver type within an X server when an X server supports more than one head) reads and uses a particular Screen section. The driver names available are:

    Accel
    Mono
    SVGA
    VGA2
    VGA16

    Accel is used by all the accelerated X servers (see XF86_Accel(1)). Mono is used by the non-VGA mono drivers in the 2-bit and 4-bit X servers (see XF86_Mono(1) and XF86_VGA16(1)). VGA2 and VGA16 are used by the VGA drivers in the 2-bit and 4-bit X servers respectively. SVGA is used by the XF86_SVGA X server.

Device "device-id"
    specifies which graphics device description is to be used.

Monitor "monitor-id"
    specifies which monitor description is to be used.

DefaultColorDepth bpp-number
    specifies which color depth the server should use, when no -bpp command line parameter was given.

ScreenNo scrnum
    This optional entry overrides the default screen numbering in a multi-headed configuration. The default numbering is determined by the ordering of the Screen sections in the XF86Config file. To override this, all relevant Screen sections must have this entry specified.

BlankTime time
    sets the inactivity timeout for the blanking phase of the screensaver. time is in minutes, and the default is 10. This is equivalent to the Xserver's `-s' flag, and the value can be changed at run-time with xset(1).

StandbyTime time
    sets the inactivity timeout for the ``standby'' phase of DPMS mode. time is in minutes, the default is 20, and it can be changed at run-time with xset(1). This is only suitable for VESA DPMS compatible monitors, and is only supported currently by some Xservers. The "power_saver" Option must be set for this to be enabled.

SuspendTime time
    sets the inactivity timeout for the ``suspend'' phase of DPMS mode. time is in minutes, the default is 30, and it can be changed at run-time with xset(1). This is only suitable for VESA DPMS compatible monitors, and is only supported currently by some Xservers. The "power_saver" Option must be set for this to be enabled.

OffTime time
    sets the inactivity timeout for the ``off'' phase of DPMS mode. time is in minutes, the default is 40, and it can be changed at run-time with xset(1). This is only suitable for VESA DPMS compatible monitors, and is only supported currently by some Xservers. The "power_saver" Option must be set for this to be enabled.

SubSection "Display"
    This entry is a subsection which is used to specify some display specific parameters. This subsection is terminated by an EndSubSection entry. For some X servers and drivers (those requiring a list of video modes) this subsection is mandatory. For X servers which support multiple display depths, more than one Display subsection may be present. When multiple Display subsections are present, each must have a unique Depth entry. The entries available for the Display subsection are:

    Depth bpp
        This entry is mandatory when more than one Display subsection is present in a Screen section. When only one Display subsection is present, it specifies the default depth that the X server will run at. When more than one Display subsection is present, the depth determines which gets used by the X server. The subsection used is the one matching the depth at which the X server is run at. Not all X servers (or drivers) support more than one depth. Permitted values for bpp are 8, 15, 16, 24 and 32. Not all X servers (or drivers) support all of these values. bpp values of 24 and 32 are treated equivalently by those X servers which support them.

    Weight RGB
        This optional entry specifies the relative RGB weighting to be used for an X server running at 16bpp. This may also be specified from the command line (see XFree86(1)). Values supported by most 16bpp X servers are 555 and 565. For further details, refer to the appropriate X server manual page.

    Virtual xdim ydim
        This optional entry specifies the virtual screen resolution to be used. xdim must be a multiple of either 8 or 16 for most colour X servers, and a multiple of 32 for the monochrome X server. The given value will be rounded down if this is not the case. For most X servers, video modes which are too large for the specified virtual size will be rejected. If this entry is not present, the virtual screen resolution will be set to accommodate all the valid video modes given in the Modes entry. Some X servers do not support this entry. Refer to the appropriate X server manual pages for details.

    ViewPort x0 y0
        This optional entry sets the upper left corner of the initial display. This is only relevant when the virtual screen resolution is different from the resolution of the initial video mode. If this entry is not given, then the initial display will be centered in the virtual display area.

    Modes "modename" ...
        This entry is mandatory for most X servers, and it specifies the list of video modes to use. The video mode names must correspond to those specified in the appropriate Monitor section. Most X servers will delete modes from this list which don't satisfy various requirements. The first valid mode in this list will be the default display mode for startup. The list of valid modes is converted internally into a circular list. It is possible to switch to the next mode with Ctrl+Alt+Keypad-Plus and to the previous mode with Ctrl+Alt+Keypad-Minus.

    InvertVCLK "modename" 0|1
        This optional entry is specific to the S3 server only. It may be used to change the default VCLK invert/non-invert state for individual modes. If "modename" is "*" the setting applies to all modes unless unless overridden by later entries.

    EarlySC "modename" 0|1
        This optional entry is specific to the S3 server only. It may be used to change the default EarlySC setting for individual modes. This setting can affect screen wrapping. If "modename" is "*" the setting applies to all modes unless unless overridden by later entries.

    BlankDelay "modename" value1 value2
        This optional entry is specific to the S3 server only. It may be used to change the default blank delay settings for individual modes. This can affect screen wrapping. value1 and value2 must be integers in the range 0-7. If "modename" is "*" the setting applies to all modes unless unless overridden by later entries.

    Visual "visual-name"
        This optional entry sets the default root visual type. This may also be specified from the command line (see Xserver(1)). The visual types available for 8bpp X servers are (default is PseudoColor):

StaticGray
GrayScale
StaticColor
PseudoColor
TrueColor
DirectColor

    The visual type available for the 16bpp and 32bpp X servers is TrueColor.

    The visual type available for the 1bpp X server is StaticGray.

    The visual types available for the 4bpp X server are (default is StaticColor):

StaticGray
GrayScale
StaticColor
PseudoColor

    Option "optionstring"
        This optional entry allows the user to select certain options provided by the drivers. Multiple Option entries may be given. The supported values for optionstring are given in the appropriate X server manual pages and/or the chipset-specific README files.

    Black red green blue
        This optional entry allows the ``black'' colour to be specified. This is only supported with the VGA2 driver in the XF86_Mono server (for details see XF86_Mono(1)).

    White red green blue
        This optional entry allows the ``white'' colour to be specified. This is only supported with the VGA2 driver in the XF86_Mono server (for details see XF86_Mono(1)).

The optional XInput section is used to specify configuration options for the extended input devices. For some OSs, the extended device support is dynamically loaded, and in this case you need to specify which Modules to load in the Module section (this is documented above). Each extended device has its own subsection. To enable an extended device the corresponding subsection must appear. The subsections names are:

Joystick (only on supported systems ie. Linux, FreeBSD and NetBSD)
WacomStylus (stylus of a Wacom tablet)
WacomEraser (eraser of a Wacom tablet)
WacomCursor (cursor of a Wacom tablet)
Elographics (Elographics touchscreen)
MicrotouchFinger (Microtouch touchscreen operated with finger)
MicrotouchStylus (Microtouch touchscreen operated with stylus)
SummaSketch (SummaSketch tablet)
Mouse (Mouse)
DialBox (SGI Button Box)
AceCad (an AceCad tablet)
DrawingBoard (a Calcomp DrawingBoard tablet)
The Joystick subsection supports the following entries:

    Port "path"
        sets the path to the special file which represents the device driver.

    DeviceName "name"
        sets the name of the X device.

    TimeOut timeout
        sets the time (in milliseconds) between two polls of the device driver. The value given here may be overriden by the Operating System's joystick driver.

    MaximumXPosition value
        sets the maximum X value reported by the device driver.

    MinimumXPosition value
        sets the minimum X value reported by the device driver.

    MaximumYPosition value
        sets the maximum Y value reported by the device driver.

    MinimumYPosition value
        sets the minimum Y value reported by the device driver.

    CenterX value
        sets the X center reported by the device driver when the joystick is idle. If this value is omitted, it is assumed that the joystick is centered when it is first enabled.

    CenterY value
        sets the Y center reported by the device driver when the joystick is idle. If this value is omitted, it is assumed that the joystick is centered when it is first enabled.

    Delta value
        sets the maximum value reported to the X server. i.e. coordinates will be incremented of (+/-)value/2 at maximum deflection. This determines the sensitivity.

    AlwaysCore
        enables the sharing of the core pointer. When this feature is enabled, the device will take control of the core pointer (and thus will emit core events) and at the same time will be able, when asked so, to report extended events. You can use the last available integer feedback to control this feature. When the value of the feedback is zero, the feature is disabled. The feature is enabled for any other value.
Multiple instances of the Wacom devices can cohabit. It can be useful to define multiple devices with different active zones. The WacomStylus, WacomEraser and WacomCursor subsections support the following entries:

    Port "path"
        sets the path to the special file which represents serial line where the tablet is plugged. You have to specify it for each subsection with the same value if you want to have multiple devices with the same tablet. This must be the first entry of the subsection.

    DeviceName "name"
        sets the name of the X device.

    Suppress number
        sets the position increment under which not to transmit coordinates. This entry must be specified only in the first Wacom subsection if you have multiple devices for one tablet. If you don't specify this entry, the default value is computed to

    Mode Relative|Absolute
        sets the mode of the device.

    TiltMode
        enables tilt report if your tablet supports it (ROM version 1.4 and above). If this is enabled, multiple devices at the same time will not be reported.

    HistorySize number
        sets the motion history size. By default the value is zero.

    AlwaysCore
        enables the sharing of the core pointer. When this feature is enabled, the device will take control of the core pointer (and thus will emit core events) and at the same time will be able, when asked so, to report extended events. You can use the last available integer feedback to control this feature. When the value of the feedback is zero, the feature is disabled. The feature is enabled for any other value.

    TopX number
        X coordinate of the top corner of the active zone.

    TopY number
        Y coordinate of the top corner of the active zone.

    BottomX number
        X coordinate of the bottom corner of the active zone.

    BottomY number
        Y coordinate of the bottom corner of the active zone.

    KeepShape
        When this option is enabled, the active zone begins according to TopX and TopY. The bottom corner is ajusted to keep the ratio width/heigth of the active zone the same as the screen while maximizing the area described by TopX, TopY, BottomX, BottomY.

    DebugLevel number
        sets the level of debugging info reported.

    BaudRate 9200 or 600 (default)
        changes the serial link speed. This option is only available for wacom V models (Intuos).

    Serial number
        sets the serial number associated with the physical device. This allows to have multiple devices of the same type (i.e. multiple pens). This option is only available on wacom V devices (Intuos). To see which serial number belongs to a device, you have to set the DebugLevel to 6 and whatch the output of the X server.

    Threshold "number"
        sets the pressure threshold used to generate a button 1 events of stylus devices for some models of tablets (Intuos and Graphire).
The Elographics subsection support the following entries:

    Port "path"
        sets the path to the special file which controls the serial port. The default is /dev/ttyS1.

    DeviceName "name"
        sets the name of the X device. The default is TOUCHSCREEN.

    LinkSpeed
        sets the speed of the serial link connecting the touchscreen. Legal values are: B300, B1200, B2400, B9600, B19200. The controller must be configured to the corresponding speed before launching X. The driver will not attempt to detect and change the speed. The default is B9600

    MaximumXPosition position
        sets the maximum X position reported by the touchscreen.

    MinimumXPosition position
        sets the minimum X position reported by the touchscreen.

    MaximumYPosition position
        sets the maximum Y position reported by the touchscreen.

    MinimumYPosition position
        sets the minimum Y position reported by the touchscreen. When an axis minimum is greater than its maximum the driver reverse the axis. This is useful to cope with ill assembled screens.

    ScreenNo number
        sets the screen number where the touchscreen is mounted.

    UntouchDelay value
        sets the delay (in hundredth of seconds) after which the device considers that an untouch occurs. The possible range is 0 to 15 (0 ms to 150 ms) and the default value is set to 10 (100 ms). Increasing this value decrease the probability of accidental untouches due to defective contact between the finger and the touchscreen.

    ReportDelay value
        sets the delay (in hundredth of seconds) between two reports of position. The possible range is 0 to 255 (0 ms to 2550 ms) and the default value is 4 (40 ms). Increasing this number decrease the number of positions reported while touching the screen. This can be useful to cure any lag occuring in position reporting due to load problems.

    AlwaysCore
        enables the sharing of the core pointer. When this feature is enabled, the device will take control of the core pointer (and thus will emit core events) and at the same time will be able, when asked so, to report extended events. You can use the last available integer feedback to control this feature. When the value of the feedback is zero, the feature is disabled. The feature is enabled for any other value.

    HistorySize number
        sets the motion history size. By default the value is zero.

    DebugLevel number
        sets the level of debugging info reported. Valid values range from 0 to 5. A value of zero suppress all debugging reports and a value of 5 ask for the maximum verbosity.

    SwapXY
        Exchange the X and Y axes at the driver level. This is useful to cope with defective screen assemblies.

    PortraitMode orientation
        configure the orientation of the screen. "Portrait" is to be used when the screen has been turned 90 degrees clockwise, "PortraitCCW" is used when the screen has been turned 90 degrees counter clockwise and "Landscape" (or not specifying this option) is for a normal orientation. It is to be noted that this option is applied after axes swap and reversal so it is possible to cope with defective assembly and still change orientation.
The MicrotouchFinger and MicrotouchStylus subsections support the following entries:

    Port "path"
        sets the path to the special file which controls the serial port. The driver supports two X input devices, the finger and the stylus, that share the same port. This entry declare the port to be used and it should be given identically for both X devices. Doing this, the driver knows that it should bind both X devices to the same touchscreen. This must be the first entry of the subsection. The default is /dev/ttyS1.

    DeviceName "name"
        sets the name of the X device. It defaults to FINGER for the MicrotouchFinger subsection and to STYLUS for the MicrotouchStylus subsection.

    LinkSpeed
        sets the speed of the serial link connecting the touchscreen. Legal values are: B300, B1200, B2400, B9600, B19200. The controller must be configured to the corresponding speed before launching X. The driver will not attempt to detect and change the speed. The default is B9600.

    MaximumXPosition position
        sets the maximum X position reported by the touchscreen.

    MinimumXPosition position
        sets the minimum X position reported by the touchscreen.

    MaximumYPosition position
        sets the maximum Y position reported by the touchscreen.

    MinimumYPosition position
        sets the minimum Y position reported by the touchscreen. When an axis minimum is greater than its maximum the driver reverse the axis. This is useful to cope with ill assembled screens.

    ScreenNo number
        sets the screen number where the touchscreen is mounted.

    AlwaysCore
        enables the sharing of the core pointer. When this feature is enabled, the device will take control of the core pointer (and thus will emit core events) and at the same time will be able, when asked so, to report extended events. You can use the last available integer feedback to control this feature. When the value of the feedback is zero, the feature is disabled. The feature is enabled for any other value.

    HistorySize number
        sets the motion history size. By default the value is zero.

    DebugLevel number
        sets the level of debugging info reported. Valid values range from 0 to 5. A value of zero suppress all debugging reports and a value of 5 ask for the maximum verbosity.

    SwapXY
        Exchange the X and Y axes at the driver level. This is useful to cope with defective screen assemblies.

    PortraitMode orientation
        configure the orientation of the screen. "Portrait" is to be used when the screen has been turned 90 degrees clockwise, "PortraitCCW" is used when the screen has been turned 90 degrees counter clockwise and "Landscape" (or not specifying this option) is for a normal orientation. It is to be noted that this option is applied after axes swap and reversal so it is possible to cope with defective assembly and still change orientation.

    Frequency number
        sets the frequency parameter for a ThruGlass Microtouch panel.
The SummaSketch subsection support the following entries:

    Port "path"
        sets the path to the special file which represents the device driver.

    DeviceName "name"
        sets the name of the X device.

    Mode Relative|Absolute
        sets the mode of the device.

    Cursor Stylus|Puck
        sets the cursor type, stylus or 4 button puck.

    Increment value
        sets the minimum change in coordinates before new report.

    HistorySize number
        sets the motion history size. By default the value is zero.

    Compatible
        prevents the driver from asking the firmware id of the tablet to enable some compatible tablet to work (like the Numonics GridMaster).

    AlwaysCore
        enables the sharing of the core pointer. When this feature is enabled, the device will take control of the core pointer (and thus will emit core events) and at the same time will be able, when asked so, to report extended events. You can use the last available integer feedback to control this feature. When the value of the feedback is zero, the feature is disabled. The feature is enabled for any other value.

    Resolution value
        Sets tablet resolution. Choose a value from below: lpi: 1 2 4 100 200 254 400 500 508 1000 1016
                2000 2032 2540 lpmm: 10 20 40 Any other value, or if this option is not provided, will default to 500 lpi. Note that "2540 lpi" is only available for the SummaSketch 12x12 tablet, and the Summa MM mode can restrict reported maximum coordinate value to be 16384, which means the higher the resolution, the smaller the usable tablet surface.

    Hitachi_1217D
        Indicates a Hitachi 1217D tablet (which must have been set to run in Summa MM mode) is being used. This option sets the "Compatible" flag, and the increment value to 0 (otherwise the Hitachi 1217D will not report buttons when the puck is held still). Note that if "Increment value" option is given after this option (in config file line order), then the "Increment value" will take effect (but one should not want to set a non-zero increment with Hitachi 1217D).

    ActiveOffset x y
        Where "x y" are in units of inches, to two decimal places (e.g. 0.25 0.25). Sets the upper left corner of active area, from the upper left corner of tablet's surface. Default is no offset.

    ActiveArea x y
        Where "x y" are in units of inches, to two decimal places (e.g. 15.75 11.75). Sets desired sub-area on tablet to use. Default is: maximum tablet area minus any ActiveOffsets, then map display screen to tablet to find maximum usable area. Except for tablets that do not provide a full rectangular surface (e.g. plastic corners molded into digitizing area), there is little reason why this option should be used. Combinations of ActiveOffset and ActiveArea values that do not match well with the tablet in use, will cause reduced usable area, incorrect scaling, and possibly usable area centered on the tablet surface.

    General Note
        tablets to be recognized by this module must be set to run in Summa MM mode binary, 9600 baud, odd parity, one stop bit. Also, usable tablet surface is mapped by following display screen aspect ratio; e.g. a 12x18 tablet will have maximum area of 12x16 inches usable when the display sizes indicate 4:3 (say, 1024x768). Previous behavior mapped the full tablet to screen, regardless tablet and screen aspect ratios, causing distortion when tracing/digitizing drawings on the tablet.
The DialBox subsection support the following entries:

    Port "path"
        sets the path to the special file which represents the device driver.

    DeviceName "name"
        sets the name of the X device.

    Mode Relative|Absolute
        sets the mode of the device.

    HistorySize number
        sets the motion history size. By default the value is zero.

    AlwaysCore
        enables the sharing of the core pointer. When this feature is enabled, the device will take control of the core pointer (and thus will emit core events) and at the same time will be able, when asked so, to report extended events. You can use the last available integer feedback to control this feature. When the value of the feedback is zero, the feature is disabled. The feature is enabled for any other value.
The AceCad subsection support the following entries:

    Port "path"
        sets the path to the special file which represents the device driver.

    DeviceName "name"
        sets the name of the X device.

    Mode Relative|Absolute
        sets the mode of the device.

    Cursor Stylus|Puck
        sets the cursor type, 3 button stylus or 4 button puck.

    Increment value
        sets the maximum change in coordinates before new report.

    HistorySize number
        sets the motion history size. By default the value is zero.

    Model acecadIII|flair
        Select either tablet model according to your hardware.

    AlwaysCore
        enables the sharing of the core pointer. When this feature is enabled, the device will take control of the core pointer (and thus will emit core events) and at the same time will be able, when asked so, to report extended events. You can use the last available integer feedback to control this feature. When the value of the feedback is zero, the feature is disabled. The feature is enabled for any other value.
The DrawingBoard subsection support the following entries:

    Port "path"
        sets the path to the special file which represents the device driver.

    DeviceName "name"
        sets the name of the X device.

    Mode Relative|Absolute
        sets the mode of the device.

    Cursor Stylus|Puck
        sets the cursor type, stylus or 4 button puck.

    Increment value
        sets the maximum change in coordinates before new report.

    HistorySize number
        sets the motion history size. By default the value is zero.

    AlwaysCore
        enables the sharing of the core pointer. When this feature is enabled, the device will take control of the core pointer (and thus will emit core events) and at the same time will be able, when asked so, to report extended events. You can use the last available integer feedback to control this feature. When the value of the feedback is zero, the feature is disabled. The feature is enabled for any other value.
The Mouse subsection support the same entries as the standard Pointer section, plus the following:

    DeviceName "name"
        sets the name of the X device.

    AlwaysCore
        enables the sharing of the core pointer. When this feature is enabled, the device will take control of the core pointer (and thus will emit core events) and at the same time will be able, when asked so, to report extended events. You can use the last available integer feedback to control this feature. When the value of the feedback is zero, the feature is disabled. The feature is enabled for any other value.

For an example of an XF86Config file, see the file installed as <XRoot>/lib/X11/XF86Config.eg.

FILES

/etc/XF86Config
<XRoot>/lib/X11/XF86Config.hostname
<XRoot>/lib/X11/XF86Config

Note: <XRoot> refers to the root of the X11 install tree.

SEE ALSO
X(1), Xserver(1), XFree86(1), XF86_SVGA(1), XF86_VGA16(1), XF86_Mono(1), XF86_S3(1), XF86_8514(1), XF86_Mach8(1), XF86_Mach32(1), XF86_P9000(1), XF86_AGX(1), XF86_W32(1).

AUTHORS

Refer to the XFree86(1) manual page.