1
<!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN" [
2
<!ENTITY % defs SYSTEM "defs.ent"> %defs;
7
<title>Installation Details for XFree86™ &relvers;
8
<author>The XFree86 Project, Inc
12
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/Install.sgml,v 1.17 2003/02/24 17:09:16 dawes Exp $
17
How to install XFree86.
25
This document contains information about installing the XFree86 binaries
26
as provided by The XFree86 Project.
29
The XFree86 binaries that we provide for UNIX-like OS's (Linux, the
30
BSDs, Solaris, etc) are packaged in a platform-independent gzipped tar
31
format (aka "tarballs" identified by the <tt>.tgz</tt> suffix). Along
32
with the binaries we provide a customized version of the GNU tar utility
33
called "extract" and an installation script. We recommend that these
34
be used to install the binaries. (The source for this customized version
35
of GNU tar can be found in the XFree86 CVS repository's "utils" module,
36
and from our <url name="ftp site"
37
url="ftp://ftp.xfree86.org/pub/XFree86/misc/utils-&utilsvers;.tgz">.)
41
Note: for snapshot releases like this one, binaries are only available for
42
a small number of platforms.
46
<sect>Downloading the XFree86 &relvers; binaries
50
XFree86 &relvers; is an update release. The most recent full release
51
(&fullrelvers;) needs to be installed before installing this update.
52
Information about downloading and installing &fullrelvers; can be found
53
in the installation document for that version, which can be found
54
on the <url name="XFree86 web site"
55
url="http://www.xfree86.org/&fullrelvers/Install.html">.
58
We provide XFree86 &relvers; <![ %updaterel [update ]]>binaries for a range
59
of operating systems at our
62
url="ftp://ftp.xfree86.org/pub/XFree86/snapshots/&relvers/binaries/">
66
url="ftp://ftp.xfree86.org/pub/XFree86/&relvers/binaries/">
71
url="http://ftp.xfree86.org/pub/XFree86/snapshots/&relvers/binaries/">.
75
url="http://ftp.xfree86.org/pub/XFree86/&relvers/binaries/">.
77
Often during releases our site is heavily loaded. Instead of downloading
78
directly from us we recommend that instead you use one of our mirror
82
Our binaries are organized by sub-directories which correspond to each
83
of the OS/platforms for which we provide binaries. First go to the
84
sub-directory that represents your OS platform. In some cases (e.g.,
85
Linux) there may be a number of choices depending on the architecture
86
or libc version your platform uses. In all case we recommend that you
87
first download the <tt>Xinstall.sh</tt> script, and run it as in the
88
following example to find out which binary distribution you should
95
The output of this utility tells you which is the correct set of binaries
96
for you to download. If you are careful with this step you will save
97
yourself a lot time and trouble from NOT downloading an incompatible
103
<item>The Xinstall.sh script must be downloaded in binary mode,
104
otherwise it won't run correctly. If you get lots of "command
105
not found" messages when you try to run it, then it is most
106
likely because the script wasn't downloaded in binary mode.
107
Some web browsers won't do this for files of that name, so we
108
also have a copy of it called "<tt>Xinstall.bin</tt>", and most
109
browsers should download that correctly. When downloading it
110
under this name, select "save as" on your browser, and save the
111
file under the name "<tt>Xinstall.sh</tt>".
113
<item>The Xinstall.sh script requires some system commands and
114
utilities to function correctly. While most systems will have
115
these, some Linux installations may not. If you find that the
116
script is failing because of some missing system command, you
117
will need to install it before you can continue. If you don't
118
know how to do this, then we recommend that you obtain this
119
version of XFree86 from your Operating System distributor.
121
<item>Always use the version of the Xinstall.sh script that's provided
122
with the release you're installing. Older versions of the script
123
may not install newer releases correctly.
125
<item>If the binary distribution reported by the Xinstall.sh script
126
isn't present on our site, then there are two possibilities.
127
The first is that it hasn't been prepared and uploaded yet.
128
This is likely if you are looking soon after the release date.
129
The second possibility is that we won't have it available at
130
all for this release. This is likely if it's still not there
131
about two weeks after the release date. Check <url name="here"
132
url="http://www.xfree86.org/&relvers;/UPDATES.html"> for
133
information about updates to our binary distributions, and <url
134
name="here" url="http://www.xfree86.org/&relvers;/ERRATA.html">
135
for errata related to this release.
139
Once you're run the <tt>Xinstall.sh</tt> script and found which binary
140
<![ %updaterel; [update ]]>distribution is suitable for your system,
141
download the necessary files. The <![ %fullbinaries [twelve (12)]]><![
142
%updaterel [four (4)]]> mandatory files for all installations are listed
143
below. If you have not downloaded all of the files, the installer script
148
1. Xinstall.sh The installer script
149
2. extract The utility for extracting tarballs
150
3. Xbin.tgz X clients/utilities and run-time libraries
151
4. Xlib.tgz Some data files required at run-time
152
5. Xman.tgz Manual pages
153
6. Xdoc.tgz XFree86 documentation
154
7. Xfnts.tgz Base set of fonts
155
8. Xfenc.tgz Base set of font encoding data
156
9. Xetc.tgz Run-time configuration files
157
10. Xvar.tgz Run-time data
158
11. Xxserv.tgz XFree86 X server
159
12. Xmod.tgz XFree86 X server modules
165
1. Xinstall.sh The installer script
166
2. extract The utility for extracting tarballs
167
3. Xupdate.tgz Updated files except X server drivers
168
4. Xdrivers.tgz Updated X server drivers
174
<item>Some web browsers have a problem downloading the <tt>extract</tt>
175
utility correctly. If you encounter this problem, download the
176
version called <tt>extract.exe</tt> instead. This should fix the
177
problem. (This is not a DOS/Windows executable.)
180
<item>A few distributions don't have or require the <tt>Xvar.tgz</tt>
181
tarball. If it is present in the <tt>binaries</tt> sub-directory
182
for your platform, then it is required.
185
<item>The Darwin/Mac OS X distribution doesn't have or require the
186
<![ %fullbinaries [<tt>Xmod.tgz</tt>]]><![ %updaterel
187
[<tt>Xdrivers.tgz</tt>]]> tarball.
189
<item>Some distributions may have additional mandatory tarballs.
190
While rare, the installer script will tell you if any are missing.
195
The following eleven (11) tarballs are optional. You should download
196
the ones you want to install.
199
1. Xfsrv.tgz Font server
200
2. Xnest.tgz Nested X server
201
3. Xprog.tgz X header files, config files and compile-time libs
202
4. Xprt.tgz X Print server
203
5. Xvfb.tgz Virtual framebuffer X server
204
6. Xf100.tgz 100dpi fonts
205
7. Xfcyr.tgz Cyrillic fonts
206
8. Xfscl.tgz Scalable fonts (Speedo, Type1 and TrueType)
207
9. Xhtml.tgz HTML version of the documentation
208
10. Xps.tgz PostScript version of the documentation
209
11. Xjdoc.tgz Documentation in Japanese
214
<item>Some distributions may have some additional optional tarballs.
218
If you miss some and want to install them later, go to the
219
<ref id="manual-install" name="Manual Installation"> section.
222
<sect>Installing XFree86 &relvers; using the <tt>Xinstall.sh</tt> script
224
We strongly recommend that our XFree86 &relvers; binaries be installed
225
using the <tt>Xinstall.sh</tt> script that we provide.
226
<![ %updaterel [It is also important that the previous full release
227
(&fullrelvers;) is installed before installing this update release.
228
Make sure that you use the &relvers; version of the <tt>Xinstall.sh</tt>
229
script to install this update. Older versions may not be able to do it
232
steps in the manual installation process, and those steps can vary
233
according to the platform and hardware setup. <![ %fullbinaries [There is a description of
234
the manual installation process for the most common cases <ref
235
id="manual-install" name="below">.]]>
237
You must login as the super user (root) to run the installer script.
238
Place all of the downloaded files into a single directory (choose a
239
temporary location with enough space). Use the cd command to change to
240
that directory and then run the installer script as follows:
246
Answer the prompts as they come up. If you are missing something that
247
is required, the installer may tell you to install it before trying
248
again. If the problem is that you did not download all of mandatory
249
files aforementioned, then the installer will tell you which ones are
250
missing and ask you to download them before proceeding.
252
<sect1>Questions the installer may ask
254
The installer asks some questions that may not have obvious answers. The
255
information here should help you answer them. In most cases, apart from
256
the first question, the default answers should be OK.
258
If you run the installer from within an X session (the installer checks
259
if <tt>$DISPLAY</tt> is set), you will be warned that doing so is not
260
a good idea. Unless you have a good reason for knowing that this won't
261
be a problem, you should exit your X session, including stopping xdm or
262
equivalent if it is running, before continuing. If you ignore this
263
warning and run into problems, well, you were warned!
265
<![ %fullbinaries [If you have an existing X installation, you]]>
266
<![ %updaterel [You ]]>
267
will be warned that proceeding
268
with this installation will overwrite it. Only those things that are
269
part of our standard distribution will be overwritten. Other X
270
applications that you may have installed will not be removed. Some
271
configuration files may be overwritten though, but the installer should
272
prompt you before doing so. As the opening greeting says, it is
273
<bf>strongly</bf> recommended that you backup any existing installation
274
before proceeding. If you want your old applications to still be there
275
after you've installed, don't do the "backup" by simply renaming
276
your old <tt>/usr/X11R6</tt> directory. It is better to make a copy of
277
it, and then install over the top of the original one. If you run into
278
problems and want to revert to the old installation, you can then
279
delete the overwritten one and copy the saved version back.
281
During the first part of the installation over an existing version, the
282
script may remove some old files or directories that would get in the
283
way of the new installation. It will list which files/directories have
284
been removed. If none are listed, then none were removed.
287
The next step when installing over an existing version is to check for
288
existing configuration files. As of XFree86 version 3.9.18, the run-time
289
configuration files are installed by default under <tt>/etc/X11</tt>
290
instead of under <tt>/usr/X11R6/lib/X11</tt>. The installer will move
291
the existing ones for you and create the necessary symbolic links. If
292
you don't want to have these configuration files under <tt>/etc/X11</tt>,
293
then you should answer "no" when asked about it. Answering "no" here
294
also means that the new configuration files will be installed in the
295
old <tt>/usr/X11R6/lib/X11</tt> location.
297
Note: for the rare systems that don't have symbolic links, this question
298
will not be asked. The default answer is "yes" because that is best
299
for most situations. It is our new default. It makes it easier to
300
share the <tt>/usr/X11R6</tt> directory between multiple hosts, and
301
allows it to be mounted read-only. If you don't need these features,
302
then you can safely answer "no" if you don't want them moved.
304
When installing over an existing version, you will be prompted before
305
each set of configuration files is installed. If you haven't made any
306
Customisations to your existing configuration files, then you can safely
307
answer "yes" for each of these. If you have made customisations, you
308
can try answering "no". If you run into problems later, you may need
309
to manually merge your customisations into the the new version of the
310
configuration files. The configuration files can all be found in the
311
<tt>Xetc.tgz</tt> tarball. See the <ref id="manual-install" name="section
312
below"> about manual installation for information about extracting them
315
After the configuration files have been dealt with, the other mandatory
316
components of the binary distribution will be installed. This should
317
proceed without any user intervention.
319
If you downloaded any of the optional components, the installer will
320
ask you about each one before it is installed. The default answer is
321
"yes". If there are any that you've since decided that you don't want
322
to install, answer "no" when prompted.
324
After that is done, the main part of the installation is complete. The
325
next steps are to tidy up some aspects of the installation. The first
326
of these is to run "<tt>ldconfig</tt>" on systems that require it, so
327
that the newly installed shared libraries are accessible. Then
328
the <tt>fonts.dir</tt> files in some directories are updated so that
329
the fonts can be accessed correctly. Next, the installer checks to
330
see if your system has a termcap file or terminfo files. If it finds
331
the former, it tells you how you may update the entries in that file.
332
If it finds the latter, it asks you if you want it to update them
335
You may be asked if you want to create links for the GL libraries and
336
header files. The OpenGL standard on some platforms (Linux in particular)
337
says that these should be installed in the standard system locations
338
(<tt>/usr/lib</tt> and <tt>/usr/include</tt>), so the installer offers
339
to create the appropriate links. If you're running Linux, you should
340
probably answer yes. For other platforms it is your choice. If you
341
already have another version of libGL in /usr/lib, answering "yes" will
342
remove it and replace it with a link to the version we supply. The
343
installer will show you a listing of any existing versions before asking
344
if they should be replaced.
346
Finally, the installer asks you if you want a link created for the
347
<tt>rstart</tt> utility. On most modern systems the link isn't essential,
348
so the default answer is "no". Answer "yes" if you know that you need
349
it. If you find later that you need it, you can create it easily by
353
rm -f /usr/bin/rstartd
354
ln -s /usr/X11R6/bin/rstartd /usr/bin/rstartd
359
<sect1>After the installation is complete
361
The next step is to configure the X server. That is covered in detail
362
in an as-yet unwritten document :-(. In the meantime, there are three
363
ways to create a basic X server configuration file for XFree86 &relvers;.
364
One is to run the <tt>xf86config</tt> utility. Another is to run the
365
<tt>xf86cfg</tt> utility. The third option is to use the new
366
<tt>-configure</tt> X server option:
372
Note that if you are running Darwin/Mac OS X, there is no step 3 :-).
373
You should skip this step, as configuration is not required or possible.
374
The X server configuration file is not used on Darwin/Mac OS X.
376
The X server config file (<tt>XF86Config</tt>) format has changed
377
compared to 3.3.x. Also, its default location is now <tt>/etc/X11</tt>.
378
Finally, there is now only one X server for driving video hardware,
379
and it is called "<tt>XFree86</tt>". Once you're satisfied with the
380
operation of the new X server, you can safely remove the old
381
<tt>XF86_*</tt> and/or <tt>XF98_*</tt> X server binaries from
382
<tt>/usr/X11R6/bin</tt>.
384
After the X server configuration is done, it may be advisable to reboot,
385
especially if you run xdm (or equivalent) or the font server (xfs).
388
<sect>Installing XFree86 &relvers; manually<label id="manual-install">
390
This section contains information about manually installing the XFree86
391
&relvers; binary distributions. You should only use this method if you
392
know what you're doing. The information here covers some common cases,
393
but not every possible case. It also may not be complete or up to date.
394
Use at your own risk.
396
Put all of the downloaded files into a single directory (choose some
397
temporary location with enough space). Become the super user (root).
398
All of the following commands should be run as root, and they should be
399
run from the directory that has all of the downloaded files. The
400
"<tt>extract</tt>" utility should be used to unpack the tarballs. This
401
is a customised version of GNU tar that has the gzip code built-in, and
402
which has a different usage when run under the name "extract". One
403
important thing that <tt>extract</tt> does that most versions of tar do
404
not do by default is that it unlinks existing files before writing new
405
ones. This is important when installing over an existing version of X.
406
If you choose to use some other utility to extract the tarballs, you're
409
<sect1>A new installation
411
The simplest case is when there is no existing X installation. The
412
installation procedure for this case is as follows:
418
./extract -C /usr/X11R6 X[a-df-uw-z]*.tgz
419
./extract -C /usr/X11R6 Xvfb.tgz # If you are installing Xvfb
420
./extract -C /etc/X11 Xetc.tgz
421
./extract -C /var Xvar.tgz
422
ln -s /etc/X11/app-defaults /usr/X11R6/lib/X11
423
ln -s /etc/X11/fs /usr/X11R6/lib/X11
424
ln -s /etc/X11/lbxproxy /usr/X11R6/lib/X11
425
ln -s /etc/X11/proxymngr /usr/X11R6/lib/X11
426
ln -s /etc/X11/rstart /usr/X11R6/lib/X11
427
ln -s /etc/X11/twm /usr/X11R6/lib/X11
428
ln -s /etc/X11/xdm /usr/X11R6/lib/X11
429
ln -s /etc/X11/xinit /usr/X11R6/lib/X11
430
ln -s /etc/X11/xsm /usr/X11R6/lib/X11
431
ln -s /etc/X11/xserver /usr/X11R6/lib/X11
432
chmod ug-w /usr/X11R6/lib # Make sure the permissions are OK
433
/sbin/ldconfig /usr/X11R6/lib # For Linux
434
/sbin/ldconfig -m /usr/X11R6/lib # For FreeBSD, NetBSD, OpenBSD
435
/usr/X11R6/bin/mkfontdir /usr/X11R6/lib/X11/fonts/misc
438
<sect1>Installing over an old installation
440
If you have an existing installation of X, you should make a backup copy
441
of it before installing the new version over the top of it.
443
Before doing anything else, make sure the <tt>extract</tt> command is
444
executable, and also link it to the name "<tt>gnu-tar</tt>" so that it
445
can be used as a regular <tt>tar</tt> command:
453
The first part of the procedure is to move the old run-time config files
454
from <tt>/usr/X11R6/lib/X11</tt> to <tt>/etc/X11</tt>. Create
455
<tt>/etc/X11</tt> if it doesn't already exist. For each of the following
456
sub-directories (<tt>app-defaults</tt>, <tt>fs</tt>, <tt>lbxproxy</tt>,
457
<tt>proxymngr</tt>, <tt>rstart</tt>, <tt>twm</tt>, <tt>xdm</tt>,
458
<tt>xinit</tt>, <tt>xsm</tt>, <tt>xserver</tt>) that you want to move,
459
check that there is a sub-directory of this name in
460
<tt>/usr/X11R6/lib/X11</tt>. Create a sub-directory of the same name
461
under <tt>/etc/X11</tt>, then copy the files over by running:
464
./gnu-tar -C /usr/X11R6/lib/X11/subdir -c -f - . | \
465
./gnu-tar -C /etc/X11/subdir -v -x -p -U -f -
468
For each subdirectory that is moved, remove the one under
469
<tt>/usr/X11R6/lib/X11</tt> and create a symbolic link to the new
473
rm -fr /usr/X11R6/lib/X11/subdir
474
ln -s /etc/X11/subdir /usr/X11R6/lib/X11
477
For those subdirectories that didn't already exist under
478
<tt>/usr/X11R6/lib/X11</tt>, create one under <tt>/etc/X11</tt> and
479
create the symbolic link to it:
482
mkdir /etc/X11/subdir
483
ln -s /etc/X11/subdir /usr/X11R6/lib/X11
486
Once that is done, extract the config files from the <tt>Xetc.tgz</tt>
487
tarball into a temporary directory:
491
./extract -C tmpdir Xetc.tgz
494
and then copy each sub-directory over to the installed location:
497
./gnu-tar -C tmpdir/subdir -c -f - . | \
498
./gnu-tar -C /usr/X11R6/lib/X11/subdir -v -x -p -U -f -
501
If you have customised any config files in your old installation, you
502
may want to omit those sub-directories, or copy selected files over by
505
Once that's done, the main part of the installation can be done:
508
./extract -C /usr/X11R6 `pwd`/X[a-df-uw-z]*.tgz
509
./extract -C /usr/X11R6 Xvfb.tgz # If you are installing Xvfb
510
./extract -C /var Xvar.tgz
511
chmod ug-w /usr/X11R6/lib # Make sure the permissions are OK
512
/sbin/ldconfig /usr/X11R6/lib # For Linux
513
/sbin/ldconfig -m /usr/X11R6/lib # For FreeBSD, NetBSD, OpenBSD
514
/usr/X11R6/bin/mkfontdir /usr/X11R6/lib/X11/fonts/misc