  Installation Guide for XFree86 3.1.1
  David	Dawes
  15 January 1995

  1.  Building XFree86


       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.)


     1.	You need the following:


	o  X Consortium	X11R6 distribution with	fixes 01-11 applied.

	o  XFree86-3.1.1.diff.gz

	o  XFree86-contrib-3.1.1.diff.gz (an optional patch for	some of
	   the X Consortium's ``contrib'' distribution)

	o  If upgrading	from XFree86 version 3.1 you will only need the
	   3.1-3.1.1.diff.gz patch, and	optionally the
	   contrib-3.1-3.1.1.diff.gz patch.

	o  The full XFree86 source tree	requires about 110MB.  An
	   additional 110MB (more for OSs without shared libraries) is
	   required to build everything.  About	45-55MB	(for OSs with
	   shared libraries) is	required to install the	full
	   distribution.  It is	possible to reduce the space required by
	   removing some parts which are not essential to the build
	   process:



	      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/.

	o  It is possible to configure a cut-down source tree for
	   building only the XFree86 servers.  Building	from a cut-down
	   source tree requires	about 40-45MB of disk space.  The
	   files/directories required to do this are listed in the
	   ServersOnly file (which can be found	in
	   xc/programs/Xserver/hw/XFree86/doc/).

	o  The 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/






     2.	If you are starting from the stock X Consortium	PL11
	distribution, go to the	directory above	your 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
     (ftp://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	direc-
     tory above	your contrib directory,	and run:



		gzip -d	< XFree86-3.1.1-contrib-diff.gz	| patch	-p -E





     3.	If you are starting from the XFree86 3.1 distribution, go to the
	directory above	your 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 ver-
     sion 3.1.1	can be easily obtained from
     ftp.xfree86.org:/pub/XFree86/3.1.1/untarred
     (ftp://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	direc-
     tory above	your contrib directory,	and run:



		gzip -d	< contrib-3.1-3.1.1-diff.gz | patch -p -E





     4.	Read through 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.

     5.	If you want to be able to format the XFree86 documentation
	(which is now in LinuxDoc/SGML form), you will need to get and
	install	linuxdoc-sgml-1.1.tar.gz plus the patches which	can be
	found on ftp.xfree86.org:/pub/XFree86/3.1.1/LinuxDoc
	(ftp://ftp.xfree86.org/pub/XFree86/3.1.1/Linuxdoc).  Check in
	the xf86site.def file and uncomment the	appropriate Linuxdoc
	options.


     6.	Before building	the distribution, read through the OS-specific
	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.

     7.	If all goes well, that will finish successfully	in anything from
	two to twelve hours depending on your system.  You should check
	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





     8.	To build the subset of the contrib release supported by	XFree86,
	make sure that you have	first built and	installed the core
	distribution.  Then go to the contrib directory	and run	``xmkmf
	-a; make''.  When that is completed you	can do a ``make
	install'' and a	``make install.man''.


  2.  Using and	configuring XFree86


     1.	Add /usr/X11R6/bin to your PATH	and /usr/X11R6/man to your
	MANPATH.

     2.	Set up an XF86Config file.  The	default	locations for this file
	are: /etc/XF86Config, /usr/X11R6/lib/X11/XF86Config.hostname,
	and /usr/X11R6/lib/X11/XF86Config.  There is a sample file
	installed as /usr/X11R6/lib/X11/XF86Config.eg, and this	can be
	used as	a starting point.  The xf86config utility can also be
	used to	generate an XF86Config file.

	For details about the XF86Config file format, refer to the
	XF86Config(4/5)	manual page.


     3.	If you use a ${HOME}/.xserverrc	file with xinit, make sure that
	the script exec's the server (e.g ``exec
	/usr/X11R6/bin/XF86_SVGA'' rather than just
	``/usr/X11R6/bin/XF86_SVGA'').	If you don't do	this, the server
	may not	exit when your last client finishes.


  3.  Reconfiguring the	server (source distribution)

  To build a different set of servers or servers with a	different set of
  drivers installed:

     1.	Make sure the source for any new drivers is in the correct place
	(e.g., driver source for the SVGA server should	be in a	subdir
	of xc/programs/Xserver/hw/xfree86/vga256/drivers).

     2.	Change the settings of the server defines (eg XF86SVGAServer as
	described above) in xf86site.def to specify which servers you
	wish to	build.	Also, change the driver	lists to suit your
	needs.

     3.	From xc/programs/Xserver, run:






	  make Makefile
	  make Makefiles
	  make depend
	  make





  4.  Reconfiguring the	server (binary distribution)

  If you have installed	the server Binary LinkKit, it is possible to
  reconfigure the drivers and some of the extensions in	the servers.
  For details of how to	do this, please	refer to the README.LinkKit
  (LinkKit.html) file.


  $XConsortium:	INSTALL.sgml,v 1.4 95/01/27 16:14:24 kaleb Exp $
  Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/INSTALL.sgml,v 3.6 1995/01/28 16:01:30 dawes Exp $















































