# Installing XFree86

### Where do I get XFree86 and what do I need to run it?

This section is dedicated to the Linux binary distribution so all file names and site names are for Linux only. If you read this file and are not using Linux, you should get your hands on the announcement of the according version of XFree86 for you OS. In it you will find all necessary information on obtaining it.

You can get the binary distributions of XFree86 for Linux via anonymous FTP from

> `

>       tsx-11.mit.edu:/pub/linux/packages/X11/XFree86-ver
>               or
>       sunsite.unc.edu:/pub/Linux/X11/XFree86-ver

> `

where `ver` is the version number of the XFree86 release you want to obtain (e.g. `2.1` for XFree86 2.1). The files have names of the form `XF86-ver-name.tar.gz` (versions 2.1 and 2.1.1) or `xf86-name-2.0.tar.gz` where `ver` is the XFree86 version and `name` is the name of the package. If you already know, which server you need to run, you should not get the `*-svr*` file but the file `XF86_servername.tar.gz` where `servername` is the name of the server to run.

To get Version 2.1.1, which is only a bugfix release, you have to get the complete 2.1 distribution but the server files. In addition you have to get the 2.1.1 files (you will probably need only one server file, but you should get all the rest). Install the 2.1 files first and install the 2.1.1 files only after that.

Of course you can find it on all mirrors of those two, too. So please look for a ftp site near to you mirroring `sunsite` or `tsx-11` to save bandwidth.

You can find an incomplete list of sites mirroring these two in the `bbs-list` to be found in the docs directories of both sites. If you have access to archie, try using it to find a site carrying Linux in your neighbourhood.

The distribution consists of several gzipped tarfiles. As some of them are too large to fit on a single floppy, so you might have to split those). For a concise description on what the tarfiles contain, look at the `README` file in this directory.

You will need the following setup to run XFree86 (split by versions). You have to have at least these versions, later versions will work, too.

> `

>     XFree86 version:         2.0         2.1         2.1.1

>     kernel version:      0.99pl13      0.99pl15  0.99pl15h
>     C library version       4.4.1        4.5.21     4.5.21
>     ld.so version:            1.3         1.4.3      1.4.3

> `

You can find the most recent versions on most linux sites [cf. <here> ]. You can find the C library (`libc`) and the dynamic loader (`ld.so`) in the `GCC` directory on these sites.

You will need a main memory of at least 8 MB and a virtual memory of at least 16 MB (i.e. main memory + swap). It is possible to run X on a 4 MB machine if you take some precautions on memory usage [cf. <here> ].Note that you should nevertheless have 16 MB of virtual memory (so if you have 4 megs of physical RAM, you should have 12 megs of swap). It is recommended that you have at least 8 megs of physical RAM, as swaping is very slow. With only 4 megs of physical RAM, performance will suffer greatly. To run X11 comfortably, 8 MB are needed.

If you want to run memory-hog programs from within X (as e.g. `gcc`) you should at least have 16 MB of main memory and another 16MB of swap.

You will need about 17 MB of disk space for the complete installation without LinkKit, 21 MB with LinkKit. By deleting those servers that you don't need and removing the LinkKit after linking your own server, you can save several MB of diskspace.

Before installing XFree86, you should make a backup of all files that you changed. They may not be usable, but they still hold a lot of information you might want to preserve. (Your old XConfig file will not be deleted, but it's allways better to have a backup of this file)

To install the binary distribution you have to do the following as root with all needed tarfiles from above. For installing XFree86 2.0 (which is not recommended) you have to do it from `/`, for 2.1 or 2.1.1 you have to run first `mkdir /usr/X386 ; cd /usr/X386` [cf <here> ]. To get all permissions right you should run `umask 022` before installing it.

> `

>     gzip -dc tarfilename | tar xvvof -

> `

WARNING: This will overwrite all files from an older XFree86 version, of course not the `Xconfig` file (if you did not link it to `Xconfig.sample`, which you should not do). In other words, only if `Xconfig.sample` is linked to your `Xconfig`, it will be overwritten. Many other files will be overwritten, though (e.g. the `xdm` configuration files, the system wide `twm` configuration file, ...). So you should backup every file you changed before installing XFree86.

After installing it, you have to set it up correctly to match your system [cf. <here> ].

### How do I compile it myself and where can I get the sources?

You do not want to do this. Only if you really want to make changes to the sources because something is not working you should consider this. You will need a lot of disk space and CPU time to do a complete build of the XFree86 system. Anything you need to know for compiling XFree86 you can find in the following files (to be found in `/usr/X386/lib/X11/etc`): `INSTALL, README, and README.Linux`.

Note that you should not compile XFree86 to get rid of some hardcoded restrictions (e.g. on the maximal pixel clock) as without these restrictions your hardware will probably break down.

To build a server that only includes those drivers you need, you should use the LinkKit instead of compiling the complete system. This is much easier. Read `/usr/X386/lib/Server/README` for a description how to do this. This file is not included in the standard XFree86 tarfiles but is part of the file that includes the LinkKit. This file is called `*-kit*` or `*-lkit*`.

For adding drivers to the SVGA servers you will only need the LinkKit. The documentation how to do this can be found in the `/usr/X386/lib/Server/VGADriverDoc` directory after installing the LinkKit package.