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. 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.)
R6.1pl1-3.2.diff.gz
, cfont32.tgz
contrib-3.2.diff.gz
(an optional patch for
some of the X Consortium's ``contrib'' distribution)
xc/test 16MB
xc/doc/hardcopy 11MB
xc/doc/specs 27MB
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 the non-XFree86 directories under
xc/programs/Xserver/hw/
.
contrib-3.2.diff.gz
patch provides patches
to a small part of the X Consortium's R6.1 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.1 contrib release.
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 < R6.1pl1-3.2.diff.gz | patch -p -E
gzip -d < cfont32.tgz | tar vxf -
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://ftp.x.org/pub/R6.1/xc
.
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.2.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 to YES.
If you are using a cut-down source tree for building only the X servers,
set BuildServersOnly to YES, and XnestServer to NO.
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
S3 ViRGE accelerated server (XF86_S3V): XF86S3VServer
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
I128 server (XF86_I128): XF86I128Server
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. It
is advisable to redirect stdout and stderr to World.Log
so that you
can track down problems that might occur during the build.
If you are using one of the cut-down source distributions, you should
run ``make -f Makefile.ini World
'' because they will usually not
include the top level Makefile.
World.Log
to see
if there were any problems. If there weren't any then you can install
the binaries. When using the full source distribution, the installation
should be done from the xc
directory. When using the ServersOnly
distribution, the install should be done from the
xc/programs/Xserver
directory
To do
the install, run ``make
install
'' and ``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 LinkKit (in /usr/X11R6/lib/Server
),
run the following from the xc
directory (when using either the
full source distribution or the ServersOnly distribution):
make install.linkkit
contrib
directory and run
``xmkmf -a; make
''. When that is completed, run
``make install
'' and ``make install.man
'' to install it.Next Chapter, Previous Chapter
Table of contents of this chapter, General table of contents
Top of the document, Beginning of this Chapter