Subject: X on Intel-based Unix Frequently Asked Questions [FAQ]
From: [email-masked] (Steve Kotsopoulos)
Newsgroups: comp.windows.x.i386unix,comp.unix.pc-clone.32bit,comp.unix.bsd,comp.windows.x,comp.answers,news.answers

Archive-name: x-faq/Intel-Unix-X-faq
Last-modified: 4 April 1994

This article includes answers to:

I) What options do I have for X software on my Intel-based Unix system?
	1. Free options
	2. Commercial options
II) What is XFree86 and where do I get it?
	3. What is XFree86?
	4. What OSs are supported?
	5. What video hardware is supported?
	6. Who else supports accelerated boards?
	7. [deleted]
	8. What other hardware or software requirements are there?
	9. Where can I get source for XFree86?
	10. Where can I get binaries for XFree86?
IV) What general things should I know about running XFree86?
	11. Installation directories
	12. Configuration files
	13. Determining VGA dot clocks and monitor modes
	14. Rebuilding/reconfiguring the server from the link kit
V) What OS-specific things should I know about running XFree86?
	15. SVR4
	16. SVR3
	17. 386BSD
	18. Linux
	19. Mach
VI) What things should I know for building XFree86 from source?
VII) Is there anything special about building clients with XFree86?
	20. BSD compatibility library
	21. ANSICCOPTIONS
VIII) Where to get more information

The latest version of this article is available by anonymous
ftp from ftp.x.org:/contrib/Intel-Unix-X-faq

This article does NOT include answers to general X questions, since they
are already covered by the X FAQ that is regularly posted by David B. Lewis
<[email-masked]>.

For information on X packages for DOS systems, consult the (PC)NFS FAQ
available from seagull.rtd.com:/pub/tcpip/pcnfs.FAQ.v1.2.Z

If you have anything to add or change on this FAQ just let me know.
(especially if you had a problem that someone else was able to help you with)
Send changes to [email-masked], please put 'FAQ' somewhere
in the subject line so that my mail filter will put it in the correct folder.

Please do not ask me questions that are not answered in this FAQ.  I don't
have time to respond to these individually.  Instead, post your question
to the net, and send me the question and answer together when you get it.

Frequently Asked Questions About X on Intel-based Unix (with answers)
=====================================================================

I) What options do I have for X software on my Intel-based Unix system?

1. Free options

    The BEST option is XFree86, which is an enhanced version of X386 1.2.
    Any other version of X386 will be more difficult to compile.
    Information on how to obtain it is listed below.

    X386 is the port of the X11 server to System V/386 that was done by
    Thomas Roell ([email-masked]).  It supports a wide variety of SVGA boards.
    There are 2 major free versions: X386 1.1 is based on X11R4,
    X386 1.2 is included in MIT's X11R5 distribution (ie. you
    don't need to patch it into the MIT source any more).
    X386 1.3 is the current commercial offering from SGCS (see below).

    Several other options are available for people running NeXTSTEP on
    i486 and Pentium hardware. Information on mouseX, Cub'X and Co-Xist
    is available via anonymous ftp from cs.orst.edu in /pub/next/XNeXT.

