7.3.1. XF86Config
	  While there is rarely a need to manually edit
	  /etc/X11/XF86Config, it is useful to know about
	  the various sections and optional parameters available, especially
	  when troubleshooting.
	
7.3.1.1. The Structure
	    The /etc/X11/XF86Config file is comprised of a many
	    different sections which address specific aspects of the system
	    hardware. 
	  
	    Each section begins with a Section
	    "<section-name>"
	    line (where <section-name> is the
	    title for the section) and ends with an
	    EndSection line. Within each of the
	    sections, are lines containing option names and at least one option
	    value, occasionally seen in quotes.
	  
	  Lines beginning with a hash mark [#] are not read
	  by the XFree86 server and are used for human-readable comments.
	
	  Some options within the /etc/X11/XF86Config
	  file accept a boolean switch which turns the feature on or
	  off. Acceptable   boolean values are:
	
- 1, on,
	      true, or yes — Turns the
	      option on.
	     
- 0, off,
	      false, or no  — Turns the
	      option off.
	     
	  The following are some of the more important sections ordered as they
	  appear in a typical /etc/X11/XF86Config file.
	  More detailed information about the XFree86 server configuration file
	  can be found in the XF86Config man page.
	
7.3.1.2. ServerFlags
	    The optional ServerFlags section
	    contains miscellaneous global XFree86 server settings. Any
	    settings in this section may be overridden by options placed in the
	    ServerLayout section (refer to
	    Section 7.3.1.3 ServerLayout for details).
	  
	    Entries within the ServerFlags section are on
	    their own lines and begin with the term Option
	    followed by an option enclosed in double quotation marks
	    ["].
	  
	    The following is a sample
	    ServerFlags section:
	  
| Section "ServerFlags"
      Option "DontZap" "true"     
EndSection | 
	    The following is a list of some of the most useful options:
	  
- "DontZap"
		"<boolean>" —
		When the value of <boolean> is
		set to true, this setting prevents the use of the
		[Ctrl]-[Alt]-[Backspace]
		key combination to immediately terminate the XFree86 server.
	       
- "DontZoom"
		"<boolean>" —		When the value of <boolean> is
		set to true, this setting prevents cycling through configured
		video resolutions using the
		[Ctrl]-[Alt]-[Keypad-Plus]
		and
		[Ctrl]-[Alt]-[Keypad-Minus]
		key combinations.
	       
7.3.1.3. ServerLayout
	    The ServerLayout section binds
	    together the input and output devices controlled by the XFree86
	    server. At a minimum, this section must specify one output device
	    and at least two input devices (a keyboard and a mouse).
	  
	    The following example illustrates a typical
	    ServerLayout section:
	  
| Section  "ServerLayout"
        Identifier     "Default Layout"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection | 
 
	    The following entries are commonly used in the 
	    ServerLayout section:
	  
- Identifier — Specifies a unique name
		for this ServerLayout section.
	       
- Screen — Specifies the name of a
		Screen section to be used with
		the XFree86 server. More than one Screen
		options may be present.
	       - The following is an example of a typical
	      Screen entry: - The first number in this example
		Screen entry
		(0) indicates that the first monitor connector or
		head on the video card uses the
		configuration specified in the
		Screen section with the
		identifier "Screen0".
	       - If the video card has more than one head, another
		Screen entry would be necessary
		with a different number and a different
		Screen section identifier.
	       - The numbers to the right of "Screen0" give
		the X and Y absolute coordinates for the upper-left corner of
		the screen (0 0 by default).
	       
- InputDevice — Specifies the name of
		an InputDevice section to be
		used with the XFree86 server.
	       - There must be at least two InputDevice
		entires: one for the default mouse and one for the default
		keyboard. The options CorePointer and
		CoreKeyboard indicate these are the primary
		mouse and keyboard.
	       
- Option
		"<option-name>"
		— An optional entry which specifies extra parameters for
		the section. Any options listed here override those listed in
		the ServerFlags section.
	       - Replace <option-name> with
		a valid option listed for this section in the XF86Config man
		page.
	       
	    It is possible to create more than one
	    ServerLayout section. However, the
	    server will only read the first one to appear unless an alternate
	    ServerLayout section is specified
	    as a command line argument.
	  
7.3.1.4. Files
	    The Files section sets paths
	    for services vital to the XFree86 server, such as the font
	    path.
	  
	    The following example illustrates a typical
	    Files section:
	  
| Section "Files"
        RgbPath      "/usr/X11R6/lib/X11/rgb"
        FontPath     "unix/:7100"
EndSection | 
 
	    The following entries are commonly used in the 
	    Files section:
	  
- RgbPath — Specifies the location of
		the RGB color database. This database defines all valid
		color names in XFree86 and ties them to specific RGB values.
	       
- FontPath — Specifies where the
		XFree86 server must connect to obtain fonts from the
		xfs font server.
	       - By default, the FontPath is
		unix/:7100. This tells the XFree86 server to
		obtain font information using UNIX-domain sockets for
		inter-process communication (IPC) on port 7100.
	       - See Section 7.4 Fonts for more information
		concerning XFree86 and fonts.
	       
- ModulePath — An optional parameter
		which specifies alternate directories which store XFree86 server
		modules.
	       
7.3.1.5. Module
	    The Module section specifies which
	    modules from the /usr/X11R6/lib/modules/
	    directory the XFree86 server is to load. Modules add additional
	    functionality to the XFree86 server.
	  
	    The following example illustrates a typical
	    Module section:
	  
| Section "Module"
	Load  "dbe"
	Load  "extmod"
	Load  "fbdevhw"
	Load  "glx"
	Load  "record"
	Load  "freetype"
	Load  "type1"
	Load  "dri"
EndSection | 
7.3.1.6. InputDevice
	    Each InputDevice section configures
	    one input device for the XFree86 server. Systems typically have at least
	    two InputDevice sections, keyboard
	    and mouse. 
	  
	    The following example illustrates a typical
	    InputDevice section for a mouse:
	  
| Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "IMPS/2"
	Option	    "Device" "/dev/input/mice"
	Option	    "Emulate3Buttons" "no"
EndSection | 
	    The following entries are commonly used in the 
	    InputDevice section:
 	  
- Identifier — Specifies a unique
		name for this InputDevice section. This is a
		required entry.
	       
- Driver — Specifies the name of the
		device driver XFree86 must load for the device.
	       
- Option — Specifies necessary options
	      pertaining to the device.
	       - For a mouse, these options typically include:
	       - Protocol — Specifies the protocol
		used by the mouse, such as IMPS/2.
		   
- Device — Specifies the location
		  of the physical device.
		   
- Emulate3Buttons — Specifies
		    whether to allow a two button mouse to act like a three
		    button mouse when both mouse buttons are pressed
		    simultaneously.
		   
 - Consult the  XF86Config man page for a list of valid
		options for this section.
	       
	    By default the InputDevice section has comments to
	    allow users to configure additional options.
	  
7.3.1.7. Monitor section
	    Each Monitor section configures one
	    type of monitor used by the system. While one
	    Monitor section is the minimum, additional
	    instances may occur for each monitor type in use with the machine.
	  
	    The best way to configure a monitor is to configure X during the
	    installation process or by using
	    X Configuration Tool. For more about using the
	    X Configuration Tool refer to the chapter
	    titled Audio, Video, and General Amusement in
	    the Red Hat Linux Getting Started Guide.
	  
	    This example illustrates a typical Monitor
	    section for a monitor:
	  
| 	  
Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "DDC Probed Monitor - ViewSonic G773-2"
	DisplaySize  320	240
	HorizSync    30.0 - 70.0
	VertRefresh  50.0 - 180.0
EndSection | 
|  | Warning | 
|---|
|  | 	      Be careful if manually editing values in the
	      Monitor section of
	      /etc/X11/XF86Config. Inappropriate values can
	      damage or destroy the monitor. Consult the monitories
	      documentation for the a listing of safe operating parameters.
	     | 
	    The following are commonly entries used in the 
	    Monitor section:
	  
- Identifier — Specifies a unique name
		for this Monitor
		section. This is a required entry.
	       
- VendorName — An optional parameter
		which specifies the vendor of the monitor.
	       
- ModelName — An optional parameter
		which specifies the monitor's model name.
	       
- DisplaySize  — An optional parameter
		which specifies, in millimeters, the physical size of the
		monitor's picture area.
	       
- HorizSync — Specifies the range of
		horizontal sync frequencies compatible with the monitor in
		kHz. These values help the XFree86 server determine the validity
		of built in or specified Modeline entries for
		the monitor.
	       
- VertRefresh — Specifies the range of vertical
		refresh range frequencies supported by the monitor, in
		kHz. These values help the XFree86 server determine the validity
		of built in or specified Modeline entries for
		the monitor.
	       
- Modeline — An optional parameter
		which specifies additional video modes for the monitor at
		particular resolutions, with certain horizontal sync and
		vertical refresh resolutions. See the XF86Config
		man page for a more detailed explanation of
		Modeline entries.
	       
- Option
		"<option-name>"
		— An optional entry which specifies extra parameters for
		the section. Replace
		<option-name> with a valid
		option listed for this section in the XF86Config man page.
	       
7.3.1.8. Device
	    Each Device section configures one
	    video card on the system. While one Device section
	    is the minimum, additional instances may occur for each video card
	    installed on the machine.
	  
	    The best way to configure a video card is to configure X during the
	    installation process or by using
	    X Configuration Tool. For more about using the
	    X Configuration Tool refer to the chapter
	    titled Audio, Video, and General Amusement in
	    the Red Hat Linux Getting Started Guide.
	  
	    The following example illustrates a typical
	    Device section for a video card:
	  
| Section "Device"
	Identifier  "Videocard0"
	Driver      "mga"
	VendorName  "Videocard vendor"
	BoardName   "Matrox Millennium G200"
	VideoRam    8192
        Option      "dpms"
EndSection | 
	    The following entries are commonly used in the 
	    Device section:
	  
- Identifier — Specifies a unique name
		for this Device
		section. This is a required entry.
	       
- Driver — Specifies which driver the
		XFree86 server must load in order to utilize the video card. A
		list of drivers can be found in
		/usr/X11R6/lib/X11/Cards, which is
		installed with the hwdata package.
	       
- VendorName — An optional parameter
		which specifies the vendor of the video card.
	       
- BoardName — An optional parameter
		which specifies the name of the video card.
	       
- VideoRam — An optional parameter
		which specifies the amount of RAM available on the video card in
		kilobytes. This setting is only necessary for video cards the
		XFree86 server cannot probe to detect the amount of video RAM.
	       
- BusID — An optional entry which
		specifies the bus location of the video card. This option is
		only  mandatory for systems with multiple cards.
	       
- Screen — An optional entry which
		specifies which monitor connector or head on the video card the
		Device section configures. This
		option is only useful for video cards with multiple heads.
	       - If multiple monitors are connected to different heads on the same
		video card, separate Device
		sections must exist and each of these sections must have a
		different Screen value. 
	       - Values for the Screen entry must be an
		integer. The first head on the video card has a value of
		0. The value for each additional head increases
		this value by one.
	       
- Option
		"<option-name>"
		— An optional entry which specifies extra parameters for
		the section. Replace
		<option-name> with a valid
		option listed for this section in the XF86Config man page.
	       - One of the more common options is "dpms",
		which activates Service Star energy compliance for the monitor.
	       
7.3.1.9. Screen
	     Each Screen section binds one video card (or
	     video card head) to one monitor by referencing the
	     Device section and the
	     Monitor section for each. While one
	     Screen section is the minimum, additional
	     instances may occur for each video card and monitor combination
	     present on the machine.
	  
	    The following example illustrates a typical
	    Screen section:
	  
| Section "Screen"
	Identifier "Screen0"
	Device     "Videocard0"
	Monitor    "Monitor0"
	DefaultDepth     16
	SubSection "Display"
		Depth     24
		Modes    "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Depth     16
		Modes    "1152x864" "1024x768" "800x600" "640x480"
	EndSubSection
EndSection | 
	    The following entries are commonly used in the 
	    Screen section:
	  
- Identifier — Specifies a unique
		name for this Screen section. This is a
		required entry.
	       
- Device — Specifies the unique name
		 of a Device section. This is a required entry.
		   
- Monitor — Specifies the unique name
		 of a Monitor section. This is a required entry. 
	       
- DefaultDepth — Specifies the
		default color depth in bits. In the previous example,
		16, which provides thousands of colors, is
		the default. Multiple DefaultDepth entries
		are permitted, but at least one must be present.
	       
- SubSection "Display" — Specifies
		the screen modes available at a particular color depth. A
		Screen section may have multiple
		Display subsections, but there must be at
		least one for the color depth specified in the
		DefaultDepth entry.
	       
- Option
		"<option-name>"
		— An optional entry which specifies extra parameters for
		the section. Replace
		<option-name> with a valid
		option listed for this section in the XF86Config man page.
	       
7.3.1.10. DRI
 The optional DRI section specifies
	    parameters for the Direct Rendering
	    Infrastructure (DRI). DRI is an
	    interface which allows 3D software applications to take advantage of
	    3D hardware acceleration capabilities built into most modern video
	    hardware. In addition, DRI can improve 2D performance via hardware
	    acceleration, if supported by the video card's driver.
	  
	    This section is ignored unless DRI is enabled in the
	    Module section.
	  
	    The following example illustrates a typical DRI
	    section:
	  
| Section "DRI"
        Group        0
        Mode         0666
EndSection | 
	    Since different video cards use DRI in different ways, do not alter
	    the values for this section without first referring to the
	    /usr/X11R6/lib/X11/doc/README.DRI file.