Please read the Release Notes.  They contain OS-specific information as
well as some general notes about problems, non-problems and tips for this
Release.

1/	${XACCELHOME}/AcceleratedX/etc/Xsiteinfo file permits redirection
	of automatically emailed problem reports.  Reports may be mailed to 
	any valid address.  We like to have them sent to 'bugs@xinside.com',
	so that we can assess problem severity and frequency.  By default,
	the Server sends email to 'root@localhost'.

2/	Try to find the Board we support, not the Graphics Chipset on the
	Board.  The connection between the RAMDAC and Graphics Engine is
	significant. You will get better support from a specific board,
	than from the generic entry.  The generic entries assume a minimally
	capable RAMDAC.

3/	The Server supports 4, 8, 15, 16, 24 and 32bpp depending upon the
	graphics chipset and RAMDAC in use.  Server speed is usually linearly
	proportional to the number of bits.  The 32bpp Server is usually 25%
	the speed of the 8bpp Server mode.  Memory use is also proportional
	to color depth, but is not so linearly related.  The base Server
	typically takes 1.5-2MB, and memory use above that is related to
	color depth.  You will use about four times as much memory with a 
	32bpp Server as with an 8bpp Server.

4/	AcceleratedX now also supports 8bpp overlays over a 24bpp underlay.
	This feature is very RAMDAC specific and requires one of the
	following RAMDACs:
	
		TVP3020/TVP3025/TVP3026
		IBM526


 *****************************************************************************
*                                                                             *
*                           Known Bugs & Problems                             *
*                                                                             *
 *****************************************************************************

Known bugs & problems

1/	The Xsetup utility does not handle:

	o	Graphics Tablets

	o	Multiple screens

	You must edit the /etc/Xaccel.ini file by hand to make these
	features work.	There are many other features, such as using
	a software cursor on a board that normally uses a hardware
	cursor, that must be manually configured.  These are really
	rare tweaks, though!

2/	On some Operating Systems that support the XQUEUE event
	handler, Mouse Systems Corporation 3 button mice are treated
	as if they have two buttons (middle button doesn't work).  If
	you have this problem, disable the OS's mouse manager (usually
	'mousemgr') and have the server directly connect to the port
	with the mouse.	 The Server does recognize all three buttons.

	Make sure that the mouse manager is not restarted at boot
	time.  If two processes open the same port for reading, you 
	will not enjoy the results.

