NOTE: Refer to the appropriate OS-specific README file before attempting to build XFree86. These files contain additional information that you may need to successfully build under your OS.
We highly recommend using GCC-2 to build XFree86. Do not use version 2.6.0 or 2.4.x versions prior to 2.4.5 due to bugs that cause either build or execution failures. Most of the XFree86 3.1.1 binary kits are built with GCC 2.4.5, 2.5.8 or 2.6.3. Use of GCC's -m486 option will yield approximately 5% better performance on a 486, with no degradation (other than larger binaries) on a 386. (gcc-2 is available from prep.ai.mit.edu and other sites archiving GNU source.)
XFree86-3.1.1.diff.gz
XFree86-contrib-3.1.1.diff.gz
(an optional patch for
some of the X Consortium's ``contrib'' distribution)
3.1-3.1.1.diff.gz
patch, and optionally the
contrib-3.1-3.1.1.diff.gz
patch.
xc/test 13MB
xc/doc/hardcopy 8MB
xc/doc/specs 11MB
If you don't need to build the fonts, xc/fonts
can be
removed saving 30MB. If you don't want to build PEX or XIE you
can remove:
xc/programs/Xserver/XIE 3MB
xc/programs/Xserver/PEX5 2MB
A few more MB can be freed by removing unnecessary directories under
xc/programs/Xserver/hw/
.
xc/programs/Xserver/hw/XFree86/doc/
).
XFree86-3.1.1-contrib.diff.gz
patch provides patches
to a small part of the X Consortium's contrib distribution. It
mostly covers those clients which were in the core distribution of
X11R5, but were moved to the contrib distribution for X11R6. To
use this patch, you need to have the following files/directories
from the final X Consortium R6 contrib release (not the initial
contrib-0 version):
contrib/Imakefile
contrib/programs/Imakefile
contrib/programs/ico/
contrib/programs/listres/
contrib/programs/showfont/
contrib/programs/viewres/
contrib/programs/xbiff/
contrib/programs/xcalc/
contrib/programs/xditview/
contrib/programs/xedit/
contrib/programs/xev/
contrib/programs/xeyes/
contrib/programs/xfontsel/
contrib/programs/xgc/
contrib/programs/xload/
contrib/programs/xman/
contrib/programs/xmessage/
xc
directory, and run:
gzip -d < XFree86-3.1.1.diff.gz | patch -p -E
If you are installing in an unmodified tree there shouldn't be any
problems. Check for any patch rejections and resolve them. If
you've modified some files (e.g. xf86site.def
, site.def
)
you should rename them, and restore the standard versions before
patching. If you don't have backups of the originals, individual
files can be easily obtained from
ftp.x.org:/pub/R6untarred
.
If you are patching a tree that you've previously used, make sure you run
``make clean
'' from the xc
directory before applying the diffs.
If you are using the patch for the contrib code, go to the directory
above your contrib
directory, and run:
gzip -d < XFree86-3.1.1-contrib-diff.gz | patch -p -E
xc
directory, and run:
gzip -d < 3.1-3.1.1.diff.gz | patch -p -E
If you are installing in an unmodified tree there shouldn't be any
problems. Check for any patch rejections and resolve them. If
you've modified some files (e.g. xf86site.def
, site.def
)
you should rename them, and restore the standard versions before
patching. If you don't have backups of the originals, individual
files for version 3.1.1 can be easily obtained from
ftp.xfree86.org:/pub/XFree86/3.1.1/untarred
.
If you are patching a tree that you've previously used, make sure you run
``make clean
'' from the xc
directory before applying the diffs.
If you are using the patch for the contrib code, go to the directory
above your contrib
directory, and run:
gzip -d < contrib-3.1-3.1.1-diff.gz | patch -p -E
config/cf/xf86site.def
. Set the various
parameters to suit your configuration. If it is your first build,
you should set BuildFonts, InstallXdmConfig,
InstallXinitConfig to YES (as well as InstallFSConfig if you
are building the Font Server).
If you are using a cut-down source tree for building only the servers,
set BuildServersOnly to YES.
Set the defines to specify which server(s) you want to build:
Colour SVGA server (XF86_SVGA): XF86SVGAServer
16 colour (S)VGA server (XF86_VGA16): XF86VGA16Server
ET4000/W32 accelerated server (XF86_W32): XF86W32Server
Monochrome server (XF86_Mono): XF86MonoServer
S3 accelerated server (XF86_S3): XF86S3Server
8514/A accelerated server (XF86_8514): XF86I8514Server
Mach8 accelerated server (XF86_Mach8): XF86Mach8Server
Mach32 accelerated server (XF86_Mach32): XF86Mach32Server
Mach64 accelerated server (XF86_Mach64): XF86Mach64Server
P9000 accelerated server (XF86_P9000): XF86P9000Server
AGX accelerated server (XF86_AGX): XF86AGXServer
To build a dual headed Mono+VGA2 server, set XF86MonoDualServer to
YES.
To build a dual headed Mono+VGA16 server, set
XF86VGA16DualServer to YES.
Set ServerToInstall to the server you want linked to X
. If
this isn't specified, it will default to the first one in the above
list which is being built.
The drivers you wish to include in the server are also selected in
xf86site.def
. The drivers used for the SVGA server are set by
the XF86SvgaDrivers parameter. This should be a list of the
driver directory names (in lower case). The ordering determines
the order in which the drivers are probed at startup. The default
is to include all supplied drivers. Similarly the following
parameters specify drivers for the other servers:
XF86Vga16Drivers XF86_VGA16
XF86Vga2Drivers XF86_Mono (vga2 drivers)
XF86MonoDrivers XF86_Mono, XF86_VGA16 (other mono drivers)
The SVGA, VGA16 and VGA2 screens each have ``generic'' drivers, and these
should always be last in the list because their probe will succeed for
any VGA card.
xf86site.def
file and uncomment the appropriate Linuxdoc
options.
README
file in xc/programs/Xserver/hw/xfree86/doc
that is
relevant to you. Once those OS-specific details have been taken
care of, go the xc
directory and run ``make World
'' with the
BOOTSTRAPCFLAGS set as described in the OS-specific README.
World.Log
to see
if there were any problems. If there weren't any then you can do a
``make install
'' and a ``make install.man
''. Make sure
you have enough space in /usr/X11R6
for the install to
succeed. If you want to install on a filesystem other than
/usr
, make a symbolic link to /usr/X11R6
before
installing.
To install the binary Link Kit (in /usr/X11R6/lib/Server
),
run:
make install.linkkit
contrib
directory and run
``xmkmf -a; make
''. When that is completed you can do a
``make install
'' and a ``make install.man
''.Next Chapter, Previous Chapter
Table of contents of this chapter, General table of contents
Top of the document, Beginning of this Chapter