XFree86 X server ``New Design'' (DRAFT) : The XF86Config File
Previous: Preface
Next: Driver Interface

2. The XF86Config File

The XF86Config file format is similar to the old format, with the following changes:

2.1. Device section

The Device sections are similar to what they used to be, and describe hardware-specific information for a single video card. Device Some new keywords are added:

Driver "drivername"

Specifies the name of the driver to be used for the card. This is mandatory.

BusID "busslot"

Specifies uniquely the location of the card on the bus. The purpose is to identify particular cards in a multi-headed configuration. The format of the argument is intentionally vague, and may be architecture dependent. For a PCI bus, it is something like "bus:slot:func".

A Device section is considered ``active'' if there is a reference to it in an active Screen section.

2.2. Screen section

The Screen sections are similar to what they used to be. They no longer have a Driver keyword, but an Identifier keyword is added. (The Driver keyword may be accepted in place of the Identifier keyword for compatibility purposes.) The identifier can be used to identify which screen is to be active when multiple Screen sections are present. It is possible to specify the active screen from the command line. A default is chosen in the absence of one being specified. A Screen section is considered ``active'' if there is a reference to it either from the command line, or from an active ServerLayout section.

2.3. InputDevice section

The InputDevice section is a new section that describes configuration information for input devices. It replaces the old Keyboard, Pointer and XInput sections. Like the Device section, it has two mandatory keywords: Identifier and Driver. For compatibility purposes the old Keyboard and Pointer sections are converted by the parser into InputDevice sections as follows:

Keyboard

Identifier "Implicit Core Keyboard"
Driver "keyboard"

Pointer

Identifier "Implicit Core Pointer"
Driver "mouse"

An InputDevice section is considered active if there is a reference to it in an active ServerLayout section. An InputDevice section may also be referenced implicitly if there is no ServerLayout section, if the -screen command line options is used, or if the ServerLayout section doesn't reference any InputDevice sections. In this case, the first sections with drivers "keyboard" and "mouse" are used as the core keyboard and pointer respectively.

2.4. ServerLayout section

The ServerLayout section is a new section that is used to identify which Screen sections are to be used in a multi-headed configuration, and the relative layout of those screens. It also identifies which InputDevice sections are to be used. Each ServerLayout section has an identifier, a list of Screen section identifiers, and a list of InputDevice section identifiers. ServerFlags options may also be included in a ServerLayout section, making it possible to override the global values in the ServerFlags section.

A ServerLayout section can be made active by being referenced on the command line. In the absence of this, a default will be chosen (the first one found). The screen names may optionally be followed by a number specifying the preferred screen number, and optionally by the names of the four screens adjacent to it. The order of these is top, bottom, left, right. When no screen number is specified, they are numbered according to the order in which they are listed. Here is an example of a ServerLayout section for two screens, with the second located to the right of the first:


      Section "ServerLayout"
        Identifier "Main Layout"
        Screen     "Screen 1" 0 ""  ""  ""  "Screen 2"
        Screen     "Screen 2" 1
        Screen     "Screen 3"
      EndSection
    

2.5. Options

Options are used more extensively. They may appear in most sections now. Options related to drivers can be present in the Screen, Device and Monitor sections and the Display subsections. The order of precedence is Display, Screen, Monitor, Device. Options have been extended to allow an optional value to be specified in addition to the option name. For more details about options, see the Options section for details.


XFree86 X server ``New Design'' (DRAFT) : The XF86Config File
Previous: Preface
Next: Driver Interface