3/	24 bit colors may seem blue in some applications.
	We've seen several applications (Mosaic, mpeg_play) where
	ports to Intel UNIX versions do not query the order of color
	bits in the 24 bit representation.  We use the same order as
	the hardware (RAMDAC's use a consistent order on the hardware
	we've seen).  The order assumed by some of these applications
	and the order used by the hardware are different.  Red and
	blue bits are swapped.	So the BSDI Imp on their WWW server 
	becomes blue, instead of red.  The Mosaic spinning globe is 
	ugly... Obtain a corrected version  of the application and
	it will display correctly.

4/	Although we support HighColor (15/16 bit or 32k/64k colors), 
	you may not be able to find a configuration that works.	 Board 
	vendors change the color-lookup-table chips.  We may have a 
	board description that does not match the exact hardware on 
	the board that you have.  It should also be noted that some 
	chips have different frequency limitations, which may prevent 
	operation at some resolutions in higher color modes.

	For example, we know of two versions of the Orchid Fahrenheit
	1280+, which will show bad colors if the wrong RAMDAC type is
	chosen.	 Some vendors work closely with us, so that we can
	support their variations.  Some don't.	If you have a problem
	with a board, let us know, tell us what the RAMDAC is and we
	can probably turn around a usable board configuration file in a
	few days.  Our only problem arises when the RAMDAC is a new
	unsupported design, or we can't get ahold of a board to test a 
	persistent problem.

	The correct board description can be created by editing the
	xqa file, with knowledge of the chip's and frequency limits.
	It is not possible for us to unambiguously identify the RAMDAC
	in use, so we cannot correct the problem in software.

	We have provided some boards with alternate RAMDAC configurations.
	Unfortunately we know of no completely unambiguous mechanism to
	identify the RAMDAC in use.  You'll have to look at the board
	and identify the RAMDAC.  Sorry, that's just the way that the
	boards and chips work...

5/	Sometimes, after a resolution switch (<Ctl-Alt-Numeric-'-'> or
	<Ctl-Alt-Numeric-'+'>) or a Virtual Terminal switch, the screen 
	image may have some random pixels incorrectly displayed. This 
	can be fixed with a refresh ('xrefresh') or by moving the 
	cursor around.

	This problem almost exclusively manifests itself on older
	SVGA chips (ET4000, TVGA8900, OTI077, etc.).  Put another way,
	we have yet to see or hear about this problem on the new style 
	high performance graphics chips.

	We recommend that you avoid the problem by not doing screen 
	resolution switches on older SVGA chips.

6/	For the ISA ATI mach64 cards VGA BIOS shadowing HAS to be enabled.
	In general it is recommended to enable VGA BIOS shading for all
	graphics boards on PCI and VLB buses.

7/	Linux has a bug in the PS/2 and Bus Mouse device driver design.
	Only one program can open the device.  If 'gpm' is running, then
	the Server can not open the mouse port.  If one Server is running,
	then you cannot start a second Server.  The workround is to use a
	serial mouse.

8/	VT Switching is not supported on BSD/OS 2.0.  All other OS's permit
	multiple VT's and multiple Servers to be started.  This is because
	the console driver code is not designed for graphical mode VT
	switches.

	VT's on Linux should all use the default 80x25 text mode.  We do not
	support switching to other text modes.  This is caused by the method 
	used in LINUX to select non-standard modes.  XFree86 does switch
	back to a non-standard mode, but uses a technique that can result
	in system lockup.  We opted to preserve data rather than the text 
	mode on the grounds that a commercial Server must assume that your
	data is more precious than anything else.  Some OS's, such as 
	UnixWare, have ioctl's to switch text modes; these OS's are safe.


 *****************************************************************************
*                                                                             *
*                          Supported Graphics Chips                           *
*                                                                             *
 *****************************************************************************

Graphics chipsets supported in this release are listed below.  The
chart shows the maximum depth supported on each chipset for each
resolution we support.	Please note that this represents the best
that the chipset can achieve, if not limited by memory or RAMDAC.
If you buy a 1MB board, there's no way to give you 1600x1200 in
TrueColor mode... If you buy the cost reduced version of a board, it
may have a less capable RAMDAC.

Graphics Chip Vendor
  |
  |  Graphics Chip
  |	  |
  |	  |	   640x480
  |	  |	      |	     800x600
  |	  |	      |		|     1024x768
  |	  |	      |		|	  |	1152x900
  |	  |	      |		|	  |	    |	  1280x1024
  |	  |	      |		|	  |	    |	      |	    1600x1200
  |	  |	      |		|	  |	    |	      |		|
------- ----------- --------- --------- --------- --------- --------- -------
       |	   |	     |	       |	 |	   |	     |
Alliance 
	AS3210	    4/8/16/32 4/8/16/32 4/8/16/32 4/8/16    4/8       -
	AS6410	    4/8/16/32 4/8/16/32 4/8/16/32 4/8/16    4/8       -
	AS6422	    4/8/16/32 4/8/16/32 4/8/16/32 4/8/16    4/8       -

ARK	1000VL	    4/8/16/24 4/8/16/24 4/8/16/24 4/8       4/8       -
	1000PV	    4/8/16/24 4/8/16/24 4/8/16/24 4/8       4/8       -
	2000PV	    4/8/16/32 4/8/16/32 4/8/16/32 4/8/16    4/8/16    8

ATI	ATIVGA	    4/8/16    4/8       4/8       -         -         -
	ATI38800    8	      8		8	  -	    -	      -
	ATI68800    8/16/24   8/16/24   8/16	  8	    8	      -
	ATI88800    8/16/24   8/16/24	8/16/24	  8/16/24   8/16/24   8/16
	ATI264CT    8/16/24   8/16/24	8/16	  8/16      8         -
	ATI264VT    8/16/24   8/16/24	8/16	  8/16      8         -
	ATI264GT    8/16/24   8/16/24	8/16/24	  8/16/24   8/16/24   8/16

Avance	2101	    4/8       4/8       4/8       4/8       4         -
	2228	    4/8/16/24 4/8/16    4/8       4/8       4/8       -
 	2301	    4/8/16/24 4/8/16    4/8       4/8       4/8       -

Chips 	82C450	    4/8	      4		4	  -	    -	      -
 & Tech	82C451	    4	      4		-	  -	    -	      -
	82C452	    4/8	      4		4	  -	    -	      -
	82C453	    4/8	      4/8	4/8	  4/8	    -	      -
 	82C480	    4/8	      4/8	4/8	  4/8	    4/8	      -
	82C481	    4/8/16/32 4/8/16	4/8/16	  4/8	    4/8	      -
	F64300	    4/8/16/24 4/8/16    4/8/16    4/8       4/8       -
	F64310	    4/8/16/24 4/8/16    4/8/16    4/8       4/8       -
	F65510	    4/8	      -         -         -         -         -
	F65520	    4/8	      -         -         -         -         -
	F65530	    4/8	      4/8       4/8       4/8       -         -
	F65535	    4/8/16    4/8       4/8       4/8       -         -
	F65540	    4/8/16    4/8       4/8       4/8       -         -
	F65545	    4/8/16    4/8       4/8       4/8       -         -

Cirrus	GD5402	    4/8	      4/8	4	  4	    -	      -
	GD5420	    4/8	      4/8	4/8	  4/8	    -	      -
	GD5422	    4/8/16    4/8/16	4/8	  4/8	    4	      -
	GD5424	    4/8/16/24 4/8/16	4/8	  4/8	    4	      -
	GD5426	    4/8/16/24 4/8/16	4/8	  4/8	    4/8	      -
	GD5428	    4/8/16/24 4/8/16	4/8/16	  4/8	    4/8	      -
	GD5429	    4/8/16/24 4/8/16	4/8/16	  4/8	    4/8	      -
	GD5430	    4/8/16/24 4/8/16	4/8/16	  4/8	    4/8	      -
	GD54M30	    4/8/16/24 4/8/16	4/8/16	  4/8	    4/8	      -
	GD5434	    4/8/16/32 4/8/16/32 4/8/16	  4/8/16    4/8	      -
	GD5436	    4/8/16/32 4/8/16/32 4/8/16	  4/8/16    4/8	      -
	GD5440	    4/8/16/24 4/8/16	4/8/16	  4/8	    4/8	      -
	GD54M40	    4/8/16/24 4/8/16	4/8/16	  4/8	    4/8	      -
	GD5446	    4/8/16/24 4/8/16	4/8/16	  4/8	    4/8	      -
	GD5462	    4/8/16/24 4/8/16/24	4/8/16/24 4/8/16    4/8/16   4/8
	GD7541	    4/8/16/24 4/8/16    4/8/16	  4/8       4/8	      -
	GD7543	    4/8/16/24 4/8/16    4/8/16	  4/8       4/8	      -

Compaq	TRITON	    8/16      8/16      8         -         -         -
	ORION	    8/16/32   8/16      8/16      8         8         -
	ARIEL	    8/16/32   8/16      8/16      8         8         -

IBM	8514/A	    4/8	      4/8	4/8	  -	    -	      -
	VGA	    4	      -		-	  -	    -	      -
	XGA	    8/16      8		8	  -	    -	      -
	XGA-2	    8/16      8/16	8	  -	    -	      -

IIT	AGX014	    8/16/24   8/16	8	  -	    -	      -
	AGX015	    8/16/24   8/16/24	8/16	  8	    8	      -

Matrox	TITAN	    8/16/32   8/16/32	8/16/32	  8/16/32   8/16/32   8
	ATLAS	    8/16/32   8/16/32	8/16/32	  8/16/32   8/16      8/16
	ATHENA	    8/16/32   8/16/32	8/16/32	  8/16/32   8/16      8/16
	2064W	    8/16/24   8/16/24	8/16/24	  8/16/24   8/16/24   8/16/24
	1064SG	    8/16/24   8/16/24	8/16/24	  8/16/24   8/16/24   8/16/24

Neomagic 
	NM2070	    8/16      8         8         -         -         -
	NM2090	    8/16      8/16      8         -         -         -
	NM2093	    8/16      8/16      8         -         -         -

Number9	I128	    8/16/32   8/16/32	8/16/32	  8/16/32   8/16/32   8/16/32
	I128s2	    8/16/32   8/16/32	8/16/32	  8/16/32   8/16/32   8/16/32

Oak	OTI067	    4/8	      4/8	4	  4	    -	      -
	OTI077	    4/8/16    4/8/16	4/8	  4/8	    4	      -
	OTI087	    4/8/16/24 4/8/16	4/8	  4/8	    4/8	      -
	OTI107	    4/8/16/32 4/8/16/32	4/8/16	  4/8/16    4/8	      -
	OTI117	    4/8/16/32 4/8/16/32	4/8/16	  4/8/16    4/8	      -

Sierra	SC15064	    4/8/16/24 4/8/16/24	4/8/16	  4/8/16    4/8	      -

S3	86C325	    8/16/24   8/16/24	8/16	  8	    8	      -
	86C375	    8/16/24   8/16/24	8/16/24	  8/16	    8/16      8
	86C385	    8/16/24   8/16/24	8/16/24	  8/16	    8/16      8
	86C732	    8/16/32   8/16/32	8/16	  8	    -	      -
	86C764	    8/16/32   8/16/32	8/16	  8	    8	      -
	86C765	    8/16/32   8/16/32	8/16	  8	    8	      -
	86C775	    8/16/32   8/16/32	8/16	  8/16	    8/16      8
	86C785	    8/16/32   8/16/32	8/16	  8/16	    8/16      8
	86C801	    4/8/16/24 4/8/16	4/8	  4/8	    4/8	      -
	86C805	    4/8/16/24 4/8/16	4/8	  4/8	    4/8	      -
	86C805i	    4/8/16/24 4/8/16	4/8	  4/8	    4/8	      -
	86C864      8/16/32   8/16/32	8/16	  8	    8	      -
	86C866      8/16/24   8/16/24	8/16	  8	    8	      -
	86C868      8/16/24   8/16/24	8/16	  8	    8	      -
	86C911	    4/8/16    4/8/16	4/8	  4	    4	      -
	86C924	    4/8/16    4/8/16	4/8	  4	    4	      -
	86C928	    4/8/16/32 4/8/16/32 4/8/16/32 8/16	    8/16      8
	86C964      8/16/32   8/16/32	8/16/32	  8/16/32   8/16/32   8/16
	86C968      8/16/24   8/16/24	8/16/24	  8/16/24   8/16/24   8/16/24
	86C988      8/16/24   8/16/24	8/16/24	  8/16/24   8/16/24   8/16/24

Trident TVGA8900B   4/8	      4/8	4/8	  4/8	    -	      -
	TVGA8900C   4/8	      4/8	4/8	  4/8	    -	      -
	TVGA8900CL  4/8/16/24 4/8/16	4/8	  4/8	    4	      -
	TVGA8900D   4/8/16/24 4/8/16	4/8	  4/8	    4	      -
	TVGA9000    4/8	      4/8	4	  4	    -	      -
	TVGA9000i   4/8	      4/8	4	  4	    -	      -
	TVGA9200CXr 4/8/16/24 4/8/16	4/8	  4/8	    4/8	      -
	TGUI9400CXi 4/8/16/24 4/8/16	4/8	  4/8	    4/8	      -
	TGUI9420DGi 4/8/16/24 4/8/16	4/8	  4/8	    4/8	      -
	TGUI9440    4/8/16/24 4/8/16	4/8/16	  4/8	    4/8	      -
	TGUI9660    4/8/16/32 4/8/16/32	4/8/16	  4/8/16    4/8	      -
	TGUI9680    4/8/16/32 4/8/16/32	4/8/16	  4/8/16    4/8	      -

Tseng	ET3000	    4/8	      4/8	4	  4	    -	      -
	ET4000	    4/8/16    4/8/16	4/8	  4/8	    4	      -
	ET4000/W32  4/8/16/24 4/8/16	4/8	  4/8	    4/8	      -
	ET4000/W32i 4/8/16/24 4/8/16	4/8	  4/8	    4/8	      -
	ET4000/W32p 4/8/16/24 4/8/16/24 4/8	  4/8	    4/8	      -
	ET6000      4/8/16/24 4/8/16/24 4/8/16/24 4/8/16    4/8/16    -

Weitek	P9000	    8/16/32   8/16/32	8/16	  8/16	    8	      8
	P9100	    8/16/24   8/16/24	8/16/24	  8/16/24   8/16/24   8/16
	W5186	    4/8/16    4/8/16    4/8       -	    -	      -
	W5286	    4/8/16    4/8/16    4/8       4/8	    4	      -

Western PVGA1	    4/8	      4/8	4	  -	    -	      -
 Digita WD90C00	    4/8	      4/8	4	  -	    -	      -
	WD90C11	    4/8	      4/8	4	  -	    -	      -
	WD90C24	    4/8	      -		-	  -	    -	      -
	WD90C26	    4/8	      -		-	  -	    -	      -
	WD90C30	    4/8/16    4/8/16	4/8	  4/8	    4	      -
	WD90C31	    4/8/16    4/8/16	4/8	  4/8	    4	      -
	WD90C33	    4/8/16/24 4/8/16	4/8	  4/8	    4	      -
	WD9500	    4/8	      4/8	4/8	  -	    -	      -




 *****************************************************************************
*                                                                             *
*                                   X3D-PEX                                   *
*                                                                             *
 *****************************************************************************

The PEX that comes with Accelerated-X 3.1 is a full implementation of
PEX 5.1. This is much more than the MIT Sample Implementation. Highlights
are:

	Z-Buffer
	Flat & Gouraud Shading
	Hatches
	Patterns
	Transparency
	Dithering
	4, 8, 16, 24, 32 bpp support


Reference of implementation specific parameters:


Enumerated Types
----------------


MarkerType		Dot, Cross, Asterisk, Circle, X

ATextStyle		NotConnected, Connected

InteriorStyle		Hollow, Solid, Pattern, Hatch, Empty

HatchStyle		45Degrees, 135Degrees

LineType		Solid, Dashed, Dotten, DashDot, CenterLine, Phantom

SurfaceEdgeType		Solid, Dashed, Dotten, DashDot, CenterLine, Phantom

PickDeviceType		DC_HitBox, NPC_Volume

PickOneMethod		Last

PickAllMethod		All

PolyLineInterpMethod	None, Color

CurveApproxMethod	ConstantBetweenKnots, WCS_ChordalSize,
			NPC_ChordalSize, DC_ChordalSize,
			WCS_ChordalDev, NPC_ChordalDev,
			DC_ChordalDev

ReflectionModel		NoShading, Ambient, Diffuse, Specular

SurfaceInterpMethod	None, Color

SurfaceApproxMethod	ConstantBetweenKnots, WCS_ChordalSize,
			NPC_ChordalSize, DC_ChordalSize,
			WCS_ChordalDev, NPC_ChordalDev,
			DC_ChordalDev

TrimCurveApproxMethod	ConstantBetweenKnots, ConstantBetweenKnots

ModelClipOperator	Replace, Intersection

LightType		Ambient, WCS_Vector, WCS_Point, WCS_Spot

ColorType		Indexed, RGBFloat, CIEFloat, HSVFloat, HLSFloat,
			RGBInt8, RGBInt16

FloatFormat		IEEE_754_32, DEC_F_Floating,

HLHSRMode		Off, ZBuffer, ZBufferId

PromptEchoType		EchoPrimitive

DisplayUpdateMode	VisualizeEach, VisualizeEasy, VisualizeNone,
			SimulateSome, VisualizeWhenever

ColorApproxType		ColorSpace, ColorRange

ColorApproxModel	RGB

RenderingColorModel	RGB

ParametericSurfaceChar	None, IsoparametricCurves


OutputPrimitives
----------------

NURB surfaces		10
NURB curves		10
trim curves		6
cell arrays		simulated by drawing the outline of the cell array

Escapes
-------

SetEchoColor
ES_ESCAPE_DBLBUFFER
ES_ESCAPE_SWAPBUFFER
ES_ESCAPE_SWAPBUFFERCONTENT
HP_ESCAPE_DFRONT
QueryColorApprox

Lookup Tables
-------------

LineBundle		20
MarkerBundle		20
TextBundle		20
InteriorBundle		20
EdgeBundle		20
Pattern			20
Color			256
TextFont		2
View			64
Light			64
DepthCue		8
ColorApprox		8

Known Bugs, Limitations, Details
--------------------------------

1/	A FPU is required. Most of the FPU emulation of most operating
	system does not fully/correctly emulate everything PEX needs.

2/	Under certain circumstances backface-culling seems to fail.
	As a workaround disable backface culling for those instances.

3/	Patterns show unexpected colors if no lighting is applied.
	The reason is that the pattern colors are modulated with
	the surface color.  If lighting is applied the surface
	color is forced to be white.  If no lighting is applied
	the normal surface color is used. If the surface color is
	white the colors are the expected ones from the pattern.
	If different colors are used the pattern colors can be
	modulated.

4/	Rendering in single-buffered modes is slow. ALWAYS use
	double-buffering if possible. This PEX extension is highly
	optimized for drawing into the backbuffer.

5/	The commonly suggested way of using MBX for double-buffering is
	highly disrecommended. MBX alloactes 2 additional buffers for every
	drawable. Using the special escapes ES_ESCAPE_DBLBUFFER/
	ES_ESCAPE_SWAPBUFFER/ES_ESCAPE_SWAPBUFFERCONTENT/HP_ESCAPE_DFRONT
	allows double-buffering with only a single additional buffer.
	Also in upcoming releases these escapes will use HW double-buffering,
	wherever possible. Many exisiting applications already can deal with
	these escapes, but prefer to use MBX if existent. Hence if the
	Multi-Buffering entry from $XACCELHOME/etc/Xextensions is commented
	out they will automatically use the escapes.

6/	Transparency is implemented via the screen-door algorithm. There
	are 4 screen-door patterns used in total.

7/	In 32k/64k color modes a 4x4 ordered dither matrix is used for
	color dithering. It is recommened that dithering is always turned
	on. In 256 color modes an 8x8 ordered dither matrix is used.
	Occasionally this can lead to unwanted artifacts. In those cases
	dithering should be disabled. In 16M color modes dithering is
	never used.

8/	Backsurface attributes are not implemented.

9/	PEX was computing the ColourRange approximation suboptimally.
	There is now explicit support for faster rendering in that mode
	for up to 8bpp.

	Internally the pixel color (and the dcue color and the colors
	of the pattern) are transformed into a single value accrding to:


		i = weight1 * r + weight2 * g + weight3 * b


	Depth Cueing and Pattern Modulation are done on the 'i' value
	rather than on the 'r','g','b' primaries. This means that basically
	instead of computing/interpolating three values across the scanline,
	only one value is used. This way is correct for depth cueing, but
	not correct for patterns. However we will keep it for performance
	reasons.

	The same optimization is used if there is a ColourSpace
	approximation and mult2 and mult3 are both 0 (which means
	only the red channel is valid). This is the default behavior for
	PEXUt based clients if running with GrayScale or StaticGray
	visuals.

	In 8bpp ColourRange mode dither is done via a 4x4 matrix rather
	than an 8x8 matrix. In ColourSpace mode a full 8x8 matrix is used
	for better color distribution.

	This handling of ColourRange is almost identical to OpenGL's
	notion Color-Index mode. The key difference however is that
	lighting takes currently place with full RGB color semantics and
	only at the rasterization stage things get simpler.
