X is a graphical user interface (GUI). The version of X supplied with most Linux software packages is XFree86, which is an implementation of the X Window system developed at MIT. XFree86 is available for several different PC UNIX versions, including Linux, and has been expanded over the more traditional X system to include the wide variety of hardware that is used in PC machines.
The official name of the GUI is X. It is often also called X Window System or X Windows, although these uses are greatly discouraged. (The latter version smacks of Microsoft's Windows product.) For the most part, you can use the terms X, X11 (from X version 11), XFree86, and X Window System interchangeably, but avoid X Windows! It's a sure method of annoying veteran UNIX users!
At least two major releases of XFree86 are available with Linux. Most distributions have version 2.X, although a few now offer the latest release (version 3.1.1 at the time of this writing). This chapter discusses installation and preliminary configuration of both XFree86 versions, although most of the examples use the more recent XFree86 3.x version.
It is important to understand the complete XFree86 installation process before you install your software. In some cases, you can cause damage to hardware and the already installed Linux software if you select inappropriate drivers.
XFree86 is a public domain version of the X11 windowing system developed by MIT and now copyrighted to the MIT Consortium. In keeping with the Linux developers' desire to have no copyright code that requires licensing as part of the operating system, XFree86 was developed specifically for the PC architecture. XFree86 works with many PC-based UNIX systems including Linux.
Several versions of XFree86 are available, and they are all based on different releases of X. The most commonly used Linux version of XFree86 is release 2.X, which is based on X11 Release 5 (abbreviated as X11R5). The latest versions of XFree86 are releases 3.X, which are based on X11 Release 6 (X11R6), the most current version of the X Window system. Bug fixes and minor changes in utilities are often available as incremental version numbers. You can load these incremental versions over a release of the same number. For example, if you have loaded XFree86 version 2.1 and obtain the fix release 2.1.1, you must load it over 2.1 and not by itself. The bug fix releases do not contain the complete system, only the updates.
Do not use XFree86 version 2.0! It has several critical bugs. Instead, use at least version 2.1 or 2.1.1.
A few problems arose in the early days of the XFree86 development, primarily because of a lack of information from the official X Consortium (which controls the standards of X). To solve the problem, The XFree86 Project Inc. was founded and became a member of the X Consortium and was thereby granted access to information about new releases well before they were available to the general public. XFree86 is now a trademark of The XFree86 Project Inc.
Many Linux versions of XFree86 contain directories and references to a product called X386. X386 was an earlier version of X11R5 for the PC architecture, and XFree86 retained many of the X386 naming conventions for directories and files. However, X386 and XFree86 are different products and have no connection (other than naming conventions).
The latest versions of XFree86 require a practical minimum of at least 8M of RAM in your machine to run, and a virtual memory of at least 16M. In other words, you would need a swap space of at least 8M with an 8M RAM machine, although more is highly recommended. (XFree86 can run with 4MB, but it runs slowly enough to be annoying.) If you have 16M of RAM, you don't need the swap space although it should be used for safety's sake, especially if you plan on running memory-hogging applications. If you plan on using X a lot, set up your system to have 32M of virtual RAM for the best performance (preferably at least 16M RAM and the rest swap space).
Tweaking version 2.X of XFree86 to run in 4M of RAM is possible, although it is a slow process (both tweaking and running) and is therefore not recommended. XFree86 version 3.X will not run properly in 4M (although it can, with a lot of effort, be shoehorned in but then runs so slow as to be useless). XFree86 v 3.x will run in 8M RAM, although 16M is preferable. Again, a total of at least 16M virtual memory is recommended with 32M preferable.
Most XFree86 distributions are provided as part of the software on a Linux CD-ROM or floppy disk set. This chapter uses a CD-ROM distribution (from the CD-ROM included with this book) as the example because it is the most common form of distribution. The instructions, however, apply equally for floppy disk distributions and software packages obtained from an FTP or BBS site.
Typically, the XFree86 software is located in a set of directories called x1, x2, x3, and so on. The Slackware distribution has directories running up to x14. Other distributions may differ in the number of directories. XFree86 applications are also stored in a set of directories called xap1, xap2, and so on. The software is usually supplied in gzipped format. The contents of each directory are usually summarized in a text file, which gives the filenames and their purposes.
Before you install the XFree86 software, verify that it will work with your existing Linux software. XFree86 releases depend on certain versions of the Linux kernel, the C library (libc), and the ld.so file version. A file in the distribution directories should explain the lowest version number of each of these three items that is necessary to run XFree86. If you obtained the XFree86 software packaged with a Linux release, it is likely to be compatible, and you can skip the verification stage.
If your X software wasn't installed by a setup program, you can install the XFree86 software manually by unzipping each file and then extracting the files in the archive. You must then properly load the files into the final directories. This process can be tedious and lengthy and should be avoided unless you want to know exactly what is going on. Instead, use the installation routines that the Linux vendor supplies, such as setup.
XFree86 version 2.X uses directories that mirror those used by the X386 software product. For most Linux systems, the primary directory is /usr/X386. To maintain consistency with software packages and utilities that expect a more common X11R5, X11R6, or X11 directory, Linux generally uses links between the X386 directory and the other directories as necessary. The Linux installation routine often creates these links.
XFree86 version 3.X abandons the /usr/X386 directory convention in favor of the more common X location /usr/X11R6. When upgrading an installation of XFree86 version 2.x to version 3.x, bear in mind the change of directory names and either change links or remove the old /usr/X386 versions completely. Make sure your search path variable is changed, too.
To simplify the directory structure for XFree86, links to a directory called /usr/X11 usually are created. This directory can then be linked to /usr/X386 and /usr/X11R6. Check your directory structure to determine which links are in place on your system. Also check your PATH environment variable to see which directory is in the search path (if one has been added at all).
Before installing XFree86, you must decide which type of server you will use. The XFree86 servers are drivers for the video system. As a GUI, X uses the video card in your system extensively. Several drivers are available in most XFree86 distribution sets, and the names of the files tend to indicate the video card for which they are designed. For example, you may encounter the following server files in most XFree86 versions:
XF86_Mono | Monochrome video card (generic) |
XF86_VGA16 | 16-color VGA video card (generic) |
XF86_SVGA | Color SVGA video card (generic) |
XF86_S3 | Accelerated server for S3-based video cards |
XF86_Mach8 | Accelerated server for Mach8 video cards |
XF86_Mach32 | Accelerated server for Mach32 video cards |
XF86_8514 | Accelerated server for 8514/A video cards |
The generic indications in the preceding list mean that the server has no card-specific instructions; the other servers have card-specific video card requirements. For example, you can use the XF86_S3 server only with video cards using the S3 chipset. Check with your video card documentation (or use a diagnostic utility program) to determine your video card's chipset. Your distribution version of XFree86 will probably have other specific server versions, so check the documentation for compatibility details.
The generic server drivers work with most cards that provide VGA and SVGA support. However, because the generic driver provides only the basic VGA and SVGA video instructions, any fancy features or extra power your video card may have will not be used. Card-specific servers, on the other hand, enable you to use the full capabilities of fancy video cards.
Installing an X server with the wrong specific video card driver can cause damage to your system. If you are not sure of the video card chipset, use a generic driver. Most video cards can handle VGA and SVGA generic drivers without a problem. If you're not sure, use generic.
Most distributions of XFree86 have a default of a standard VGA system prewritten into the configuration files. You can use this default setting without worrying about other configuration items in some cases, but it is better to check the configuration files manually before running XFree86 for the first time.
To change the server name that XFree86 uses, modify the symbolic link to the file called X under the XFree86 bin directory (such as /usr/X386/bin/X or /usr/X11R6/bin/X). You can change the server at any time by creating a new link to the required server file. For example, if you want to use the SVGA server when your system is currently configured for the VGA server, issue the following commands:
rm /usr/X11R6/bin/X ln -s /usr/X11R6/bin/XF86_SVA /usr/X11R6/bin/X
The first line removes the current link and the second adds the link between XF86_SVGA and X. The directory names for the XFree86 base directory may change, depending on the version of XFree86 you are running (although if they are linked together, it won't matter which you change).
As mentioned earlier in this section, you can install XFree86 without using the installation scripts. You may want to install XFree86 this way if you have to perform installation across directories or place the files in directories other than their default values. Some users like to manually install XFree86 so that they know what is happening at each step. Manually installing XFree86 is a great way to learn the intricacies of the X operating system (although it can be a long operation).
To manually install the XFree86 distribution software, you must extract the files into the proper directories using the gzip command. The general process is quite simple:
The tar utility flags shown in the preceding command line ensure that the original ownership of the files is preserved and that the output is displayed on-screen for you. Once all the XFree86 files have been installed into the correct directories, you can continue with the configuration process.
Most users want to automate the installation process. This installation method is faster, requires less interaction from the user, and is much less prone to errors. For this reason, most XFree86 distribution releases either include an installation script or use the Linux setup program.
When installing using the setup script (or similar utility) supplied with Linux distributions, you are usually prompted as to whether you want to install XFree86 during the initial Linux installation. If you answered affirmatively to this question, the binaries for XFree86 are already installed. If you didn't get prompted for XFree86 installation, it may have been installed automatically. Check the directories /usr/X386/bin or /usr/X11R6/bin for files. If a large number of files exist in either directory, XFree86 was installed for you.
Just because XFree86 was installed from the distribution media automatically doesn't usually mean you can use it immediately. You should still go through the configuration process using the ConfigFX86 or fx86config utilities, or manually editing the Xconfig or XF86Config file (depending on the version of XFree86). Most automated installations will include default VGA or SVGA preconfigured files, but it's still a good idea to check the contents of the Xconfig or XF86Config file before you try to run XFree86.
Put the XFree86 binary directory in your path by using the environment variable PATH or path (depending on the shell). The location of the variable's definition depends on the type of shell you are using and the login you use to run XFree86. In general, you should add either /usr/X386/bin (XFree86 version 2.x) or /usr/X11R6/bin (XFree86 version 3.x) to the path definition statement.
For example, if you use bash (Bourne Again Shell) for most purposes, a .profile file is read when you log in to set environment variables. If you log in as a user other than root, the .profile file is kept in your home directory. If you use the root login, the .profile may be kept in the root directory or you may be using the default system .profile kept in the file /etc/profile (note the lack of a period when the file is in /etc. This convention is used to show that it is a globally available .profile).
If the XFree86 bin directory isn't already in the path, add it to the path or PATH variable definition. A .profile file for bash may have the following line after adding the XFree86 directory:
PATH="/sbin:/usr/bin:/bin:/usr/X11/bin:/usr/openwin/bin"
For C shell users (including tcsh) other than root, the syntax is a little different. The startup file .login or csh.login contains a line defining the path. Adding the XFree86 directory is a matter of tacking it to the definition:
set path = ( /sbin /usr/bin /bin /usr/X11/bin /usr/openwin/bin . )
Of course, your exact path definition lines will probably differ. As long as you add the XFree86 bin directory to the path and then log out and back in, the shell should find the proper binary files.
Before you can run XFree86, you should specify some configuration information. This part tends to frustrate newcomers to XFree86 because getting your configuration files exactly right so that XFree86 runs properly can be a convoluted process. The step-by-step instructions in this section should streamline the process.
A utility called either ConfigFX86 or fx86config that is provided with many distributions of Linux and XFree86 simplifies the entire XFree86 installation process, but only if you have one of the supported graphics cards. A list of cards supported by ConfigFX86 and fx86config is usually included in the Hardware HOWTO file provided with the Linux distribution software. If you can't find the HOWTO file, you can obtain it from most FTP and BBS locations (see Chapter 2, "Linux Hardware and Software"). Make sure the version of the file corresponds to the Linux version you are running. The section "Using ConfigFX86 and fx86config" provides more details about ConfigFX86 and fx86config. (You can, in some cases, provide enough information for ConfigFX86 and fx86config to use your unlisted video card for the installation. This procedure is discussed in the "Using ConfigFX86 and fx86config" section.) If you don't have the Hardware HOWTO file or your video card is not listed and you don't want to use a generic driver, you must manually configure XFree86. Even if you use the ConfigXF86 or fx86config script to install XFree86, you may still have to make manual modifications to your installation.
Most of the configuration details for XFree86 version 2.x are contained in a file called Xconfig; XFree86 version 3.x uses a file called XF86Config or Xconfig, depending on the version. The bare-bones instructions for setting up an Xconfig or XF86Config file are spread out over several text files included with the XFree86 distribution set. Check the README, VideoModes.doc, README.Config, and README.Linux files. Also, read the man pages for Xconfig, XF86Config, XFree86, and Xfree86kbd. Finally, check the man pages for the server version you are running, if some are provided. It's a good idea to print out the man pages for easier reference.
You need a few items of information to properly complete the Xconfig or FX86Config file. Before you start configuring XFree86, take a moment to note the following details:
If you don't know some of the information and don't have an easy way (such as a utility program) to find out, check the documentation that comes with XFree86. Many distributions contain a directory such as /usr/X11/lib/X11/doc (usually linked to /usr/X386/lib/X11/doc or /usr/X11R6/lib/X11/doc) that contains a number of files describing many cards and monitors supported by XFree86 and the essential configuration information (such as monitor scan rates, which are always difficult to determine because you invariably don't remember where you placed the manual). Figure 5.1 shows an extract from the /usr/X11R6/lib/X11/doc/Monitors file. This entry shows the parameters that a Gateway 2000 system with a CrystalScan monitor requires. The Monitors file has entries for most popular monitor models. Another file included with most CD-ROM distributions is AccelCards, which lists popular video cards and their parameters. Figure 5.2 shows an extract from this file, which shows the S3 card series. Use these files, and any others in the doc directory, to identify the hardware you will be using.
Figure 5.1
The Monitors file in the X11/doc directory offers configuration information for many popular monitor models.
Figure 5.2.
The AccelCards file lists many popular video cards and the configuration information they require.
When you've noted all this configuration information, you are ready to start. Configuring XFree86 begins with the Xconfig or XF86Config file.
You can put the Xconfig or XF86Config file in several places on the Linux filesystem. Usually, it resides in the /usr/X386/lib/X11 directory, which is also where a sample Xconfig or XF86Config file is often found. If you have easy access to the /usr/X386/lib/X11 directory, it's the best place for the Xconfig or XF86Config file. (Formally, the file is referenced in /usr/X11R6/lib/X11 or /etc, but because /usr/X386 is linked to /usr/X11R6, the two directories point to the same place. The documentation may reference the X11R6 directory, but you can use either /usr/X386 or /usr/X11R6 as long as the link to the X386 directory is in place.)
Unless you are manually installing configuration information, don't worry about whether you should use Xconfig or XF86Config. Automated installation scripts will use the proper file. If you are performing a manual configuration, use Xconfig for XFree86 version 2.X and XF86Config for XFree86 version 3.x.
If you can't use the /usr/X386/lib/X11 directory (maybe it's read-only or on a remote server) or don't want to because you need a customized version of the Xconfig file, you can also place the file in the /etc directory or in your home directory. If the Xconfig file is in your home directory, it applies to your sessions only; any configuration information will not be valid for other users. The /etc directory location for the XFree86 Xconfig file means the configuration information is applicable to all users.
You can also put the Xconfig file in the directory /usr/X386/lib/X11 specific to a particular host machine. To do this, append the name of the host machine to Xconfig filename. For example, the file Xconfig.merlin applies the configuration information only to users logging in from the machine called merlin.
The Linux convention for the Xconfig file is to place it in the /etc directory. Because this location is not the usual one for XFree86 installations, you must create a link to the /etc/Xconfig file to /usr/X386/lib/X11 or your home directory. This link enables XFree86 to find the Xconfig file. To create the link just mentioned, issue the following command:
ln -s /usr/X386/lib/X11 /etc/Xconfig
The -s option creates a symbolic link (compared to a hard link), which is explained in Chapter 18, "Filesystems and Disks."
SuperProbe is a utility that attempts to determine the type of video card (and the amount of video RAM installed on that card) in a PC system. It works on ISA, EISA, and VLB (local bus) architectures, but not on MCA or PCI architectures (although SuperProbe versions for these systems may be available by the time you read this book). If you already know which video card you have, SuperProbe is of little use to you.
SuperProbe attempts to identify video cards by probing for certain known unique registers on each video card it knows about. This process has one drawbacksome instructions executed by SuperProbe can cause your machine to lock up. Although it is unlikely damage will occur because of SuperProbe, the filesystem will have to be cleaned if the machine must be reset. For this reason, make sure you are the only user on the machine. Making a backup of your system is also advisable.
Running SuperProbe by itself is almost guaranteed to lock up any machine. Use it with care and follow the instructions in this section for giving SuperProbe a basic idea of the testing it should do.
SuperProbe is usually included as part of the XFree86 distribution set on CD-ROMs; you also can get it from FTP and BBS sites that offer Linux software. SuperProbe is not exclusive to Linux; it can run under several other PC UNIX systems as well. A man page is available for SuperProbe.
SuperProbe uses a number of command-line options to specify its behavior. Although the exact options change with each new release of the software, the basic options of interest to you are limited to a few:
-bios | Specifies the video card BIOS' address, normally set to C0000. If you had to set your BIOS address to some other value, it should be specified with this option. |
-info | Displays a list of all video cards SuperProbe knows about and the card's names as recognized by SuperProbe. |
-no_16 | Disables 16-bit testing. This option is used only for old, 8-bit video cards. |
-no_bios | Disables testing of the video card BIOS and assumes the card is an EGA, VGA, SVGA, or later type. If your video card is new, this option is useful for preventing many BIOS-caused system freezes. |
-no_dac | Disables testing for a RAMDAC type. You can use this option with VGA and SVGA cards to prevent potential freezes. |
-no_mem | Skips the testing for the amount of video RAM installed on the video card. |
-order | Specifies the order in which chipsets should be tested. This option is useful if you think you know the types of chipsets, but want confirmation. Alternatively, if you suspect the video card has one of a few chipsets, you can list just those. |
-verbose | Displays information on-screen as to SuperProbe's actions and results. You should use this option in all cases to show progress and potential problems. |
One of the first steps to take is to display a list of all the video cards SuperProbe knows about. Issue the command
SuperProbe -info
and you will see a list that shows the cards, chipsets, and RAMDACs that SuperProbe can recognize. Note that the utility name SuperProbe is mixed case, with uppercase S and P. This format is unusual for a Linux system and may take experienced UNIX and Linux users a moment to get used to.
If you have an older 8-bit card, you can determine the chipset with the command
SuperProbe -no16 -verbose
If you have a 16-bit (or higher) card that you suspect to be an S3, Cirrus Logic, or Tseng chipset, for example, you can use the -order option to simplify testing (and prevent potential problems), as in
SuperProbe -order S3,Cirrus,Tseng -verbose
There are no spaces between chipsets specified after the -order option. The -verbose option lets you see what is going on. Narrowing the search for a chipset in this way prevents lockups. Even if you know exactly what video card is in your system, don't assume SuperProbe will function properly. SuperProbe has an annoying habit of hanging up a system because of conflicts with other cards or devices. Use it with care.
ConfigXF86 and XF86Config use simple interfaces from which you select supported video cards and video monitors. (ConfigXF86 was written by Stephen Zwaska, by the way.) If the ConfigXF86 or XF86Config utility supports your video card (check the Hardware HOWTO and XFree86 README files), you can use the ConfigXF86 and XF86Config installation routine to simplify the configuration process enormously. If ConfigXF86 or XF86Config is provided with your XFree86 distribution, it is in the directory /usr/X386/bin.
Documentation for ConfigXF86 and XF86Config is usually placed in /usr/X386/bin with the executable file. Some versions of Linux and XFree86 don't supply the documents, though. The documentation is often supplied in multiple formats. An ASCII version is called ConfigXF86.txt, and a PostScript version (or the XF86Config version) is called ConfigXF86.ps
When you run either ConfigXF86 or XF86Config, some general information appears on-screen. Figure 5.3 shows the introductory screen of XF86Config, which is used as an example for the screen shots throughout this section. After this screen, you may receive a status message telling you about existing files and distributions of X. In most CD-ROM based installations, you are told that you already have an earlier version of X, as shown in Figure 5.4. This version was installed by setup, in most cases.You can ignore these messages and continue on with the configuration, although you should read the messages about paths.
Figure 5.3.
The introductory screen of XF86Config explains what the program is going to do and what information you need to provide.
Figure 5.4.
Most versions of XF86Config warn you that you have an earlier version of X already on your drive.
You are then prompted for the information you gathered earlier about your system. In most cases, you are shown a list of supported values and asked to choose one. Following through these choices in order provides the utility with the proper information to build your Xconfig file. The XF86Config utility, for example, asks you for your mouse type, as shown in Figure 5.5. Choose the mouse model you are using from this list. Don't assume that because you configured a mouse when you installed Linux that X will pick up the correct type.
Figure 5.5.
Because X is mouse-dependent, XF86Config asks you for the type of mouse you will be using.
Depending on the type of mouse you choose, you may be asked about special mouse button functionality. Figure 5.6, for example, shows the prompt after selecting a Logitech MouseMan mouse, which has three buttons (as do most UNIX workstation mouse models). This screen enables you to use the three buttons for their proper functions. After this screen, you are asked for the port of the mouse, as shown in Figure 5.7. If you installed a mouse when you installed Linux (such as with setup), you may have already supplied the port the mouse will use. This port was linked to the special device driver /dev/mouse. If you have installed a mouse already, press Enter. Otherwise, give the mouse port name.
Figure 5.6.
If the type of mouse you selected in the previous screen supports special options, you are asked whether you want them to be enabled.
Figure 5.7.
X must know the port your mouse is attached to. If you have already configured a mouse, press Return.
Some versions of the configuration routine ask whether you want to enable special character bindings on the keyboard, as shown in Figure 5.8. This option is used most often for non-English characters. For most users, the answer is no.
Figure 5.8.
X provides support for non-English characters through extended keyboard bindings.
Now comes the trickier parts. You must supply the information about your monitor and video card that you determined earlier. The screen shown in Figure 5.9 asks about the horizontal sync frequencies your monitor uses. If you are not sure, use a generic (VGA or SVGA) setting. Choosing the wrong setting may cause damage to your monitor!
Figure 5.9.
Select the proper horizontal sync frequency for your monitor from this screen.
Next, you must set the vertical sync rate. Again, err on the side of the more common rates. This screen is shown in Figure 5.10. If you are not sure, choose the lowest number. The horizontal and vertical sync frequencies for most popular monitors are given in the Monitors file in the doc directory, mentioned earlier. You are then asked to enter a name for the monitor, which is used to identify it in the configuration files. Figure 5.11 shows this screen. You can enter the actual model name or any string you want; it doesn't have to match your actual monitor name because the string is not used for anything except identification.
Figure 5.10.
You need to set the vertical sync frequencies, too.
Figure 5.11.
After setting the frequencies your monitor uses, you get to name it.
After configuring the monitor, you must configure your video card. The configuration program may ask you whether you want to look at the video card database (see Figure 5.12). If you do not have the parameters your card supports already at hand, take advantage of this option. You can page through a list of video cards, as shown in Figure 5.13, until you find a card that matches your card. Choose the number in the left-hand column to display the card's information, as shown in Figure 5.14. Sometimes the information is very brief. You may want to copy down some of this information for later reference.
Figure 5.12.
The configuration program may give you the option of looking up your video card in the video database.
Figure 5.13.
The video card database has several pages of cards listed.
Figure 5.14.
The video card database shows the X configuration information about your card when you select the proper number from the list.
After choosing the video card, you select a server as shown in Figure 5.15. The servers available under X were discussed earlier in this chapter. Enter the number that corresponds to the server you want to use. If you don't want to experiment with video card-specific servers, choose the VGA or SVGA server (the VGA entry is a safe bet for a first-time installation). You can change the server later, so don't worry about getting the best performance you can out of your video card at this timeit's more important to get X running properly!
Figure 5.15.
Use this screen to specify the type of X server you want to run.
Depending on your installation configuration, you may be asked whether you want the configuration routine to set up some links for you, as shown in Figure 5.16. It doesn't hurt to have these links set unless they will cause a conflict with directory naming.
Figure 5.16.
On some systems, the configuration routine offers to set links to different X directories for you.
The next step is to tell X how much memory your video card has, as shown in Figure 5.17. The more RAM your video card has, the faster X can run. If you are not sure how much RAM your card has, choose a low number. Most video cards sold in the last year or two have at least 1M video RAM, but you should verify your card's RAM complement in your documentation.
Figure 5.17.
Choose the amount of video RAM on your card.
As a final step in the video card configuration, you are asked to name the card. As with the monitor names, these strings are used for identification only and can be set to anything you want.
Some video cards can handle special processing. A screen like the one shown in Figure 5.18 asks you which options you want to enable. Make sure you know what you are doing if you select some of these options; some of them can hang your system if used incorrectly. If you are not sure or you are configuring a generic system, don't enable any options. Just press Enter to ignore them.
Figure 5.18.
Some cards have special features that you can enable through this screen.
The screen shown in Figure 5.19 follows the special processing screen and asks about some clock features. Some video cards do not support this feature and will hang if it is tried. As you see at the bottom of the screen, the configuration utility has identified the video card in this configuration as not supporting this feature, so the SuperProbe system should not be run. If in doubt, don't use it!
Figure 5.19.
Many high-speed video cards can be optimized with the use of a Clocks option, although some cards (including the one in this example) do not support the option.
Finally, the configuration script asks whether you want it to write the information to the X configuration file, as shown in Figure 5.20. If you answer yes, the configuration file is updated automatically. If you answer no, all your entries are lost and you return to the shell.
Figure 5.20.
The final step in the configuration process is writing the configuration file. This prompt verifies that you want to generate the file.
After the XF86Config or Xconfig file has been created using the script, resist the temptation to start up X immediately. Instead, take the time to examine the file manually to prevent any chance of damage to your hardware from an incorrect setting. The following section on manually configuring the Xconfig or XF86Config file explains all the settings. Once you're sure all is fine, launch X with the command startx. If the X server fails to start, run the configuration utility again and check all your answers carefully. In case of problems, always choose generic settings just to get X working.
If you are manually entering your configuration information into the Xconfig or XF86Config files, you need to know how the files are laid out and how to enter your specific details. All versions of XFree86 have at least one sample configuration file, usually called Xconfig.eg or XF86Config.eg and located in the lib directory. Use this file as a template for creating your own configuration file. Copy the example file to a new file without the .eg extension, and make the changes described in the following paragraphs.