2. Commercial options

     1) Metro Link
	2213 W. McNab Road
	Pompano Beach, FL  33069
	(305) 970-7353
	Fax: (305) 970-7351
	email: [email-masked]

	Summary: OS:    QNX, SVR3, SVR4.[012], SCO, UnixWare, LynxOS, 
			DESQview/X, Venix, ISC, Solaris, Pyramid, SunOS
		 HW:    EGA, VGA, SVGA, TIGA, TARGA, 8514/A, Mach, 
			S3, WD, Fujistu, Matrox, Microfield Graphics, R33020
		 Other: Motif, OpenLook/XView, XIE Imaging Extension,
			Xv Video Extension, Audio Drivers, Multi Media

     2) SGCS (Snitily Graphics Consulting Services)
	894 Brookgrove Lane
	Cupertino, CA  95014
	(800) 645-5501, (408) 255-9665
	Fax: (408) 255-9740
	email: [email-masked]  or ...!mips!zok!info

	SGCS is out of the X-Server business. Thomas Roell has a new company
	called X-Inside, Inc. that is beta-testing its products right now.

     3) Consensys Corporation
	1301 Pat Booker Rd.
	Universal City, TX 78148
	Phone: 1-800-388-1896
	FAX:   1-416-940-2903
	email: [email-masked]

	Summary: OS: Consensys V4.2, Consensys' version of
		     Unix System V Release 4.2
		 HW: X11R4 server support for VGA, SVGA
		 Other: MoOLIT, Motif, X11R5 Clients

     4) The Santa Cruz Operation, Inc.
	p.o. box 1900
	Santa Cruz, California 95061
	(408) 425 7222, (800) SCO UNIX,
	FAX: (408) 458 4227
	email: [email-masked]

	Summary: OS: ODT 1.1, ODT 2.0, ODT 3.0
		 HW: X11R5 server support for SVGA, 8514/A, S3, TMS340x0,
		     GD5426, P9000, ET4000/W32, Mach32, WD90C33, 86C801,
		     86C805, 86C928, WD90C31, XGA2, QVision, misc. localbus
		     video systems (see Hardware Compatibility Handbook
		     for actual card vendors).
		 Other: Motif

     5) Answer Software & Consulting
	p.o. box 14171
	Columbus, Ohio 43214
	614-263-XLAB
	email: [email-masked]

	Summary: OS: Coherent 4.0.1r72 or greater
		 HW: works with any VESA compliant video

     6) OpenWindows (shipped as part of the Solaris for x86 OS)
	SunSoft Inc.
	2550 Garcia Ave.
	Mountain View, CA  94043
	Phone: 415-960-3200

	Summary: OS: Solaris for x86, SunSoft's version of SVR4
		 HW: Orchid ProDesigner II, Compaq QVision, Paradise
		     Accelerator Board, ET 4000 video card with VESA
		     configuration file, WD90C30 video card with VESA
		     configuration file, IBM XGA.
		 Other: X11R4 clients, XView, OLIT, DeskSet

     7) Mark Williams Company
	60 Revere Drive
	Northbrook, IL 60062
	(800) 636-6700 (U.S.)
	(708) 291-6700 (outside U.S.)

	Summary:  OS:   COHERENT 4.2
		  HW:   VGA cards (ATI, Genoa, Paradise, Trident, Tseng, and
			Western Digital chip sets), and serial mouse
		  MISC: Port of X386 1.2

  NOTE: Other commercial vendors (including OS vendors describing
	bundled software) are welcome to submit summary information
	summary information such as the above.

II) What is XFree86 and where do I get it?

