317 lines
15 KiB
Plaintext
317 lines
15 KiB
Plaintext
|
The Linux XFree86 HOWTO
|
|||
|
|
|||
|
Eric Steven Raymond
|
|||
|
|
|||
|
[http://www.tuxedo.org/~esr/] Thyrsus Enterprises
|
|||
|
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>esr@thyrsus.com
|
|||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
Copyright <20> 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
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[http://www.pluto.linux.it/ildp/HOWTO/XFree86-HOWTO.html] Italian
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[http://www.lugos.si/delo/slo/HOWTO-sl/XFree86-HOWTO-sl.html] Slovenian
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[http://meta.mioc.hr/XFree86-KAKO.html] Croatian
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[http://www.nl.linux.org/doc/HOWTO/] Dutch
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[http://www.ppk.ini.hu/texts/XFree86-HOGYAN/XFree86-HOGYAN.html]
|
|||
|
Hungarian
|
|||
|
|
|||
|
|