317 lines
15 KiB
Plaintext
317 lines
15 KiB
Plaintext
The Linux XFree86 HOWTO
|
||
|
||
Eric Steven Raymond
|
||
|
||
[http://www.tuxedo.org/~esr/] Thyrsus Enterprises
|
||
|
||
esr@thyrsus.com
|
||
|
||
|
||
Copyright © 2000 by Eric S. Raymond
|
||
|
||
$Date: 2001/09/09 08:29:29 $
|
||
Revision History
|
||
Revision 7.2 2001-09-09 Revised by: esr
|
||
XFree86 site has changed directory structure.
|
||
Revision 7.1 2001-08-09 Revised by: esr
|
||
Configuration has changed, and is now much simpler.
|
||
Revision 7.0 2000-08-21 Revised by: esr
|
||
First DocBook version.
|
||
|
||
|
||
This document describes how to obtain, install, and configure version 4.1.0
|
||
of the XFree86 version of the X Window System (X11R6) for Linux systems. It
|
||
is a step-by-step guide to configuring XFree86 on your system.
|
||
|
||
-----------------------------------------------------------------------------
|
||
Table of Contents
|
||
1. Introduction
|
||
1.1. Other sources of information
|
||
1.2. New versions of this document
|
||
1.3. Feedback and Corrections
|
||
|
||
|
||
2. Hardware requirements
|
||
3. Installing XFree86
|
||
4. Configuring XFree86
|
||
4.1. Normal Configuration
|
||
|
||
|
||
5. Running XFree86
|
||
6. Translations
|
||
|
||
-----------------------------------------------------------------------------
|
||
1. Introduction
|
||
|
||
The X Window System is a large and powerful (some might say excessively large
|
||
and overly complex) graphics environment for UNIX systems. The original X
|
||
Window System code was developed at MIT; commercial vendors have since made X
|
||
the industry standard for UNIX platforms. Virtually every UNIX workstation in
|
||
the world runs some variant of the X Window system.
|
||
|
||
A freely redistributable port of the MIT X Window System version 11, release
|
||
6 (X11R6) for 80386/80486/Pentium UNIX systems has been developed by a team
|
||
of programmers originally headed by David Wexelblat <dwex@XFree86.org>. The
|
||
release, known as XFree86, is available for System V/386, 386BSD, and other
|
||
x86 UNIX implementations, including Linux. It includes all of the required
|
||
binaries, support files, libraries, and tools.
|
||
|
||
Complete information on XFree86 is available at the XFree86 web site, [http:/
|
||
/www.XFree86.org] http://www.XFree86.org.
|
||
|
||
In this document, we'll give a step-by-step description of how to install and
|
||
configure XFree86 for Linux, but you will have to fill in some of the details
|
||
yourself by reading the documentation released with XFree86 itself. (This
|
||
documentation is discussed below.) However, using and customizing the X
|
||
Window System is far beyond the scope of this document---for this purpose you
|
||
should obtain one of the many good books on using the X Window System.
|
||
-----------------------------------------------------------------------------
|
||
|
||
1.1. Other sources of information
|
||
|
||
If you have never heard of Linux before, there are several sources of basic
|
||
information about the system. The best place to find these is at the Linux
|
||
Documentation Project home page. You can find the latest, up-to-date version
|
||
of this document there, as [http://metalab.unc.edu/LDP/HOWTO/
|
||
XFree86-HOWTO.html] http://metalab.unc.edu/LDP/HOWTO/XFree86-HOWTO.html.
|
||
-----------------------------------------------------------------------------
|
||
|
||
1.2. New versions of this document
|
||
|
||
New versions of the Linux XFree86 HOWTO will be periodically posted to [news:
|
||
comp.os.linux.help] comp.os.linux.help and [news:comp.os.linux.announce]
|
||
comp.os.linux.announce and [news:news.answers] news.answers. They will also
|
||
be uploaded to various Linux WWW and FTP sites, including the LDP home page.
|
||
|
||
You can always view the latest version of this on the World Wide Web via the
|
||
URL [http://www.linuxdoc.org/HOWTO//XFree86-HOWTO.html] http://
|
||
www.linuxdoc.org/HOWTO//XFree86-HOWTO.html.
|
||
|
||
This document was originally written by Matt Welsh in the dim and backward
|
||
abysm of time. Thanks, Matt!
|
||
-----------------------------------------------------------------------------
|
||
|
||
1.3. Feedback and Corrections
|
||
|
||
If you have questions or comments about this document, please feel free to
|
||
mail Eric S. Raymond, at <esr@thyrsus.com>. I welcome any suggestions or
|
||
criticisms. If you find a mistake with this document, please let me know so I
|
||
can correct it in the next version. Thanks.
|
||
|
||
Please do not mail me questions about how to make your video card and monitor
|
||
work with X. This HOWTO is intended to be a rapid, painless guide to normal
|
||
installation using the new interactive configurator. If you run into
|
||
problems, browse the XFree86 Video Timings HOWTO. (This is the up-to-date
|
||
HTML version of XFree86's `Videomodes.doc' file.) That document tells
|
||
everything I know about configuration troubleshooting. If it can't help you,
|
||
I can't either.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2. Hardware requirements
|
||
|
||
You can find an up-to-date list of supported cards and chipset types at
|
||
[http://www.xfree86.org/4.1.0/Status.html] the 4.1.0 status page.
|
||
|
||
The documentation included with your video adaptor should specify the chipset
|
||
used. If you are in the market for a new video card, or are buying a new
|
||
machine that comes with a video card, have the vendor find out exactly what
|
||
the make, model, and chipset of the video card is. This may require the
|
||
vendor to call technical support on your behalf; in general vendors will be
|
||
happy to do this. Many PC hardware vendors will state that the video card is
|
||
a ``standard SVGA card'' which ``should work'' on your system. Explain that
|
||
your software (mention Linux and XFree86!) does not support all video
|
||
chipsets and that you must have detailed information.
|
||
|
||
You can also determine your videocard chipset by running the SuperProbe
|
||
program included with the XFree86 distribution. This is covered in more
|
||
detail below.
|
||
|
||
Supported video cards will work with all bus types, including ISA and VLB and
|
||
PCI.
|
||
|
||
One problem faced by the XFree86 developers is that some video card
|
||
manufacturers use non-standard mechanisms for determining clock frequencies
|
||
used to drive the card. Some of these manufacturers either don't release
|
||
specifications describing how to program the card, or they require developers
|
||
to sign a non-disclosure statement to obtain the information. This would
|
||
obviously restrict the free distribution of the XFree86 software, something
|
||
that the XFree86 development team is not willing to do. For a long time, this
|
||
has been a problem with certain video cards manufactured by Diamond, but as
|
||
of release 3.1 of XFree86, Diamond has started to work with the development
|
||
team to release free drivers for these cards.
|
||
|
||
The suggested setup for XFree86 under Linux is a 486 or better with at least
|
||
8 megabytes of RAM, and a video card with a chipset listed above. For optimal
|
||
performance, we suggest using an accelerated card, such as an S3-chipset
|
||
card. You should check the documentation for XFree86 and verify that your
|
||
particular card is supported before taking the plunge and purchasing
|
||
expensive hardware.
|
||
|
||
As a side note, the personal Linux system of Matt Welsh (this FAQ's
|
||
originator) was a 486DX2-66, 20 megabytes of RAM, equipped with a VLB S3-864
|
||
chipset card with 2 megabytes of DRAM. He ran X benchmarks on this machine as
|
||
well as on Sun Sparc IPX workstations. The Linux system was roughly 7 times
|
||
faster than the Sparc IPX (for the curious, XFree86-3.1 under Linux, with
|
||
this video card, runs at around 171,000 xstones; the Sparc IPX at around
|
||
24,000). In general, XFree86 on a Linux system with an accelerated SVGA card
|
||
will give you much greater performance than that found on commercial UNIX
|
||
workstations (which usually employ simple framebuffers for graphics).
|
||
|
||
Your machine will need at least 4 megabytes of physical RAM, and 16 megabytes
|
||
of virtual RAM (for example, 8 megs physical and 8 megs swap). Remember that
|
||
the more physical RAM that you have, the less that the system will swap to
|
||
and from disk when memory is low. Because swapping is inherently slow (disks
|
||
are very slow compared to memory), having 8 megabytes of RAM or more is
|
||
necessary to run XFree86 comfortably. 16 is better. A system with 4 megabytes
|
||
of physical RAM could run much (up to 10 times) more slowly than one with 8
|
||
megs or more.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3. Installing XFree86
|
||
|
||
It's quite likely that you obtained XFree86 as part of a Linux distribution,
|
||
in which case downloading the software separately is not necessary. Or you
|
||
may be able to get RPM binary packages built for your machine, in which case
|
||
you can just install those using rpm(1). In either case you can skip this the
|
||
rest of this section.
|
||
|
||
The Linux binary distributions of XFree86 can be found on a number of FTP
|
||
sites. On the XFree86 site they are [ftp://ftp.xfree86.org/pub/XFree86/4.1.0/
|
||
binaries/] here. You will want either the Linux-axp-glibc21,
|
||
Linux-ix86-glibc20, or Linux-ix86-glibc21 subdirectories, depending on your
|
||
processor type (axp=alpha, ix86=Intel 80x86) and Gnu C library version.
|
||
|
||
Before doing anything else, download and run the `Xinstall.sh' shell script
|
||
first. This may tell you about prerequisites you'll need to have in place
|
||
before continuing your installation. Complete instructions for installing the
|
||
XFree86 binary distribution are at [http://www.xfree86.org/4.1.0/
|
||
Install2.html] http://www.xfree86.org/4.1.0/Install2.html.
|
||
|
||
The binary directory should contain release notes for the current version in
|
||
RELNOTES. Consult those for installation details.
|
||
|
||
All that is required to install XFree86 is to obtain the above files, create
|
||
the directory /usr/X11R6 (as root), and unpack the files from /usr/X11R6 with
|
||
a command such as:
|
||
+---------------------------------------------------------------------------+
|
||
|gzip -dc Xbin.tgz | tar xfB - |
|
||
+---------------------------------------------------------------------------+
|
||
|
||
Remember that these tar files are packed relative to /usr/X11R6, so it's
|
||
important to unpack the files there.
|
||
|
||
You need to make sure that /usr/X11R6/bin is on your path. This can be done
|
||
by editing your system default /etc/profile or /etc/csh.login (based on the
|
||
shell that you, or other users on your system, use). Or you can simply add
|
||
the directory to your personal path by modifying .bashrc or .cshrc, based on
|
||
your shell.
|
||
|
||
You also need to make sure that /usr/X11R6/lib can be located by ld.so, the
|
||
runtime linker. To do this, add the line:
|
||
+---------------------------------------------------------------------------+
|
||
|/usr/X11R6/lib |
|
||
+---------------------------------------------------------------------------+
|
||
|
||
to the file /etc/ld.so.conf, and run /sbin/ldconfig, as root.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4. Configuring XFree86
|
||
|
||
4.1. Normal Configuration
|
||
|
||
Configuring XFree86 to use your mouse, keyboard, monitor, and video card
|
||
correctly used to be something of a black art, requiring extensive
|
||
hand-hacking of a complex configuration file. No more; recent releases have
|
||
made the process nearly trivial. It simplifies matters a lot that there are
|
||
no longer separate servers for different kinds of cards, just modules loaded
|
||
by a common server.
|
||
|
||
If you're enabling X as you intall a Linux distribution, the distribution
|
||
install script will ask the few questions needed to configure X. Otherwise,
|
||
all you need do to configure it is fire up the command XFree86 -configure.
|
||
|
||
Both methods depend on the fact that all new PC hardware these days ships
|
||
with monitors that can tell X what their capabilities are. When invoked in
|
||
this mode, X does that query and also polls your hardware for the presence of
|
||
a mouse and keyboard. It then writes out a configuration file thar is used by
|
||
later runs of X.
|
||
|
||
One minor point to keep in mind is that, if you're like most people using a
|
||
current PC, your keyboard is actually what XF86Setup calls `Generic 102-key
|
||
PC (intl)' rather than the default `Generic 101-key PC'. If you pick the
|
||
default (101) the key cluster on the extreme right of your keyboard (numeric
|
||
keypad and friends) may stop working.
|
||
-----------------------------------------------------------------------------
|
||
|
||
5. Running XFree86
|
||
|
||
With your XF86Config file configured, you're ready to fire up the X server
|
||
and give it a spin. First, be sure that /usr/X11R6/bin is on your path.
|
||
|
||
The command to start up XFree86 is
|
||
+---------------------------------------------------------------------------+
|
||
|startx |
|
||
+---------------------------------------------------------------------------+
|
||
|
||
This is a front-end to xinit (in case you're used to using xinit on other
|
||
UNIX systems).
|
||
|
||
This command will start the X server and run the commands found in the file
|
||
.xinitrc in your home directory. .xinitrc is just a shell script containing X
|
||
clients to run. If this file does not exist, the system default /usr/X11R6/
|
||
lib/X11/xinit/xinitrc will be used.
|
||
|
||
A standard .xinitrc file looks like this:
|
||
+---------------------------------------------------------------------------+
|
||
|#!/bin/sh |
|
||
| |
|
||
|xterm -fn 7x13bold -geometry 80x32+10+50 & |
|
||
|xterm -fn 9x15bold -geometry 80x34+30-10 & |
|
||
|oclock -geometry 70x70-7+7 & |
|
||
|xsetroot -solid midnightblue & |
|
||
| |
|
||
|exec fvwm2 |
|
||
+---------------------------------------------------------------------------+
|
||
|
||
This script will start up two xterm clients, an oclock, and set the root
|
||
window (background) color to midnightblue. It will then start up fvwm2, the
|
||
window manager. Note that fvwm2 is executed with the shell's exec statement;
|
||
this causes the xinit process to be replaced with fvwm2. Once the fvwm2
|
||
process exits, the X server will shut down. You can cause fvwm2 to exit by
|
||
using the root menus: depress mouse button 1 on the desktop background --
|
||
this will display a pop up menu which will allow you to Exit Fvwm2.
|
||
|
||
Be sure that the last command in .xinitrc is started with exec, and that it
|
||
is not placed into the background (no ampersand on the end of the line).
|
||
Otherwise the X server will shut down as soon as it has started the clients
|
||
in the .xinitrc file.
|
||
|
||
Alternately, you can exit X by pressing ctrl-alt-backspace in combination.
|
||
This will kill the X server directly, exiting the window system.
|
||
|
||
The above is a very, very simple desktop configuration. Many wonderful
|
||
programs and configurations are available with a bit of work on your .xinitrc
|
||
file.
|
||
|
||
If you are new to the X Window System environment, we strongly suggest
|
||
picking up a book such as The Joy of X: An Overview of the X Window System by
|
||
Niall Mansfield (Addison-Wesley 1993, ISBN 0201-565129). Using and
|
||
configuring X is far too in-depth to cover here. See the man pages for xterm,
|
||
oclock, and fvwm2 for clues on getting started.
|
||
-----------------------------------------------------------------------------
|
||
|
||
6. Translations
|
||
|
||
* [http://www.pluto.linux.it/ildp/HOWTO/XFree86-HOWTO.html] Italian
|
||
|
||
* [http://www.lugos.si/delo/slo/HOWTO-sl/XFree86-HOWTO-sl.html] Slovenian
|
||
|
||
* [http://meta.mioc.hr/XFree86-KAKO.html] Croatian
|
||
|
||
* [http://www.nl.linux.org/doc/HOWTO/] Dutch
|
||
|
||
* [http://www.ppk.ini.hu/texts/XFree86-HOGYAN/XFree86-HOGYAN.html]
|
||
Hungarian
|
||
|
||
|