XF86Config

The configuration file for XFree86, usually located at /etc/X11/XF86Config (but sometimes also called XF86Config-4 to avoid confusing it with the XFree86 3.x.x version). Many GUIs have been created to ease the configuration, this is usually distribution dependent (e.g. Suse uses sax2, Debian uses debconf to generete it). For some general configuration tools see XFree86.

Configuration sections
The configuration file is split into sections (not all sections are requirered and some sections can exist multiple times):

Files
The XF86Config or XF86Config-4 is located in /etc/X11

Note that new distributions now are using xorg.conf instead of XF86Config. xorg.conf is in the same location and have the same settings and style.

ServerFlags
General server config options

Module
Configure which modules are loaded

InputDevice
Configure input devices like mouse and keyboards


 * 1) To get mousewheel working.

Change mouse protocal to "IMPS/2". Option "ZAxisMapping" "4 5"

Device
Configure graphic devices/video cards

For Example (an nVidia GeForce TwinView Setup with the proprietary drivers): Section "Device" Identifier  "GeForce 4 Ti 4600" Driver      "nvidia" Option      "TwinView" Option      "MetaModes"                  "1024x768, 1024x768; 800x600, 800x600" Option      "SecondMonitorHorizSync"     "30-70" Option      "SecondMonitorVertRefresh"   "50-120" Option      "ConnectedMonitor"           "CRT, CRT" EndSection


 * The 'Section "Device"' and 'EndSection' are part of the Syntax and must be present.
 * The Driver is what driver your card requires.
 * The Option lines are passed to the driver to get wanted functionality

Monitor
Configure monitors

Change Identifier to whatever you want (the name and model of your monitor) but remember to change it also under "monitor" in the screens section.

For the "HorizSync" and "VertRefresh" values look in the manual for your monitor or try "http://www.monitorworld.com/Monitors/". Remember that entering the wrong values can damage your monitor.

I use

HorizSync   68.7 (gives 1024x768 @ 85hertz) VertRefresh 50-120 (from monitor specs)

Remember to use a different "HorizSync" if you want a different resolution/refresh rate.

For Example (different monitor, different person): Section "Monitor" Identifier     "Sceptre P-73A" HorizSync      24-66 VertRefresh    50-120 Option         "DPMS" EndSection


 * The 'Section "Monitor"' and EndSection are part of the syntax.
 * The Identifier is what the monitor is known by in the configuration file.
 * The HorizSync and VertRefresh are UNIQUE TO YOUR MONITOR MODEL - YOU MUST USE THE CORRECT VALUES OR YOU RISK DAMAGE to your monitor if it does not automatically protect itself from signals outside it's working range.
 * If you are unable to get resolutions you want, you should check your HorizSync and VertRefresh to see if they are correct, and also check to make sure the resolutions you want are listed in the Screen section.
 * Option lines are for, well, options.

Modes
Define special modelines

Screen
Define viewing screens

For example: Section "Screen" Identifier     "Default Screen" Device         "Generic Video Card" Monitor        "Generic Monitor" DefaultDepth   24 SubSection "Display" Depth          1 Modes          "2048x768" "1600x600" EndSubSection SubSection "Display" Depth          4 Modes          "2048x768" "1600x600" EndSubSection SubSection "Display" Depth          8 Modes          "2048x768" "1600x600" EndSubSection SubSection "Display" Depth          15 Modes          "2048x768" "1600x600" EndSubSection SubSection "Display" Depth          16 Modes          "2048x768" "1600x600" EndSubSection SubSection "Display" Depth          24 Modes          "2048x768" "1600x600" EndSubSection EndSection


 * The Identifier, Device, and Monitor refer to the name of this section and the names of other sections in this file.
 * The Subsections each define a color depth "Depth" and resolutions "Modes" that you want the X server to use. The DefaultDepth option tells X what color depth you want to be default.

ServerLayout
Connect all the previous sections into a layout

For example: Section "ServerLayout" Identifier     "Default Layout" Screen         "Default Screen" InputDevice    "Generic Keyboard" InputDevice    "Configured Mouse" InputDevice    "Generic Mouse" EndSection


 * The Identifier is just like all the other identifiers.
 * The others are the sections of the config file you want to be part of your X server.

DRI
Configure usage permissions of DRI

''This article is a stub and needs to be finished. Plunge forward and help it grow!''