3. What is XFree86?

   XFree86 is an enhanced version of X386 1.2, which was distributed with
   X11R5.  This release consists of many bug fixes, speed improvements, and
   other enhancements. The release is available as source patches against the
   MIT X11R5 code, as well as binary distributions for many architectures.

   XFree86 2.1 is not a huge release compared to prior XFree86 releases. There
   are a number of reasons for this, including the fact that two of the Core
   Team members have moved and started new employment, significantly cutting
   into their time for XFree86 work.  In addition, they are hard at work on
   merging XFree86 with the upcoming X11R6.  Many new features have been put
   on hold while this integration is done, so that a stable and viable X11R6
   release can be developed.  XFree86 3.0 will be released on the X11R6
   contributed software distribution, and it is their intention that many of
   these features will be present in that release.

   The following items have been added since XFree86 2.0 was released in
   October 1993:

    1) The X Consortium's fix-26 is included.
    2) Support for pixel multiplexing has been added for Mach32 boards
       with ATI68875, TLC34075 or Bt885 RAMDACs.  This allows dot clocks
       up to 135MHz to be used with these boards.
    3) Support for the TI ViewPoint 3020 RAMDAC used on the #9 GXe
       Level 14 and 16 cards has been added, supporting dot clocks up to
       135MHz and 200MHz respectively.
    4) Support for pixel multiplexing (and thus dot clocks up to 135MHz)
       has been added for the SPEA Mercury cards (S3 928 + Bt485).  This
       has *not* been tested on other 928 + Bt485 cards.
    5) Performance improvements for some of the accelerated servers.
    6) Support has been added for all the display widths available with
       the S3 chips.  In addition to the 1024 and 1280 widths supported
       by XFree86 2.0, there is now support for 640, 800 and 2048 with
       all 801, 805 and 928 chips.  1152 is supported with 801/5 chips
       at revision C or later.  1152 and 1600 are supported with 928
       chips at revision E or later.  Note that this change should make
       XFree86 viable on 512k boards.
    7) Support for 8-bit resolution RGB values (as opposed to the
       standard VGA 6-bit resolution) for S3 cards with AT&T20C490/1,
       Sierra SC15025 or Ti3020 RAMDACs, and for Mach32 cards with
       ATI68875, TLC34075 or Bt885 RAMDACs.
    8) Support for DRAM based S3 cards using slow memory has been
       improved.
    9) Accelerated support for the Cirrus chipsets has been enhanced and
       extended to include the lower-end chipsets (5420, 5422, 5424).
   10) The pvga1 driver can now access all the clocks on boards using the
       WD90C30 and WD90C31 chips.
   11) The 16 colour generic VGA server has been extended to include
       banked memory support on selected chipsets.  This allows it to
       make full use of the available video memory on these boards.  This
       server now includes support for GrayScale and StaticGray visuals
       which makes for better use on many laptops.
   12) Support for the Sigma LaserView and Visa monochrome boards has
       been added to the bdm2 driver in the Mono server.
   13) Support for Solaris x86 2.1 has been added.
   14) Support is included for shared libraries on FreeBSD-1.1 and
       NetBSD-current (0.9 based) systems.
   15) The SuperProbe program introduced with XFree86 1.3 has been updated
       to detect more chipsets, to detect installed video memory,  and to 
       be more reliable overall.
   16) Several dozen bug fixes for problems detected and reported for
       XFree86 2.0.

   Plus a number of other small things.  Refer to the CHANGELOG file in the
   source distribution for full details.

   Here is a list of the other significant features that XFree86 adds over
   stock X386 1.2 (X11R5):

    1) New servers to support S3, ATI and 8514 accelerated hardware, and 
       support for Cirrus and Western Digital accelerated hardware in
       the SVGA server.
    2) The SpeedUp package from Glenn Lai is an integral part of the 
       SVGA server, selectable at run-time via the Xconfig file.  Some 
       SpeedUps require an ET4000 based SVGA, and others require a 
       virtual screen width of 1024.  The SpeedUps suitable to the 
       configuration are selected by default.  With a high-quality 
       ET4000 board, this can yield up to 40% improvement of the Xstones 
       benchmark over X386 1.2.
    3) The fX386 packages from Jim Tsillas are included as the default
       operating mode of the SVGA server if SpeedUp is not selected.  
       This mode is now equivalent in performance to X386 1.1b (X11R4), 
       and approximately 20% faster than X386 1.2.
    4) A monochrome server that supports bank-switching of available SVGA
       memory to allow virtual screens up to 1600x1200.
    5) Support for the Hercules mono card in the monochrome server, and 
       with it the ability to support a "two headed" server - one mono 
       VGA, and one Hercules.
    6) Support for Hyundai HGC1280, Sigma LaserView and Visa monochrome
       graphics card in the monochrome server.
    7) A 16-color VGA server is included, which supports generic VGA
       hardware.
    8) SVR3 shared libraries, tested under ISC SVR3 2.0.2, 2.2, 3.0.1 and
       4.0; SCO 3.2.2, 3.2.4.
    9) Support for Linux, 386BSD, NetBSD, FreeBSD, BSD/386, Mach, OSF/1,
       SVR4.2, SCO, Solaris 2.1, Amoeba, and Minix-386. Including shared
       libraries for Linux, FreeBSD and NetBSD.
   10) Support for LOCALCONN.  This support is for both SVR3.2 and SVR4.
       For SVR4.0.4 with the 'Advanced Compatibility Package' and on
       SVR4.2, local connections from SCO XSight/ODT clients are supported.
   11) Drivers for ATI, Trident, NCR, Compaq, Cirrus, and OAK SVGA chipsets.
       Refer to chipset-specific README files for details about these
       drivers.
   12) Support for compressed bitmap fonts has been added (Thomas
       Eberhardt's code from the contrib directory on ftp.x.org).
   13) Type1 Font code from MIT contrib tape has been included, and is
       compile-time selectable.  There are contributed Type1 fonts in the
       contrib directory on ftp.x.org.
   14) New configuration method which allows the server's drivers and font
       renderers to be reconfigured from both source and binary
       distributions.
   15) Greatly improved documentation and configuration databases are
       included.
   16) A new tutorial on how to develop correct video card and monitor
       timing data, written by Eric Raymond (derived from previous
       documentation and a lot of experimentation).
   17) Greatly improved support for international keyboards, including
       implementation of the Compose key functionality found on many
       vendor servers.
   18) Many enhancements in error handling and parsing of the Xconfig
       configuration file.  Error messages are much more informative and
       intuitive, and more validation is done.  There are many new options
       that can be enabled in the Xconfig file.

   Also included are a tutorial on monitor timing by Eric Raymond, and the
   current X386 mode database and a sample xdm configuration by David Wexelblat.

   Known bugs in XFree86:

    1) There are some problems with some of the 'xset fp' operations (in
       particular 'xset fp rehash').  These seem to be caused by memory
       allocation/deallocation problems in the server's font code.  We
       believe that we have worked around this problem, but have not yet
       solved the root cause.
    2) While not strictly a bug, there is currently a limitation on the
       dot-clock frequencies allowed in the S3 and Mach32 servers.  For
       S3 cards with the Bt485 RAMDAC (e.g. #9 GXe), the limit is 85Mhz.
       For Mach32 boards, the limit is 80Mhz.  There is some special
       programming required to use these RAMDACs at higher dot-clocks,
       and we were not able to get it fully developed in time.  We intend
       to release a patch with these updates in the near future.

4. What OSs are supported?

    SVR4.0:
	Esix: 4.0.3A, 4.0.4, 4.0.4.1
	Microport: 2.2, 3.1, 4.1, 4.2
	Dell: 2.1, 2.2
	UHC: 2.0, 3.6
	Consensys: 1.2
	MST: 4.0.3 (Load 2.07 and Load 3.02)
	ISC: 4.0.3
	AT&T: 2.1, 4.0
	NCR: MP-RAS
	SunSoft: Solaris x86 2.1

    SVR4.2:
	Consensys
	Univel UnixWare

    SVR3:
	Interactive: 2.0.2, 2.2, 3.0, 4.0
	SCO: 3.2.2, 3.2.4
	AT&T: 3.2.2

    Others:
	386BSD 0.1, NetBSD 0.9, FreeBSD 1.1(beta)
	BSD/386 1.0
	Mach 386
	OSF/1
	Linux 0.99pl15h
	Amoeba
	Minix-386

    Note that Esix 3.2D is not supported yet, but anyone should feel
    free to submit patches.  If you are interested in tackling this,
    send mail to [email-masked]

5. What video hardware is supported?

   At this time, XFree86 2.1 supports the following accelerated chipsets:

    8514/A (and true clones)
    ATI Mach8, Mach32
    Cirrus CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428
    S3 86C911, 86C924, 86C801, 86C805, 86C805i, 86C928
    Western Digital WD90C31

    The Cirrus and Western Digital accelerators are supported in the SVGA
    server; the other chipsets each have their own server.  A list of cards
    on which the accelerated servers have been tested is included in the file
    AccelCards.  They may well work on other cards, but we cannot guarantee it.
  
   In addition, the following SVGA chipsets are supported:
    
    Tseng ET3000, ET4000AX, ET4000/W32
    Western Digital/Paradise PVGA1
    Western Digital WD90C00, WD90C10, WD90C11, WD90C24, WD90C30, WD90C31
    Genoa GVGA
    Trident TVGA8800CS, TVGA8900B, TVGA8900C, TVGA8900CL, TVGA9000,
	    TVGA9000i, TVGA9100B, TVGA9200CX, TVGA9320, TVGA9400CX, TVGA9420
    ATI 28800-4, 28800-5, 28800-a
    NCR 77C22, 77C22E, 77C22E+
    Cirrus Logic CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428
		 CLGD6205, CLGD6215, CLGD6225, CLGD6235
    Compaq AVGA
    OAK OTI067, OTI077
    
    All of the above are supported in both 256 color and monochrome modes,
    with the exception of the ATI and Cirrus chipsets, which are only
    supported in 256 color mode.  

    Refer to the chipset-specific README files (currently for Tseng, Western
    Digital, ATI, and Trident) for more information about using those chipsets.

    The monochrome server also supports generic VGA cards, using 64k of video
    memory in a single bank, the Hercules monochrome card, the Hyundai
    HGC1280, Sigma LaserView and Visa monochrome cards.  On the Compaq AVGA,
    only 64k of video memory is supported for the monochrome server, and the
    GVGA has not been tested with more than 64k.

    The VGA16 server has not been as extensively tested and debugged as the
    others, but it should work rather well (but slowly) on most hardware.
    This server supports memory banking with the ET4000 and Trident chipsets
    allowing virtual display sizes up to about 1600x1200 (with 1MB of video
    memory).  For other chipsets the display size is limited to approximately
    800x600.

      Note
      ----
    Some of the SVGA card manufacturers are using non-traditional mechanisms 
    for selecting pixel-clock frequencies.  To avoid having to modify the 
    server to accommodate these schemes XFree86 1.2 added support for using 
    an external program to select the pixel clock.  This allows programs to 
    be written as new mechanisms are discovered.  Refer to the README.clkprog 
    file for information on how these programs work, if you need to write one.
    If you do develop such a program, we would be interested in including it 
    with future XFree86 releases.

    NOTE: The Diamond SpeedStar 24 (and possibly recent SpeedStar+) boards are
          NOT supported, even though they use the ET4000. The same is true
          for all of Diamond's S3 boards. The reason for this is that
          Diamond has changed the mechanism used to select pixel clock 
          frequencies, and will only release programming information under
          non-disclosure.  We are not willing to do this (as it would mean
          that source cannot be provided).  We have had discussions with
          Diamond over this, and they do not intend to change this policy.
          Hence we will do nothing to support Diamond products going forward
          (i.e. don't send us a program to run to set their clocks).  XFree86
          DOES NOT SUPPORT DIAMOND HARDWARE.  It is possible to make some
          of it work, but we will not assist in doing this.
    
          Diamond's Cirrus-based boards should work with XFree86 because they
          use the standard Cirrus clock synthesiser.  This includes the
          SpeedStar Pro and possibly the SpeedStar 64.

6. Who else supports accelerated boards?

    This support is available in commercial products several vendors.
    See the "Commercial options" section for details.

8. What other hardware or software requirements are there?

    Obviously, a supported video board and OS are required.  To run
    X efficiently, 8-12MB of real memory should be considered a minimum.
    The various binary releases take 10-40MB of disk space, depending
    on the OS (e.g. whether or not it supports shared libraries).
    To build from sources, at least 80MB of free disk space will
    be required, although 120MB should be considered a comfortable 
    lower bound. If you are VERY tight on space, look into tinyX.

9. Where can I get source for XFree86?

    Source patches based on X11R5 PL25, from MIT, and as an upgrade from
    XFree86 2.0 are available via anonymous FTP from:

		ftp.x.org (under /contrib/XFree86)
		ftp.physics.su.oz.au (under /XFree86)
		ftp.win.tue.nl (under /pub/XFree86)
		ftp.prz.tu-berlin.de (under /pub/pc/src/XFree86)

    (For the rest of this FAQ, these 4 location will be called $FTP)

    Refer to the README file under the specified directory for information on
    which files you need to get to build your distribution (which will depend
    on whether this is a new installation or an upgrade from an earlier
    version of XFree86).

10. Where can I get binaries for XFree86?

    Binaries are available via anonymous FTP from:
       ftp.physics.su.oz.au            - SVR4 binaries
                under /XFree86/SVR4
       ftp.win.tue.nl                  - SVR4 binaries
                under /pub/XFree86/SVR4
       ftp.tcp.com                     - SVR4 binaries
                under /pub/SVR4/XFree86
       stasi.bradley.edu               - SVR4 binaries
                under /pub/XFree86/SVR4
       stasi.bradley.edu               - Solaris x86 2.1 binaries
                under /pub/XFree86/solaris
       stasi.bradley.edu               - SVR3 (SCO) binaries
                under /pub/XFree86/sco
       ftp.physics.su.oz.au            - SVR3 (SCO) binaries
                under /XFree86/SCO
       blancmange.ma.utexas.edu        - SVR3 (ISC) binaries
                under /pub/ISC
       ftp.prz.tu-berlin.de            - SVR3 (ISC) binaries
                under /pub/pc/isc/XFree86
       tsx-11.mit.edu                  - Linux binaries
                under /pub/linux/packages/X11
       ftp.unipi.it                    - Linux binaries
		under /pub/linux/XFree86_2.1
       XFree86.cdrom.com               - FreeBSD binaries
		under /pub/XFree86/FreeBSD/XFree86-2.1
       gil.physik.rwth-aachen.de       - FreeBSD binaries
		under /pub/XFree86
       agate.berkeley.edu              - NetBSD 0.9 binaries
		under /pub/NetBSD/ports
       sun-lamp.cs.berkeley.edu        - NetBSD 0.9 binaries
		under /pub/NetBSD/ports
       ftp.cs.mcgill.ca	               - NetBSD 0.9 binaries
	        under /pub/NetBSD/XFree86

    Ensure that you are getting XFree86 2.1 - some of these sites may archive
    older releases as well.  Each binary distribution will contain a README
    file that describes what files you need to take from the archive, and
    which compile-time option selections were made when building the
    distribution.

IV) What general things should I know about running XFree86?

11. Installation directories

    The top-level installation directory is specified by the ProjectRoot
    (/usr/X386, by default) variable in config/site.def. Binaries, include
    files, and libraries are installed in $ProjectRoot/{bin,include,lib}.

    This can be changed when rebuilding from sources, and can be modified
    via symbolic links for those OSs that support them. This directory is
    nonstandard, and was chosen this way to allow XFree86 to be installed
    alongside a commercial/vendor-supplied X implementation.

12. Configuration files

    The XFree86 server reads a configuration file ("Xconfig") on startup.
    The search path, contents and syntax for this file are documented in
    the server manpage, which should be consulted before asking questions.

13. Determining VGA dot clocks and monitor modes

    David E Wexelblat ([email-masked]) maintains a database of known
    clock settings for VGA cards and monitor settings.
    The database is installed in /usr/X386/lib/X11/etc/modeDB.txt, and
    is in the source tree under mit/server/ddx/x386/etc. This database is
    also available from him (for the latest copy), and is kept on
    export.lcs.mit.edu in ~/contrib/X386.modeDB.Z, which is updated
    occasionally.  Obtain a copy of this database.  It just might have the
    settings you need.  If you create new settings, please send them to
    David for inclusion in the database.

    If this doesn't help you, the VideoModes.doc (by Eric Raymond) file 
    with XFree86 contains tutorials on how to come up with these timings.
    Also look at the AccelCards file. It has a list of `known-to-work' cards
    with additional info like clock chip, clocks, ramdac, etc.
    It may be helpful to start with settings that almost work, and use
    this description to get them right.  When you do, send the information
    to David Wexelblat for inclusion in the database.

    NOTE: The old 'clock.exe' program is not supported any more, and
	  is completely unnecessary.  If you need to determine dot
	  clock values for a new board, remove the 'Clocks' line from
	  your Xconfig file (if present), and start the server.  The
	  server will probe for clocks itself and print them out.
	  You can use these values to put a 'Clocks' line into your
	  Xconfig file, which is not necessary, but will speed up
	  starting the server in the future.

14. Rebuilding/reconfiguring the server from the link kit

    If you have installed the server Binary Link Kit, it is possible to
    reconfigure the drivers and font renderers in the server.  This is
    fully explained in the README file that is available with the link kit.

V) What OS-specific things should I know about running XFree86?

    First of all, the server must be installed suid-root (mode 4755).

15. SVR4
    Why won't my xterm run properly?

    If your kernel is not built with the consem module, you should define
    CONSEM=no in you environment. Otherwise xterm won't run.
    csh users should use 'setenv CONSEM no'

    The Esix console driver patch 403019 is known to cause keymapping
    problems with XFree86.  It recommended that this patch not be
    installed.  Alternatively they keymap can be fixed with xmodmap.

16. SVR3

    Make sure you look at $FTP/README.ISC, if that's what you are running.

17. 386BSD

    Make sure you look at $FTP/README.386BSD.

    Also, a separate 386BSD FAQ is maintained by Richard Murphey
    <[email-masked]>.  The latest version should be available in the
    file XFree86-1.2-386BSD-FAQ at the following ftp sites:

	agate.berkeley.edu:/pub/386BSD/0.1-ports/XFree86-1.2
	wuarchive.wustl.edu:/mirrors4/386bsd/0.1-ports/XFree86-1.2
	grasp.insa-lyon.fr:pub/386BSD/0.1-ports/XFree86-1.3

18. Linux

    You must be running Linux 0.99pl13 or greater, and have the 4.4.1 gcc
    jump libraries and ld.so-1.3 installed.

    Make sure all the servers XF86_*, xload and xterm are setuid root.

    If your kernel doesn't have TCP support compiled in, you'll have to
    run the server as "X -pn". The default startup configuration assumes
    that TCP is not available. If it is, change the two files
    /usr/X386/bin/startx and /usr/X386/lib/X11/xdm/Xservers, removing the
    -pn argument to X386.

    Make sure /dev/console is either a link to /dev/tty0 or has the major
    number 4, minor number 0. Also note that if /dev/console is not
    owned by the user running X, then xconsole and xterm will not permit
    console output redirection. Xdm will properly change the owner, but
    startx won't.

    For more detailed information, please read the files README and
    X11-HOWTO present with the distribution on tsx-11.mit.edu.

19. Mach

    Make sure you look at $FTP/README.Mach.

VI) What things should I know for building XFree86 from source?

    This section has been removed from the FAQ, since it is
    fully explained in $FTP/README and the OS-specific READMEs.
    Please look at those files for information on building XFree86.

VII) Is there anything special about building clients with XFree86?

20. BSD compatibility library

    A lot of clients make use of BSD functions like bcopy(), etc.
    The default configuration files are set up to link with libXbsd.a
    which contains emulation for bcopy(), bzero(), bcmp(), ffs(), random(),
    seed(). A better way of providing the 'b' functions is to include
    <X11/Xfuncs.h> in source files that call them.  Xfuncs.h provides macro
    definitions for these in terms of the SYSV 'mem' functions.  If you are
    linking with a vendor supplied library which calls some of these
    functions, then you should link with libXbsd.a

21. ANSICCOPTIONS

    This is something that was added to allow a developer to get rid of the
    ANSI-ness defined in the default CCOPTIONS without having to rewrite
    the entire CCOPTIONS line.  For example, with stock MIT, you'd see
    something like
		CCOPTIONS="-ansi -O2 -fwritable-strings"
    and to get rid of the ANSI-ness, the developer would have to put
		CCOPTIONS="-O2 -fwritable-strings"
    in his Imakefile.  With this change, you would see a default of
		ANSICCOPTIONS="-ansi"
		CCOPTIONS="-O2 -fwritable-strings"
    and all the developer would have to put in the Imakefile is:
		ANSICCOPTIONS=
    to get rid of the ANSI-ness (many X clients will die a horrible death
    with -ansi).  The effect is even more dramatic in practice, because
    CCOPTIONS is actually quite complex.  The other issue is that one must
    add 'ANSICCOPTIONS=$(ANSICCOPTIONS)' to a PassCDebugFlags definition.

VIII) Where to get more information

    Additional documentation is available in the XFree86(1), Xconfig(4/5),
    XF86_SVGA(1), XF86_Mono(1), XF86_VGA16(1), XF86_Accel(1) and XF86keybd(1)
    manual pages.  In addition, several README files and tutorial documents are
    provided.  These are available in /usr/X386/lib/X11/etc in the binary
    distributions, and in mit/server/ddx/x386 and ddx/x386/etc in the source
    distribution.

    The files README.Config and VideoModes.doc should be consulted for 
    information on how to set up the XFree86 servers.  All supplied documents
    and manual pages should be read before contacting the XFree86 team for
    assistance.

    Documentation on SVGA driver development can be found in the directory
    /usr/X386/lib/Server/VGADriverDoc in the binary distribution, and in the
    directory mit/server/ddx/x386/VGADriverDoc in the source distribution.

    There exists a Usenet news group comp.windows.x.i386unix that contains
    mostly discussions about XFree86 and related topics. Many questions can
    be answered there.

    If you are totally at a loss, you can contact the XFree86 Core Team at
    [email-masked].

	--------------------------------------------------

XFree86 Contact Information

    Ongoing development planning and support is coordinated by the XFree86
    Core Team.  At this time the Core Team consists of (in alphabetical order):

       David Dawes <[email-masked]>
       Dirk Hohndel <[email-masked]>
       Rich Murphey <[email-masked]>
       Jon Tombs <[email-masked]>
       David Wexelblat <[email-masked]>, <[email-masked]>

    E-mail sent to <[email-masked]> will reach all of the Core Team.

	--------------------------------------------------

Thanks to all the people who already sent me corrections or additions,
especially David Wexelblat (one of the major contributors of updates).