Installing and Upgrading X

Last updated: September 17, 1999
Development stage: Beta

When Linux users refer to X, they mean the graphical interface for Unix systems. More information about XFree86 (a free implementation of X) is at http://www.xfree86.org. You need to be in X in order to run many graphical applications. It is what you would use to create the equivalent of a Windows desktop under Linux.

The subject of writing here is XFree86 3.3.3.1, the "new" version at the time of the last major update. There are various reasons one would want to upgrade their version of X. The latest release might have better hardware support. Alternatively, one might want the updated X applications and libraries. Lastly, it could be that some people do not feel comfortable when they are not using the latest version of a software package. If you do not have X installed, this is also the page to read.

The first step to upgrade your version of X is to back up your old one, just in case the procedure on this page does not work. (If you do not have enough disk space nor want to go through the trouble, there is really no need to worry about it. It is just a good habit to develop). You can do this by changing your working directory to /usr/X11R6 which should work in most systems. Your system might be different, but that is the way it is laid out on my machine.

If you do not have X installed yet, just create an X11R6 directory as a subdirectory in /usr/.

This is how your X directory (/usr/X11R6/ in most systems) should look like if you already have X installed:

bin
doc
include
lib
man

To back it up, I suggest you tar and gzip them into one file and keep it in there. On my system, I named it x11r6.old.tar.gz to make it easy to tell what it contains later on. I did that by typing this in /usr/X11R6:

# tar -czvf x11r6.old.tar.gz bin doc include lib man

Now that you have backed up the old X, go to one of the following FTP sites to download the various XFree86 .tgz files. I will specify the files you need to download later in this document.

North America


ftp://ftp.XFree86.org/pub/XFree86
ftp://ftp2.XFree86.org/pub/XFree86
ftp://ftp.infomagic.com/pub/mirrors/XFree86-current
ftp://ftp.rge.com/pub/X/XFree86
ftp://ftp.varesearch.com/pub/mirrors/xfree86
ftp://ftp.cs.umn.edu/pub/XFree86

Europe

ftp://fvkma.tu-graz.ac.at/pub/XFree86
ftp://gd.tuwien.ac.at/hci/X11/XFree86
ftp://ftp.gwdg.de/pub/xfree86/XFree86
ftp://ftp.cs.tu-berlin.de/pub/X/XFree86
ftp://ftp.uni-erlangen.de/pub/Linux/MIRROR.xfree86
ftp://ftp.uni-stuttgart.de/pub/X11/Xfree86
ftp://ftp.funet.fi/pub/X11/XFree86
ftp://ftp.ibp.fr/pub/X11/XFree86
ftp://ftp.unina.it/pub/XFree86
ftp://ftp.pvv.unit.no/pub/XFree86
ftp://sunsite.doc.ic.ac.uk/packages/XFree86

Asia and Australia

ftp://x.physics.usyd.edu.au/pub/XFree86
ftp://ftp.netlab.is.tsukuba.ac.jp/pub/XFree86
ftp://ftp.iij.ad.jp/pub/X/XFree86/XFree86

You should read the file RELNOTES in the XFree86 distribution to see which files you should get from the distribution, but just to spare you some scrolling and searching, here is what you should download:

You should also download the specific X server for your card. For example, I use an S3 ViRGE on my Diamond Stealth 3D 2000, so I downloaded X33S3V.tgz. So if you are using an Imagine 128 card, then you should download the X server for that (I128). Some cards are not supported totally, but most will work with the SVGA server (256-colors). My Creative Labs Graphics Blaster Riva TNT uses the NVidia Riva TNT chipset, and what worked with that was the SVGA server. If it seems that your card is not supported, try going over to SuSE's website. They have X servers that are not integrated into the official XFree86 distribution yet, and that often means that they have X servers for the new cards. The XFree86 Project only releases a new version about every six months.

All that should be put into /usr/X11R6/ or whatever your X directory is. You can run the .sh files using sh file.sh or make sure the .sh files are set to be executable. If not, do chmod +x preinst.sh postinst.sh. After that, run preinst.sh by doing ./preinst.sh; answering "yes" to the defaults should be okay. Now, all you do is extract all the .tgz files and then run postinst.sh. That should put all the files where they are supposed to be. If already you are an avid X user, you can just resume your normal routine with your system with X; you will not need to read any further.

If you are installing X for the first time, you should set the X binary directory to be part of your path. You can do this by editing /etc/profile with your preferred text editor and adding "/usr/X11R6/bin" to the line with PATH. That will set the environment variable, $PATH, to all the directories specified for it to look for the name of the program that you typed in.

If you are a first-time X user, the way to start X is by using the startx command. On my system, that starts up X in 8 bpp (eight bits per pixel, which is 256 colors) mode on default. The way to start up X in higher color modes if that happens to you is startx -- -bpp 16; with that command line, X will start up in 16 bits per pixel mode, which is approximately 65,536 colors. Other valid bpp modes you can use are usually 1, 4, 15, 24, and 32. The number of colors in relation to bits per pixel is 2 to the power of the number of bits per pixel.

If you have trouble with X or some error message appears, try Configuring and Troubleshooting X.

You will probably also need a window manager if your system has never had X on it before. There are a lot of window managers out there, so just look for one and choose at http://www.plig.org/xwinman. The one I recommend is WindowMaker, which I have an installation guide for as well.


Questions, comments, corrections, suggestions? Send them to me at joshuago at users dot sourceforge dot net.


Copyright © 1997-1999 Joshua Go (joshuago at users dot sourceforge dot net). All rights reserved. Permission to use, distribute, and copy this document is hereby granted. You may modify this document as long as credit to me is given.