Setting up XFree86 is not difficult in most cases. Only when you have non-standard hardware will XFree86 configuration give you any problems. However, XFree86 configuration is beyond the scope of this document; here, we'll give you a brief overview of how it works.
A complete discussion of XFree86 configuration can be found in the file README.Config included with XFree86-2.0 (in the file xf86-doc-2.0.tar.gz). Please read this file for complete information on setting up the system. Furthermore, you must read the man pages for Xconfig, XFree86, and the server that you are setting up (such as XF86_SVGA). These man pages describe all of the options that are available for the configuration files.
The main XFree86 configuration file is /usr/lib/X11/Xconfig. This file contains information on your mouse, video card parameters, and so on. The file Xconfig.sample is provided with the XFree86 distribution as an example. The XFree86 man page explains the format of this file in detail.
In general, here's how it works. Your video card is capable of driving a number of ``dot clocks'' which are simply clock frequencies for your card. In turn, each dot clock has a resolution mode associated with it, such as 640x480 or 1024x768. (You are not restrained to using ``standard'' resolutions, as we will see). In the Xconfig file there exists stanzas for configuring your mouse, keyboard, and so on. There also exists stanzas for each server: vga256 for the color SVGA server, vga2 for the monochrome server, and so on.
Under each server stanza are lines to set the virtual resolution, chipset type, and so on for you video card. There is also a Modes line which specifies which modes are available on your card. Modes are usually named after their resolution. For example,
"640x480" "800x600" "1024x768"Each mode on this line is an index into the modeDB stanza at the end of the Xconfig file. It is this section of the file which determines the actual video parameters for each mode.
There is also an optional Clocks line which you can use to set the available dot clocks for your card. By default, XFree86 will determine the clocks at startup time; however, because clock timing can be thrown off by other programs running on your system, it may be easier to set the clocks in the Xconfig file.
The modeDB section of the Xconfig file is the important part. Each video card and monitor has its own set of timing and sync frequencies for different resolutions. The file /usr/lib/X11/etc/modeDB.txt contains a database of some known monitor and video card timing numbers. Many card and monitors use the VESA standard timings included in the sample Xconfig file.
There are various other documents in /usr/lib/X11/etc which you should read. The file VideoModes.txt is a tutorial on hacking your own monitor frequency timings if you simply can't get any of the numbers in modeDB.txt to work. There is also a collection of sample Xconfig files on sunsite.unc.edu in the file /pub/Linux/X11/Xconfig.tgz. Also see the XFree86 man pages for more information.
-to
Be careful when setting up your Xconfig file.
If you select a clock frequency higher than your monitor can support,
you may very well damage the monitor. Check the documentation for your
monitor before attempting to drive it at a high clock frequency.
If you are not sure what kind of video hardware you have, you can run the program /usr/bin/X11/SuperProbe, which is fairly good at detecting video hardware. However, SuperProbe is not always correct, so rely on your manuals and common sense before trusting it completely. Also note that SuperProbe will detect more hardware than XFree86-2.0 supports.
Again, we refer you to the Linux XFree86-HOWTO for complete information on setting up this beast.