home *** CD-ROM | disk | FTP | other *** search
- Xref: bloom-picayune.mit.edu comp.windows.x.i386unix:13 comp.unix.pc-clone.32bit:872 news.answers:4616
- Path: bloom-picayune.mit.edu!enterpoop.mit.edu!news.media.mit.edu!micro-heart-of-gold.mit.edu!news.bbn.com!olivea!sun-barr!cs.utexas.edu!torn!skule.ecf!steve
- From: steve@ecf.toronto.edu (Steve Kotsopoulos)
- Newsgroups: comp.windows.x.i386unix,comp.unix.sysv386,news.answers
- Subject: X on Intel-based Unix Frequently Asked Questions [FAQ] (with answers)
- Summary: X options for Intel-based Unix (SYSV/386, 386BSD, Linux, Mach)
- Message-ID: <BzB46n.K3B@ecf.toronto.edu>
- Date: 15 Dec 92 15:25:35 GMT
- Expires: Fri, 1 Jan 1993 05:00:00 GMT
- Sender: steve@ecf.toronto.edu (Steve Kotsopoulos)
- Reply-To: steve@ecf.toronto.edu
- Followup-To: poster
- Organization: University of Toronto, Engineering Computing Facility
- Lines: 545
- Approved: news-answers-request@MIT.Edu
-
- Archive-name: Intel-Unix-X-faq
- Last-modified: 15 Dec 1992
-
- Note: This is a major re-organization (and replacement) of my
- "Frequently Asked Questions About X386" FAQ list.
-
- 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. What about accelerated boards?
- 7. Why doesn't XFree86 support 16-color VGA modes?
- 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 general things should I know for building XFree86 from source?
- 20. Disk space requirements
- 21. README files to take note of
- 22. Compiler recommendations
- VII) What OS-specific things should I know for building XFree86 from source?
- 23. SVR4
- 24. SVR3
- 25. 386BSD
- 26. Linux
- 27. Mach
- VIII) Is there anything special about building clients with XFree86?
- 28. BSD compatibility library
- 29. ANSICCOPTIONS
-
- This article does NOT include answers to general X questions, since these
- are already covered by the X FAQ that is regularly posted by David B. Lewis
- <faq%craft@uunet.uu.net>.
-
- If you have anything to add or change on the FAQ just let me know.
- (especially if you had a problem that someone else was able to help you with)
- Send changes to steve@ecf.toronto.edu, please put 'FAQ' somewhere
- in the subject line so that my mail filter will put it in the correct
- mail folder.
-
- Please DO NOT ask me questions that are not answered in the FAQ. I do not
- 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 have slower performance, and will
- be more difficult to compile. Information on how to obtain XFree86
- is listed below.
-
- X386 is the port of the X11 server to System V/386 that was
- done by Thomas Roell (roell@sgcs.com).
- 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).
-
- 2. Commercial options
-
- 1) Metro Link
- 2213 W. McNab Road
- Pompano Beach, FL 33069
- (305) 970-7353
- Fax: (305) 970-7351
- email: sales@metrolink.com
-
- Summary: OS: SVR3.2, SVR4, Venix
- HW: EGA, VGA, SVGA, TIGA, TARGA, 8514/A, S3
- Other: Motif, OpenLook/XView, XIE Imaging Extension
-
- 2) SGCS (Snitily Graphics Consulting Services)
- 894 Brookgrove Lane
- Cupertino, CA 95014
- (800) 645-5501, (408) 255-9665
- Fax: (408) 255-9740
- email: info@sgcs.com or ...!mips!zok!info
-
- Summary: OS: SVR3.2, SVR4
- HW: 8514/A (ATI Ultra), S3 (Diamond Stealth), SVGA
- Other: Motif, Dual-headed server
-
- 3) Consensys Corporation
- 1301 Pat Booker Rd.
- Universal City, TX 78148
- Phone: 1-800-388-1896
- FAX: 1-416-940-2903
- email: info@consensys.com
-
- 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: info@sco.com
-
- Summary: OS: ODT 1.1, ODT 2.0, SCO Unix 3.2v4
- HW: X11R4 server support for SVGA, 8514/A, S3, TMS340x0,
- WD90C31, XGA2, assorted local bus (see SCO Hardware
- Compatabilty Guide for actual card vendors).
- Other: Motif
-
- 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. Here are the highlights of the enhancements:
-
- 1) The SpeedUp package from Glenn Lai is an integral part of XFree86,
- 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. Depending on the underlying hardware, these enhancements
- can provide as much as a 50% improvement in xStones.
- 2) The fX386 packages from Jim Tsillas are included as the default
- operating mode if SpeedUp is not selected. This mode is now
- equivalent in performance to X386 1.1b (X11R4).
- 3) Support for LOCALCONN, compile-time selectable for server, clients,
- or both. This support is for both SVR3.2 and SVR4. For SVR4.0.4
- with the 'Advanced Compatibility Package', local connections from
- SCO XSight/ODT clients are supported.
- 4) Support for the newer ET4000-based SVGAs which have high clocks and
- reported incorrect clock values with the standard version. This
- support is automatic and does not require any Xconfig options.
- Note that the Diamond SpeedStar 24 (as opposed to the 24X) is an
- ET4000 board that is NOT compatible with XFree86 (in addition, the
- SpeedStar 24X does not use an ET4000, and is also not supported).
- 5) Support for compressed bitmap fonts has been added (Thomas Eberhardt's
- code from the contrib directory on export.lcs.mit.edu).
- 6) Integrated support for 386BSD, Mach, and Linux.
- 7) A monochrome version of the server which will run on generic VGA
- cards is now included. This server uses just 64k of the memory on
- the VGA, and hence is limited to a virtual screen of approx. 800x600.
- 8) New configuration method which allows the server's drivers and font
- renderers to be reconfigured from both source and binary
- distributions.
-
- Also included are a tutorial on monitor timing by Bob Crosson, and the
- current X386 mode database and a sample xdm configuration by David Wexelblat.
-
- 4. What OSs are supported?
-
- XFree86 supports:
- SVR4: Microport, Dell, Esix, ISC, AT&T, MST, Consensys, UHC
- SVR3: ISC 2.2 & 3.0, AT&T 2.2
- Linux, Mach, 386BSD
-
- BSD/386 is not supported, but it should work. The most active
- BSD/386 person is Greg Lehey <grog%lemis@germany.eu.net>.
-
- Note that Esix 3.2D and SCO are not supported yet,
- but anyone should feel free to submit patches.
- If you are interested in tackling this, send mail to
- xfree86@physics.su.oz.au
-
- 5. What video hardware is supported?
-
- ET4000 (Tseng)
- ET3000 (Tseng)
- PVGA1 (Paradise)
- WD90Cxx (Western Digital - Paradise PVGA1 Supersets)
- GVGA (Genoa)
- TVGA8900C (Trident)
- ATI18800,28800 (ATI SVGA - not 8514!)
-
- If you are purchasing new hardware for the purpose of using XFree86, it
- is suggested that you purchase an ET4000-based board such as the
- Orchid ProDesigner IIs. Avoid recent Diamond boards; XFree86 will not
- work with them, because Diamond won't provide programming details.
- In fact, the XFree86 project is actively not supporting new Diamond
- products, as long as such policies remain in effect. Contributions
- of code will NOT be accepted (because of the potential liabilities).
- If you would like to see this change, tell Diamond about it.
-
- 6. What about accelerated boards?
-
- At this time, there is no support for accelerated boards like the
- S3, ATI Ultra (8514/A), TIGA, etc. This support is available in
- commercial products from SGCS and MetroLink (for SVR3 and SVR4).
-
- A beta S3 server is available for 386BSD. Contact <hasty@netcom.com>
- A beta 8514/A server is available for Linux. Contact <martin@cs.unc.edu>
- or <jon@robots.ox.ac.uk>. Note: these servers are NOT part of XFree86.
-
- 7. Why doesn't XFree86 support 16-color VGA modes?
-
- The reason that this is not supported is the way VGA implements the
- 16-color modes. In 256-color modes, each byte of frame buffer memory
- contains 1 pixel. But the 16-color modes are implemented as bit-
- planes. Each byte of frame- buffer memory contains 1 bit from each
- of each of 8 pixels, and there are four such planes. The MIT frame-
- buffer code is not designed to deal with this. If VGA handled
- 16-color modes by packing 2 4-bit pixels into each byte, the MIT code
- could be modified to support this (or it already may; I'm not sure).
- But for the VGA way of doing things, a complete new frame-buffer
- implementation is required. And it's not something the XFree86
- Core Team wants to tackle.
-
- 8. What other hardware or software requirements are there?
-
- Obviously, a supported SVGA board and OS are required. To run
- X efficiently, 12-16MB of 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.
-
- 9. Where can I get source for XFree86?
-
- Source patches for the current version (1.1, based on X11R5 PL17
- from MIT), are available via anonymous FTP from:
- export.lcs.mit.edu (under /contrib/XFree86)
- ftp.physics.su.oz.au (under /XFree86)
- ftp.win.tue.nl (under /pub/XFree86)
- (For the rest of this FAQ, these 3 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.
-
- 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
- ferkel.ucsb.edu - SVR4 binaries
- under /pub/SVR4/XFree86
- stasi.bradley.edu - SVR4 binaries
- under /pub/XFree86/SVR4
- blancmange.ma.utexas.edu - SVR3 (ISC) binaries
- under /pub/ISC/XFree86-1.1
- tsx-11.mit.edu - Linux binaries
- under /pub/linux/packages/X11/xfree86-1.1
- agate.berkeley.edu - 386BSD binaries
- under /pub/386BSD/0.1-ports/XFree86
- nova.cc.purdue.edu - 386BSD binaries
- under /pub/386bsd/submissions/XFree86
- ftp.cs.uwm.edu - Mach binaries
- under /i386
-
- 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 (dwex@mtgzfs3.att.com) 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 CONFIG and Xconfig.Notes files with
- XFree86 contains tutorials on how to come up with these timings. 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.
-
- 1) What if after xdm, twm and xterm start up and run ok, the keyboard
- freezes and i have to reboot?
-
- If the server crashes and fails to put the keyboard back in ascii
- mode (e.g. your keyboard is dead but remote logins are fine), you
- can reset it by 'kbd_mode -a' from a remote login. Likewise, if a
- rogue program put the keyboard in ascii mode while the server is
- running, the keyboard will need to be reset using 'kbd_mode -u'.
-
- 2) What do I do if xdm reports 'Crypt not present in system' or xdm
- won't accept my password?
-
- If you are using the xdm binary from core-bin-1.1.tar.Z on agate,
- make sure your passwords are unencrypted. Use vipw to check the
- password file -- you should see the unencrypted passwords there.
- If so, ignore the 'Crypt not present in system' message.
-
- Why? 386BSD 0.1's stock crypt routine is a dummy (crypt_dummy.c)
- that prints this message whenever you invoke it. This message
- merely tells you that passwords are unencrypted.
-
- This dummy crypt is staticly linked into xdm in core-bin-1.1.tar.Z
- on agate, and export restrictions prevent us from providing
- binaries with a real crypt. If you need xdm with a working crypt,
- you will have to get the XFree86 distribution and rebuild xdm.
- Chris Demetriou's /usr/386bsd.errata/crypt.instructions tells you
- how to install a real crypt.
-
- [ thanks to rich@lamprey.utmb.edu for these suggestions ]
-
- 18. Linux
-
- You must be running Linux 0.97pl4 or greater, and have the 4.1 gcc
- jump libraries installed.
-
- Make sure the binaries X386, X386mono, 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.
-
- When running xdm from rc.local, you will need to provide it with
- a tty, for example "xdm < /dev/console &".
-
- For more detailed information, please read the file README present
- with the distribution on tsx-11.mit.edu.
-
- 19. Mach
-
- Make sure you look at $FTP/README.Mach.
-
- VI) What general things should I know for building XFree86 from source?
-
- 20. Disk space requirements
-
- - about 60-70MB of free disk space is required for building XFree86. An
- additional 20-30MB is required to install the built binaries,
- - If you don't want to build PEX and/or want to minimize disk usage,
- you can remove some or all of the following directories:
-
- mit/doc mit/hardcopy
- mit/demos/auto_box mit/extensions/lib/PEX
- mit/demos/beach_ball mit/extensions/server/PEX
- mit/demos/gpc mit/extensions/test/InsPEX
- mit/fonts/PEX mit/lib/CLX
- mit/server/ddx/dec mit/server/ddx/ibm
- mit/server/ddx/macII mit/server/ddx/mips
- mit/server/ddx/omron mit/server/ddx/snf
- mit/server/ddx/sun mit/server/ddx/tek
- mit/util/PEX
-
- The following large fonts in mit/fonts/bdf/misc can also be removed:
-
- k14.bdf hang*.bdf jiskan*.bdf
-
- 21. README files to take note of
-
- $FTP/README, as well as any system-specific README file.
- Also read through 'site.def'. There are lots of documented options
- that can be changed from their defaults by editing this file.
-
- 22. Compiler recommendations
-
- gcc 2.? is *strongly* recommended for building server, libs, clients.
- In most cases it generates faster code than the standard compiler, and
- for those with a 486, its -m486 flag can provide an additional 5%
- improvement. The resulting executables will be larger, but can still
- be run on a 386 CPU with no loss in performance.
-
- VII) What OS-specific things should I know for building XFree86 from source?
-
- 23. SVR4
-
- You may need to re-tune your kernel (see the README file).
- Don't use csh, use ksh instead.
-
- 24. SVR3
-
- Make sure you look at $FTP/README.ISC, if that's what you are running.
-
- 25. 386BSD
-
- Make sure you look at $FTP/README.386BSD.
-
- 26. Linux
-
- Some Makefiles in the server are automatically generated based on
- configuration options. Under Linux, these automatic makes do not
- perform the "make depend" step. To turn that back on, change the
- definition of "Depend" in x386.cf from "emptyrule" to "depend".
-
- Makedepend is a shell script that uses ed. The public domain version
- of ed used in linux has a line length limit of 512 characters,
- and mit/lib/X has one line of 1500 characters, causing make to fail.
- Recompiling ed with a line limit of 2048 will avoid this problem.
- [ Thanks to <jon@robots.ox.ac.uk> for this suggestion ]
-
- To create private jump libraries, use the tools in the gcc shlib
- subdirectory. Change the Makefile appropriately and type "make X11".
-
- For more detailed information, please read the file README present
- with the distribution on tsx-11.mit.edu.
-
- 27. Mach
-
- Make sure you look at $FTP/README.Mach.
-
- VIII) Is there anything special about building clients with XFree86?
-
- 28. 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
-
- 29. 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.
-
- CONTACT INFORMATION
-
- Ongoing development planning and support is coordinated by the XFree86
- Core Team. At this time the Core Team consists of:
-
- The original "gang of four":
- David Dawes <dawes@physics.su.oz.au>
- Glenn Lai <glenn@cs.utexas.edu>
- Jim Tsillas <jtsilla@damon.ccs.northeastern.edu>
- David Wexelblat <dwex@mtgzfs3.att.com>
-
- Those supporting non-SYSV operating systems:
- Robert Baron <Robert.Baron@ernst.mach.cs.cmu.edu> [Mach]
- Rich Murphey <rich@lamprey.utmb.edu> [386BSD]
- Orest Zborowski <obz@raster.kodak.com> [Linux]
-
- e-mail sent to <xfree86@physics.su.oz.au> will reach all of the core team.
-
- --------------------------------------------------
-
- Thanks to all the people who already sent me corrections or additions.
- --
- Steve Kotsopoulos mail: steve@ecf.toronto.edu
- Systems Analyst bitnet: steve@ecf.UTORONTO.BITNET
- Engineering Computing Facility uucp: uunet!utai!ecf!steve
- University of Toronto phone: (416) 978-5898
-