From: steve@ecf.toronto.edu (Steve Kotsopoulos)
Subject: Frequently Asked Questions About X386 (with answers)
Organization: University of Toronto, Engineering Computing Facility
Date: Fri, 11 Sep 1992 17:14:17 GMT
Expires: Thu, 1 Oct 1992 04:00:00 GMT

[Last changed: 11 Sept 1992]

If you have anything to add or change on the FAQ just let me know.
Send changes to steve@ecf.toronto.edu, please put 'X386' somewhere
in the subject line so that my mail filter will put it in the correct
mail folder.

	Frequently Asked Questions About X386 (with answers)
	----------------------------------------------------

1. What is X386?

	X386 is the port of the X11 server to System V/386 that was
	done by Thomas Roell (roell@informatik.tu-muenchen.de).
	It supports a wide variety of VGA boards.

	There are 2 major 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 anymore).

1a. What is X386 1.2E?

	X386 1.2E is an enhanced version of X386 1.2. 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
	   X386 1.2E, selectable at run-time via the Xconfig file.
	   SpeedUp requires an ET4000-based SVGA card, and a virtual
	   screen width of 1024.  SpeedUp is selected by default when
	   these requirements are satisfied.
	2) The fX386 packages from Jim Tsillas are included as the
	   default operating mode if SpeedUp is not selected.  This
	   mode is now slightly better than X386 1.1b (X11R4) in terms 
	   of overall performance.
	3) Support for LOCALCONN, compile-time selectable for server,
	   clients, or both.  This support is for both SVR3 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 for the standard version. 
	5) Support for serial mice connected for Fas serial ports on
	   SVR4 (although the STREAMS-based SAS is a better alternative;
	   the Fas option may not be supported in later versions).
	6) A command line option has been added to allow the selection
	   of which VT the server will use, rather than having it try
	   to find one on its own.
	7) Support for compressed bitmap fonts has been added (Thomas
	   Eberhardt's code from the contrib directory on export.lcs.mit.edu)

	Source Patches based on X11R5 PL16, from MIT, as well as patches
	from earlier versions of X386 1.2E, are available via anonymous
	FTP from:

		export.lcs.mit.edu (under /contrib/X386-1.2E)
		ftp.physics.su.oz.au (under /pub/X386)
		ftp.win.tue.nl (under /pub/X386)

	in the file 'X386-1.2E-1.0.2.diff.Z'.   For Linux, 386BSD, BSD/386
	and Mach386, additional patch kits are (currently) required.
	Send mail to x386@physics.su.oz.au if you need these additional
	patch kits; we will try to make them generally available in the
	near future.

	Binaries are available via anonymous FTP from:

		ftp.physics.su.oz.au		- SVR4 binaries
			under /pub/X386/SVR4
		ftp.win.tue.nl			- SVR4 binaries
			under /pub/X386/SVR4
		f.ms.uky.edu			- SVR4 binaries
			under /pub2/Xwindows/X386
		stasi.bradley.edu		- SVR4 binaries
			under /pub/X386
		banjo.concert.net		- Linux binaries
			under /pub/Linux/X11

	Each binary distribution will contain a README file that
	describes the compile-time option selections that were made.

2a. Where can I get X386 1.2 (X11R5)?

	The X386 1.2 sources are available at any site that distributes
	the X11R5 source (too numerous to list here, but includes
	export.lcs.mit.edu)

	The version 1.2E binaries (from David Dawes) are available at:
		ftp.physics.su.oz.au	   in  Esix_4/x11r5/Binaries
		nic.funet.fi               in  pub/unix/386ix/svr4/x11r5
		ftp.win.tue.nl		   in  pub/X11R5-esix

2b. Where can I get X386 1.1 (X11R4)?

	X386 1.1 is available both as a binary release or as source
	patches (apply patches to MIT's X11R4 source tree).
	The fonts are available separately, since they are common
	for all operating systems.

	The official ftp site is flop.informatik.tu-muenchen.de
	(131.159.8.35), /pub/i386/X11R4
		 808424 bytes X386.1.1b.tar.Z		source patches
		3566993 bytes X386core.SVR4.tar.Z	binaries for SVR4
		7348521 bytes X11R4core.tar.Z		1.1a binaries
		 395521 bytes X386.1.1b.isc.Z		1.1b server binary
		3307520 bytes X11R4fonts.tar		fonts 

	It is also available on the following machines:

	- piggy.ucsb.edu (128.111.72.50), /pub/X386.
		 808424 bytes X386.1.1b.tar.Z		source patches
		3566993 bytes X386core.SVR4.tar.Z	binaries for SVR4
		3307520 bytes X11R4fonts.tar		fonts
	  Please use after 6pm Pacific, as these are large files.

	- ftp.win.tue.nl:/pub/X11R4_386

	- NSTAR Public Access Unix 219-289-0287
	  {larry@news.rn.com, ..!uunet!news.rn.com!larry}

3. What operating systems does it run under?

    X386 1.2E supports:
	SVR4: Microport, Dell, Esix, ISC, AT&T, MST, Consensys, UHC
	SVR3: ISC 2.2 & 3.0, AT&T 2.2 (Esix 3.2D and SCO 3.2.2 are being tested)
	Linux, Mach386, BSD/386, 386BSD

4. What VGA boards are supported?

	ET3000                  (for ex. GENOA 5300/5400)
	ET4000                  (Tricom, STB PWR Graph, Sigma Legend, etc.)
	GVGA                    (Genoa 6400)
	PVGA1A			(Paradise VGA Professional)

5. Why won't my xterm run properly?

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

6. I can't compile X programs. Am I missing a library?

	you must include the BSD (Sockets) API by including -linet in your link
	list. Also, for anything that uses the /dev/ptmx 'clone' devices,
	use -lpt. 
	SCO Unix uses -lsocket for the socket library.

	In summary, add '-linet -lpt'
	after the -lX11. (It won't work if it is not AFTER the -lX11)

	Or use instead -linet '/usr/lib/X11/X386/etc/inetemul.o' which
	includes some dummy functions, which always will return an error,
	but are *very* good for linking.

7. Everything works fine if I use xinit, but I can't use xdm.
   It gives me an error that it can't open the mouse.
   Why would the server work fine under xinit, but not xdm?
   How do I fix it? (I am using the Xque* drivers under SVR4)

	This is caused by a bug with the Xque drivers in SVR4.
	Dell's SVR4 has fixed this problem (which exists only
	with X386 1.1, not X386 1.2).

	dwex@mtgzfs3.att.com (David E Wexelblat) is using the following
	xdm (X11R4pl18) patch successfully:

		*** Save/util.c Tue Nov 12 20:24:17 1991
		--- util.c      Tue Nov 12 20:25:37 1991
		***************
		*** 165,175 ****
		--- 165,177 ----
		
  		CleanUpChild ()
  		{
		+ #ifndef SYSV386
  		#ifdef SYSV
        		setpgrp ();
  		#else
        		setpgrp (0, getpid ());
        		sigsetmask (0);
		+ #endif
  		#endif
  		#ifdef SIGCHLD
        		(void) signal (SIGCHLD, SIG_DFL);

8. How do I find out what clock frequencies are on my VGA board?

	X386 1.1 includes a DOS program, /usr/lib/X11/X386/etc/clock.exe, that
	you can run (under DOS of course!). It will report all the clock
	frequencies that it can find. You can then use this information
	when setting up your Xconfig file.
	X386 1.2 will automatically find this information when it boots.

	David E Wexelblat (dwex@mtgzfs3.att.com) maintains a database of known
	clock settings for VGA cards and monitor settings.  This database is
	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.

8a. OK.  I have my VGA clocks, and my monitor specifications.  How do I
    generate mode lines for Xconfig?

	First check out the mode database described for question 8.  It has lots
	of monitor timings contributed by X386 users.  It also has the VESA
	standard definitions.  If the database does not have definitions for
	your monitor, try the VESA timings.

	If neither of these options work, the CONFIG file with the X386 contains
	a tutorial on how to come up with these timings.  It may be helpful to
	start with setting 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.

9. How do I switch session under SCO? The normal sequence does not work.

	Try ALT-CTL-F{n}

10. I can't get my bus mouse to work!

	I had a lot of trouble too! So far, the only way I could get a
	bus mouse to work (on SVR4) was to use the Xque drivers and set
	up my /usr/lib/mousetab for a bus mouse 'vt00	bmse'.
	(This involved re-installing the mouse driver that came from the
	OS vendor for bus mouse)

	People running ISC have reported that using an Xconfig of
	'Busmouse "/dev/logi"' works too.

11. Any tips on compiling the stock X11R5 (not X386 1.2E)?

	0. Save yourself a lot of headache.  Benefit from the experiences
	   of others, and get X386 1.2E (this is your last warning).

	1. You will need lots of disk space (around 150Meg for the MIT core).

	2. If using the standard C compiler, make sure that you don't have
	   /usr/ucb before /bin in your path.

	3. Follow the advice of Steve Hite (shite@sinkhole.unf.edu):
           "DON'T use the C shell on Esix 4.0.3a.  The X library is HUGE and
            csh complains about too long of an argument list.  The Korn shell
            will work just dandy."

	4. Look at mit/server/ddx/x386/README and follow any instructions
	   for your particular platform.

	5. Change the line in server/Imakefile that reads:
        	SYSLIBS = -lm /usr/ucblib/libucb.a
   	   to read:
        	SYSLIBS = -lm -lc /usr/ucblib/libucb.a

   	   This ensures that the directory reading routines from libc.a are
   	   used intead of the ones in libucb.a (BSD version of readdir).

	   You might want to extract ndbm.o, bcopy.o and bcmp.o from
	   libucb.a (ar x) into a private library instead (or use GNUdbm).
	   (also, X11/Xfuncs.h provides some replacement BSTRING routines)


	6. There is an unofficial bug fix for the polygon drawing routine,
	   it is available for ftp from:

		ftp.win.tue.nl:/pub/X11R5/fixes/unofficial-X386fix
		ftp.physics.su.oz.au:/Esix_4/x11r5/Unofficial_x386_fill_patch.Z

	7. You may want to disable building the PEX stuff, since it
	   runs miserably slow on most machines.

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

Please send me anything else you want added to this FAQ.
(especially if you had a problem that someone else was able to help you with)

Please do not send me questions that are not answered in the FAQ.  Instead,
post your question to the net, and send me the answer when you get it.

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
Newsgroups: comp.unix.sysv386