Linrad support: Install svgalib
(June 1 2009)

Check if svgalib is installed

You may go on and install linrad without worrying about this. If svgalib and nasm are in place everything will be ok automatically. If something is missing you will get a plain language message saying what is missing.

Under Linux there is a command called locate by which you can get immediate information about all files present on your system. The locate command does not search the disk itself, it searches a data base. To search for svgalib you have to build the database if you are not sure that has already been done. The command is:
updatedb

This command will take some time but you do not have to repeat it until you want new files included in the database. Search for svgalib by typing:
locate vgagl.h

If locate prints something like /usr/local/include/vgagl.h svgalib is most probably installed properly already. In case your computer is modern and your Linux distribution is old it may be a good idea to get a later version of svgalib from the Internet because older versions do not support as many video boards - particularly not modern ones....

Remove any old svgalib installation

There is a command to remove old svgalib files that may interfere with the new installation (make clean). There may be a lot of old source code left after that so I prefer to make sure everything old is removed first by hand.

Type:locate svgalib
and you will get a listing on the svgalib source and man files on your system. Update the database with updatedb first if you have not done it recently. Typically you have to type the following commands to remove all of it:

rm -r -f /usr/local/src/svgalib*
rm -f /usr/local/man/man7/svgalib*
rm -f /usr/local/man/man5/svgalib*


Then type: locate libvga
and you will get a listing on the libraries. The following commands may be needed to remove:

rm -f /etc/vga/libvga*
rm -f /usr/local/lib/libvga*
rm -f /usr/local/man/man5/libvga*


Finally remove the include files:

rm /usr/local/include/vga.h
rm /usr/local/include/vgagl.h


When you think all is removed, run the updatedb command and then use locate to search for svgalib and libvga this way you will be sure nothing is left of the old installation.

Install svgalib

To compile linrad you need the files vga.h and vgagl.h. To run linrad you need libvga.so.1 and libvgagl.so.1. Note that you do not need any of this to compile xlinrad, the version of Linrad that runs under X11, the graphical environment of Linux.

It is not difficult to install directly from the source code. Just follow the detailed instructions below.

Get the latest source code package from svgalib.org or download from here:
svga143.tbz packed with bzip2. (699349 bytes)
svga1924.tbz packed with bzip2. (810204 bytes)
svga1925.tbz packed with bzip2. (808237 bytes)
svga1925-1.tbz packed with bzip2. (821353 bytes)
svga1925-2bsz.tbz packed with bzip2. (817633 bytes)
svga1925-3bsz.tbz packed with bzip2. (817347 bytes)
Note that some of the versions you can download here have a few small modifications that allow them to be used with more versions of gcc, the GNU C compiler as well as with more versions of the Linux kernel. There is at least one of these packages that works with every Linux distribution I have tried. The only alternative that works under really old distributions is svga143 and this version requires root privileges. svga1925-3bsz works also for normal users who may use the kernel module svgalib_helper. It can be used from early 2.4 kernels up to at least 2.6.29. The the 1924, 1925 and 1925-1 1925-2 versions are probably never needed, but I leave them available here in case I made some mistake with the latest version.

Copy the file to a suitable location, for example /usr/src (you will need root privileges for this and for some of the following operations. Use the command su or just log in as root when you do installation work)

Unpack the file. Type:bunzip2 svga1925-xxx.tbz This command produces the svga1925-xxx.tar file (Tape archive, an old standard to combine many small files into a single file) In case you downloaded from the Internet. Type:gunzip svgalib-1.9.25.tar.gz

Then, to get the svgalib source directory with all the source files in it, type:tar xvf svga1925-xxx.tar

Descend into the svgalib source directory, type:cd svgalib-1.9.25-xxx

It is possible to edit Makefile.cfg to make the installation place files where you want them. To avoid any complications, use defaults. Type: make install

The svgalib installation may fail on modern Linux distributions because they do not always include a working C complier. The easiest way to handle the situation is probably to just leave the svgalib install temporarily and proceed with the installation of Linrad itself where the configure script will give error messages about missing compilers etc.

svgalib has a configuration file, /etc/vga/libvga.config. You may have to edit this file to specify what type of mouse you are using, what vertical and horizontal sync frequencies are acceptable to your screen and so on. To edit a file you need a text editor. My favourite is joe. If you do not have it there will surely be some other text editor available in your Linux system.

The default libvga.config specifies the mouse as unconfigured. This must be changed. You may have to make other changes to get full performance out of your hardware. If you want to run Linrad without root privileges, the option NoHelper must be commented out in libvga.config. (Run make svgalib in the Linrad directory to get the kernel module installed at boot time.) Wait with libvga.config until linrad is installed.




SM 5 BSZ Home page

Linrad home page