2 Installing the Binaries

Contents of this section

If you want to save space, first select which archives you want to unpack. If you can't decide what to pick and you have 52Mb of disk space, it's safe to unpack everything.

At a minimum you need to unpack the 'required' X311*.tgz archives plus at least one server that matches your vga card. You'll need 9Mb for the minimum required run-time binaries only.

Required (6.7Mb):

X311bin.tgz

all the executable X client applications and shared libs

X311fnts.tgz

the misc and 75 dpi fonts

X311lib.tgz

data files needed at runtime

Required unless you have already customized your configuration files:

X311xicf.tgz

customizable xinit runtime configuration file

X311xdcf.tgz

customizable xdm runtime configuration file

Choose at least one server (~2.3Mb):

X3118514.tgz

8-bit color for IBM 8514 and true compatibles.

X311AGX.tgz

8-bit color for AGX boards.

X311Mch3.tgz

8 and 16-bit color for ATI Mach32 boards.

X311Mch8.tgz

8-bit color for ATI Mach8 boards.

X311Mono.tgz

1-bit monochrome for VGA, Super-VGA, Hercules, and others.

X311P9K.tgz

8, 16, and 24-bit color for Weitek P9000 boards (Diamond Viper).

X311S3.tgz

8, 16 and 24-bit color for S3 boards (#9 GXE, Actix GE32, SPEA Mercury, STB Pegasus)

X311SVGA.tgz

8-bit color for Super-VGA cards.

X311VG16.tgz

4-bit color for VGA and Super-VGA cards

X311W32.tgz

8-bit Color for ET4000/W32, /W32i and /W32p cards.

X311nest.tgz

A nested server running as a client window on another display.

Optional:

X311doc.tgz

(.5Mb) READMEs and XFree86 specific man pages

X311man.tgz

(1.7Mb) man pages except XFree86 specific ones in etc archive

X311f100.tgz

(1.8Mb) 100dpi fonts

X311fscl.tgz

(1.6Mb) Speedo and Type1 fonts

X311fnon.tgz

(3.3Mb) Japanese, Chinese and other non-english fonts

X311fsrv.tgz

(.3Mb) the font server and it's man page

X311prog.tgz

(3.9Mb) config, lib*.a and *.h files needed only for compiling

X311link.tgz

(7.8Mb) X server reconfiguration kit

X311pex.tgz

(.5Mb) PEX fonts and shared libs needed by PEX applications.

X311lbx.tgz

(.2Mb) low bandwidth X proxy server and libraries.

Note that there is no longer a separate xdm archive. FreeBSD 2.0 handles this in shared libraries now, so that the xdm binary does not itself contain des and there is no more need for us to provide separate tar balls.

2.1 Full Install:

  1. You must be logged in as root to unpack the archives because several executables are set-user-id. Otherwise the server may abort if you unpack it as an ordinary user. You must also use a ``umask'' value of 022 because the X server requires special permissions.
     % su
     # umask 022
    
  2. If you have 52Mb free in the /usr partition ``cd /usr'' and skip to no. 3. Otherwise, create a directory on another partition and sym link it into /usr:
     # cd /usr/local
     # mkdir X11R6
     # ln -s /usr/local/X11R6 /usr/X11R6
    
  3. Unpack everything: If you are using sh (as root usually does):
     # for i in X311*.tgz; do
     #   tar -xzf $i
     # done
    
    Else, if you are using csh:
     % foreach i (X311*.tgz)
     %   tar -xzf $i
     % end
    
  4. Create a symbolic link ``X'' that points to the server that matches your video card. The XF86_* man pages list which vga chip sets are supported by each server. For example, if you have an ET4000 based card you will use the XF86_SVGA server:
     # cd /usr/X11R6/bin; rm X; ln -s XF86_SVGA X
    

2.2 Minimal Install:

First do numbers 1 and 2 above. Then unpack the required archives:

 # for i in bin fnts lib xicf; do
 #   tar -xzf  X311$i.tgz
 # done

Then unpack a server archive corresponding to your vga card. The server man pages, X11R6/man/man1/XF86_*, list the vga chip sets supported by each server. For example, if you have an ET4000 based card you will use the XF86_SVGA server:

 # tar -xzf X311SVGA.tgz
 # cd /usr/X11R6/bin; rm X; ln -s XF86_SVGA X

2.3 After either Full or Minimal Install above:

Add /usr/X11R6/bin to the default path for sh in /etc/profile and for csh in /etc/csh.login if they are not already there:

 # echo 'set path = ($path /usr/X11R6/bin)' >>/etc/csh.login
 # echo 'PATH=$PATH:/usr/X11R6/bin' >>/etc/profile

Or make sure all who use X put /usr/X11R6/bin in their shell's ``path'' variable.

Next either reboot or invoke ldconfig as root to put the shared libraries in ld.so's cache:

 # ldconfig /usr/lib /usr/local/lib /usr/X11R6/lib

If you had already configured X11R6/lib/X11/xinit/xinitrc or X11R6/lib/X11/xdm/* omit the xinit-config or xdm-config archive or unpack it separately and merge in your customizations.

The fscl and f100 archives are optional and can be omitted if you are short on space. The optional link archive allows you to reconfigure and customize a X server binary. The optional prog archive is needed only for writing or compiling X applications. The optional pex archive contains pex clients and libraries for building 3D graphics applications.

NOTE: You don't need to uncompress the font files, but if you uncompress them anyway you must run mkfontdir in the corresponding font directory; otherwise your server will abort with the message ``could not open default font 'fixed'''.

If you are running a stock FreeBSD 1.1.5 system you can ignore the rest of this section. If not, make sure you have a spare virtual console which is running a login process (getty). First check how many virtual consoles you have:

 % dmesg|grep sc
 sc0 at 0x60-0x6f irq 1 on motherboard
 sc0: VGA color <8 virtual consoles>

Then check /etc/ttys to make sure there is at least one ttyv? devices which doesn't have a getty enabled. FreeBSD 1.1.5 has the first three ``on'' and the last ``off'' so that getty runs on only three:

 % grep ttyv /etc/ttys
 ttyv0  "/usr/libexec/getty Pc" cons25  on secure
 ttyv1  "/usr/libexec/getty Pc" cons25  on secure
 ttyv2  "/usr/libexec/getty Pc" cons25  on secure
 ttyv3  "/usr/libexec/getty Pc" cons25  off secure

If your kernel has least 4 VTs and only 3 gettys, this is fine. If not, either disable a getty in /etc/ttys by changing ``on'' to ``off'' or build another kernel with more VTs as described below.

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter