
			Direct Xlib Version 3.1

			   Updated 11/11/94


	These instructions apply when using Direct Xlib 3.1 on Openwindows 3.4
	or greater on SunOS 5.4 or greater.  For earlier versions of any of
	this software, refer to the Direct Xlib 1.0 or Direct Xlib 2.0
	README file instead.

Using Direct Xlib:

	You must be running Openwindows 3.4 or greater on SunOS 5.4 or greater.

	Your LD_LIBRARY_PATH should already contain the equivalent of
	$OPENWINHOME/lib somewhere within it before you try to use Direct Xlib.
	In the following discussion $OPENWINHOME represents the directory path
	to the version of Openwindows you are running.

	These directions also assume you are using a version of Direct Xlib
	installed in the default location. You can also use it from a
	non standard location by setting the DXLIBHOME environment
	variable.  Look in the Direct Xlib user documentation for more details.

Single Application Use:

	To use Direct Xlib on an application by application basis, assuming
	your application is dynamically linked to libX11 start your
	application as follows using the same command line arguments you would
	normally use:
	
	/opt/SUNWdxlib/bin/dxlib myapp

	where myapp is the name of the application you want to run using
	Direct Xlib.

	Using the dxlib script with no application argument will give you
	information on the current state of Direct Xlib including the version
	number and where the library can be found.  

	/opt/SUNWdxlib/bin/dxlib

	If dxlib cannot find the libraries then it will notify you and give
	you information on how to tell it where to look for them.

	For more information on the current status of Direct Xlib use:

	/opt/SUNWdxlib/bin/dxlib /opt/SUNWdxlib/bin/dxlib_status -v

	This will give you more details on the current state of the
	environment variables which can be used to control various
	parts of Direct Xlib functionality.  These environment variables
	include the following:

						Default Value

		DIRECTX_MIN_WIN_WIDTH		    96
		DIRECTX_MIN_WIN_HEIGHT		    64
		DIRECTX_FONT_MEMORY_LIMIT	  65536
		DIRECTX_DISABLE			  no value


Using Direct Xlib on your whole desktop:

	In your .xinitrc file, add the following lines just BEFORE the lines
	that start the window manager:

	LD_LIBRARY_PATH=/opt/SUNWdxlib/lib/dxlib/SunOS5.x:$LD_LIBRARY_PATH
	export LD_LIBRARY_PATH

	Note: you may need to add $OPENWINHOME/lib if this is not already
	included in your $LD_LIBRARY_PATH.

	Note: you are no longer required to put $OPENWINHOME/server/lib in
	your LD_LIBRARY_PATH when $OPENWINHOME is equal to /usr/openwin.
	Should $OPENWINHOME not equal /usr/openwin then $OPENWINHOME/server/lib
	is required.

	If there is no .xinitrc file in your home directory you should
	copy $OPENWINHOME/lib/Xinitrc to .xinitrc in your home directory then
	make the above changes to that file.  You should add the above lines
	just before the following lines:
					
	if [ "$OW_WINDOW_MANAGER" ]; then       # Alternate Window Manager
	    xsetroot -def                       # Clear root window
	    $OW_WINDOW_MANAGER & wmpid=$!       # Start Alt Window Manager
	    dsdm &                              # OpenLook Drop Site Database
	    unset OW_WINDOW_MANAGER
	else
	    sleep 15 & pid=$!                   # OpenLook Window Manager
	    olwm -syncpid $pid & wmpid=$!
	    wait $pid                           # Pause until olwm inits
	fi

	If you printenv LD_LIBRARY_PATH in a shell after starting the server,
	you should see that /opt/SUNWdxlib/lib/dxlib/SunOS5.x has been
	prepended to the front of it.  Leave it this way as long as you
	want Direct Xlib to be automatically used when you start programs from
	shells within Openwindows.

	You can turn OFF Direct Xlib on particular applications even though
	you may be using it for your whole desktop.  To do so just set the
	DIRECTX_DISABLE environment variable to any non-zero value before
	starting the application.  Direct Xlib will be used but effectively
	disabled when you do this.


Compiling with Direct Xlib:

	When compiling X11 applications, you should continue to use the
	standard include/X11 header files.  The header files supplied with 
	Direct Xlib are only needed by those developers who are doing their 
	own X extension libraries or whose application code directly 
	manipulates the X11 command buffer. 

	If you dynamically link to libX11, you should also continue to link
	to the standard libraries.  You can take any program dynamically
	linked with standard libX11 and run it with Direct Xlib.  Your link 
	should include the C math libraries if it does not already do so 
	however (-lm).

	You may need to turn off Direct Xlib in whatever shell you use for
	compiling and linking otherwise you are likely to get undefined 
	references.

	If you statically link to libX11 or libXext you will no longer be 
	able to statically link to Direct Xlib.  Direct Xlib 3.1 does not 
	supply static versions of the Direct Xlib libraries.

Release 3.1 Notes:

	Direct Xlib 3.1 now supports full desktop usage on multi-screen
	systems with more than one type of frame buffer.

	Direct Xlib Font rendering performance has been significantly
	reduced in moving from Direct Xlib 2.0 to 3.0.  This is still true
	of Direct Xlib 3.1.  Performance for tools that are predominately 
	text rendering may be unsatisfactory.  Tools that mix graphics 
	with text should not be dramatically impacted.

	See the Solaris Direct Xlib 3.1 User's Guide for detailed information
	regarding the changes outlined above. The User's Guide is located
	in the system administrators answerbook.

	Direct Xlib 3.1 does not support software cursor devices.  The FSV
	frame buffer on the SS4 systems is one such device.  DXlib should
	not be used on these devices.

Patch 101920-01 Notes:

	Bugs corrected in revision 01:

	1173252 Backingstore incorrectly initialized for cached pixmap devices
	1170977 DXlib trys to grab the backing for windows that don't have 
		backing store         
	1167975 XCopyPlane returns the wrong OpCode in the NoExpose Event

Patch 101920-02 Notes:

	Bugs corrected in revision 02:

	1185956 Direct Xlib uses wrong per character information in XDrawText
	1185891 DXlib draws blank characters for bogus 16 bit chars
	1185955 DXlib draws multi-byte characters with single byte routines 
		with row 0 undefined
	1185462 DXlib draws blank characters when passed bogus characters in 
		XDrawImageString16
	1185241 Client Data corrupted during call to XDrawArcs with DXlib
	1182627	dx_destroy_inferiors destroys the parent window info 
	1182398	XCreateSimpleWindow does not grab window
	1179441	DXlib demos fail when the default depth is 24 bits
	1175297 xterm menu options don't appear on ZX with Dxlib
	1171815 DXlib incorrectly handles MPG devices when window attributes 
		don't match root

Patch 101920-03

	Bugs corrected in revision 03:

	1205422 X client dumps core when patch 101920-02 is applied to your system
