662 lines
28 KiB
Plaintext
662 lines
28 KiB
Plaintext
|
|
README for XFree86 1.1
|
|
----------------------
|
|
|
|
FEATURES
|
|
--------
|
|
|
|
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.
|
|
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.
|
|
5) 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.
|
|
6) Integrated support for 386BSD, Mach386, and Linux (previous versions
|
|
required a separate patch kit).
|
|
7) The server's configuration file (Xconfig) can how be specified with a
|
|
command line option or an environment variable in addition to the
|
|
standard methods.
|
|
8) 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.
|
|
9) Drivers for ATI and Trident TVGA8900C SVGA chipsets. The ATI
|
|
8514/A chipset is NOT supported. Refer to the files README.ati and
|
|
README.trident (in /usr/X386/lib/X11/etc) for details about the ATI
|
|
and Trident drivers.
|
|
10) New configuration method which allows the server's drivers and font
|
|
renderers to be reconfigured from both source and binary
|
|
distributions.
|
|
|
|
NOTE: XFree86 no longer has support for FAS on SVR4. Use SAS instead.
|
|
|
|
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.
|
|
|
|
Some of the bug fixes and changes are:
|
|
|
|
1) support for gcc2.? and selectable 486/386 optimisation. The
|
|
building of SVR4 shared libraries is also supported with gcc-2.?.
|
|
2) Server now traps and exits cleanly if unexpected signals are received
|
|
(a core is still generated for debugging). There is an Xconfig option
|
|
to disable this trapping.
|
|
3) VT switching is more robust. The server will no longer crash nor will
|
|
the screen get corrupted as a result of starting or exiting clients
|
|
while switched away. Also, the screensaver is turned off when
|
|
switching back so you don't return to a blank screen. These changes
|
|
also ensure that xdm shuts down cleanly.
|
|
4) A bug that prevented changing mouse acceleration has been fixed.
|
|
5) Mark Snitily's polygon fill fix.
|
|
6) A cfb bitblt bank switching bug has been fixed.
|
|
7) The use of xdm with xqueue under SVR4 has been fixed.
|
|
8) Support for compressed bitmap fonts has been added (Thomas Eberhardt's
|
|
code from the contrib directory on export.lcs.mit.edu).
|
|
9) 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 export.lcs.mit.edu.
|
|
10) The maximum number of server connections is now correctly determined
|
|
for SVR4 by making use of getrlimit().
|
|
11) A bug in operation of XForceScreenSaver(ScreenSaverReset) has been
|
|
fixed.
|
|
12) The default pointer button mapping has been fixed.
|
|
13) xterm no longer tries to open /dev/tty[psr]?? for SVR4. This speeds
|
|
up the startup time for xterm, as well as keeping it from using the
|
|
wrong pty's on SVR4.0.4.
|
|
14) xconsole fixes for /dev/osm (SVR4 and some SVR3.2)
|
|
15) Altered bsdinst.sh to run 'mcs -d' when stripping binaries, and to do
|
|
the install with /usr/ucb/install (for SVR4).
|
|
16) Use of libucb.a eliminated. The ndbm routines are taken from
|
|
sdbm (from the MIT contrib tape).
|
|
17) Bugs in some fill and stipple routines which showed up with virtual
|
|
width!=1024 have been fixed.
|
|
18) A bug with XdmAuth which caused strange problems with some hardware
|
|
has been fixed.
|
|
19) The xman scroll bug has been fixed.
|
|
20) The default keymap has been modified so that the <Alt> key will behave
|
|
as both Alt and Meta keys.
|
|
|
|
Known Bugs:
|
|
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.
|
|
2) The Monochrome server has a number of graphics bugs. This server is
|
|
still in the early stages of development.
|
|
|
|
|
|
BUILDING XFree86
|
|
----------------
|
|
|
|
0. If you are using gcc-2.0 or gcc-2.1, get gcc-2.2.2. If you are using
|
|
gcc-2.1 with SVR4, apply the following patch to 'fixinc.svr4', and rerun
|
|
it. This problem is fixed in gcc-2.2. (gcc-2 is available from
|
|
prep.ai.mit.edu and other sites archiving GNU source.)
|
|
|
|
*** ORIG/fixinc.svr4 Fri Apr 17 22:18:06 1992
|
|
--- fixinc.svr4 Fri Apr 17 22:54:26 1992
|
|
***************
|
|
*** 156,162 ****
|
|
s/#system(\([^)]*\))/defined(__\1__)/g
|
|
s/#cpu(\([^)]*\))/defined(__\1__)/g
|
|
/#[a-z]*if.*[ (]m68k/ s/\([^_]\)m68k/\1__m68k__/g
|
|
- /#[a-z]*if.*[ (]__i386/ s/__i386/__i386__/g
|
|
/#[a-z]*if.*[ (]i386/ s/\([^_]\)i386/\1__i386__/g
|
|
/#[a-z]*if.*[ (]sparc/ s/\([^_]\)sparc/\1__sparc__/g
|
|
/#[a-z]*if.*[ (]mc68000/ s/\([^_]\)mc68000/\1__mc68000__/g
|
|
--- 156,161 ----
|
|
|
|
1. You need the following:
|
|
- about 60-70MB of free disk space is required for building XFree86. An
|
|
additional 20-30MB is required to install the built binaries,
|
|
- MIT X11R5 distribution with fixes 01-17 applied. If you don't want to
|
|
build PEX and/or want to minimise 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
|
|
|
|
- XFree86-1.1.diff.Z, XFree86-1.1.sh, sdbm.tar.Z (for SVR4 and some
|
|
SVR3), and optionally Type1.tar.Z, Type1.patch1.Z, Type1.patch2.Z
|
|
- 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.
|
|
- For SVR4 it is recommended that you increase the UFSNINODE kernel
|
|
parameter to about 650 before attempting to build the distribution.
|
|
While doing this, you may also want to change some of the parameters
|
|
mentioned in the USING AND CONFIGURING section below.
|
|
|
|
2. If you need to use libsdbm.a, extract sdbm.tar.Z somewhere and build it.
|
|
Install libsdbm.a in a directory your ld searches. (You could use
|
|
/usr/local/lib, and with SVR4 add it to your LD_LIBRARY_PATH.) Install
|
|
sdbm.h in /usr/include.
|
|
|
|
ISC no longer requires a separate dbm library. It works fine with the
|
|
existing dbm library (libdbm.a). Set HasNdbm to NO in site.def.
|
|
|
|
3. For SVR4 put /usr/X386/lib in your LD_RUN_PATH (and export it).
|
|
|
|
4. Go to the directory containing your 'mit' directory, and run:
|
|
|
|
sh XFree86-1.1.sh
|
|
|
|
This script makes some changes to the directory tree, and MUST be run
|
|
before applying the patches. The patches can then be applied with:
|
|
|
|
patch -p < XFree86-1.1.diff
|
|
|
|
If you are installing in an unmodified tree there shouldn't be any
|
|
problems. Check for any patch rejections and resolve them. If you've
|
|
modified some files (e.g. x386.cf, site.def) you should rename them, and
|
|
restore the standard versions before patching. If you don't have backups
|
|
of the originals, individual files can be easily obtained from the
|
|
/pub/R5untarred directory on export.lcs.mit.edu.
|
|
|
|
If you are patching a tree that you've previously used, make sure
|
|
you run 'make clean' from the 'mit' directory before applying the diffs.
|
|
|
|
5. If you want to include the Type1 font code, extract Type1.tar.Z in
|
|
mit/fonts/lib/font, and then apply the Type1 patches (Some contributed
|
|
fonts can be found in /pub/R5untarred/contrib/fonts/scaled/Type1 and
|
|
/pub/R5untarred/contrib/fonts/Utopia on export.lcs.mit.edu.)
|
|
|
|
6. Have a look at config/site.def. Set the various parameters to suit your
|
|
configuration. If it is your first build, you should set BuildFonts,
|
|
InstallXdmConfig, InstallXinitConfig to YES (as well as InstallFSConfig
|
|
if you are building the Font Server). If you have installed Type1.tar.Z,
|
|
set BuildType1 to YES. If you want to build the large fonts in
|
|
mit/fonts/bdf/misc set BuildLargeMiscFonts to YES. If you want to
|
|
build the 100dpi fonts as well as the 75dpi fonts set Build100Dpi to YES.
|
|
Make sure both HasNdbm and HasSdbm are set correctly for the [n]dbm
|
|
library you are using.
|
|
|
|
To build the colour server (X386) set X386Server to YES. To build the
|
|
monochrome server (X386mono) set X386MonoServer to YES. If both are set,
|
|
then both servers will be built. The drivers and font renderers you wish
|
|
to include in the server are also selected in site.def. The choice of
|
|
font renderers is made by setting the value of FontRenderers. Setting
|
|
this in site.def overrides the BuildType1 parameter. The drivers used for
|
|
the 256 colour server are set by the X386Vga256Drivers parameter. This
|
|
should be a list of the driver names (in lower case). The ordering
|
|
determines the order in which the drivers are probed at startup. The
|
|
default is to include all supplied drivers. The drivers for the
|
|
monochrome server are set with the X386Vga2Drivers parameter. The
|
|
`generic' driver should always be last on the list because its probe will
|
|
succeed for any VGA card.
|
|
|
|
Note:
|
|
a) it is not possible to have both the monochrome and colour drivers in
|
|
the same server executable.
|
|
b) When building both servers, the colour version is linked to
|
|
/usr/X386/bin/X, and is thus the default server. To change this,
|
|
remove and redirect the link after installing.
|
|
|
|
7. The server and client connection types to use should be chosen carefully.
|
|
|
|
For SVR4, the default for the server is to use UNIXCONN (Unix-domain
|
|
sockets) and the STREAMS based LOCALCONN for local connections, as well as
|
|
TCPCONN. The default for SVR4 clients is UNIXCONN and TCPCONN. If you
|
|
want to add LOCALCONN for clients, set ClientLocalConnSysv4 in
|
|
config/site.def.
|
|
|
|
For SVR3.2, the default for both the server and clients is to use the
|
|
STREAMS based LOCALCONN. If HasSockets is set, TCPCONN is also used. For
|
|
Esix 3.2D (and perhaps others if you don't have TCP/IP installed),
|
|
HasSockets should not be set. (The Esix 3.2D implementation of TCP/IP is
|
|
not compatible with most networking code.)
|
|
|
|
- If you need to have the X386 server work with clients compiled with
|
|
vendor-supplied libraries, or with older versions of X386, you should
|
|
define the SERVER_LOCALCONN flag (this is done by default for SYSVs).
|
|
|
|
- If you need to have clients built with XFree86 libraries work with a
|
|
vendor-supplied server, define CLIENTS_LOCALCONN (this is the default
|
|
for SVR3.2, and can be set for SVR4 by defining ClientLocalConnSysv4).
|
|
|
|
For SVR4, CLIENTS_LOCALCONN is not advised unless your application truly
|
|
calls for it. The UNIX-domain socket normally used is faster than the
|
|
STREAMS-pipe used by LOCALCONN.
|
|
|
|
For 386BSD, Mach386 and Linux, the default for both server and clients is
|
|
to use UNIXCONN and TCPCONN. LOCALCONN is not applicable to these systems.
|
|
|
|
If you want to change the setting of ConnectionFlags directly, add
|
|
something like the following to the AfterVendorCF section of
|
|
config/site.def:
|
|
|
|
#undef ConnectionFlags
|
|
#define ConnectionFlags YOUR_CHOICE_OF_FLAGS
|
|
|
|
8. Go the 'mit' directory. For SVR4, run:
|
|
|
|
make World BOOTSTRAPCFLAGS='-DSVR4 -DSYSV386' > World.Log 2>&1 &
|
|
|
|
For 386BSD, Mach386 and Linux, run:
|
|
|
|
make World BOOTSTRAPCFLAGS= > World.Log 2>&1 &
|
|
|
|
For SVR3, run:
|
|
|
|
make World BOOTSTRAPCFLAGS='-DSYSV -DSYSV386 -DVENDOR' > World.Log 2>&1 &
|
|
|
|
where VENDOR is one of: ISC, ESIX, ATT, SCO.
|
|
|
|
For ISC 3.0, run:
|
|
|
|
make World BOOTSTRAPCFLAGS='-DSYSV -DSYSV386 -DISC -DISC30' > \
|
|
World.Log 2>&1 &
|
|
|
|
|
|
Note for ISC 2.2: A limit in the hash table with ISC's 'make' will cause
|
|
it to die in the middle of mit/lib/X. You have the option of picking up
|
|
the latest GNU make (which may or may not work) or of eliminating the list
|
|
of dependencies from the Makefile. (If you proceed with ISC's make, it
|
|
might be advisable to add 'WORLDOPTS=' to your make World command line so
|
|
that it won't try and continue after the problems in mit/lib/X.) To
|
|
eliminate the dependency list go to the mit/lib/X directory and execute:
|
|
|
|
make Makefile
|
|
|
|
Then return to the mit directory and execute:
|
|
|
|
make >> World.Log 2>&1 &
|
|
|
|
9. If all goes well, that'll finish successfully in anything from two to
|
|
eight hours depending on your CPU/RAM/OS/compiler/disks. You should check
|
|
World.Log to see if there were any problems. If there weren't any then
|
|
you can do a 'make install' and a 'make install.man'. Make sure you have
|
|
enough space in /usr/X386 for the install to succeed. If you want to
|
|
install on a filesystem other than /usr, make a symbolic link to /usr/X386
|
|
before installing.
|
|
|
|
To install the binary Link Kit (in /usr/X386/lib/Server), run:
|
|
|
|
make install.linkkit
|
|
|
|
10. If you have problems building on ISC 2.2, you can contact Jim Tsillas at
|
|
<jtsilla@damon.ccs.northeastern.edu>.
|
|
|
|
USING AND CONFIGURING XFree86
|
|
-----------------------------
|
|
|
|
1. Add /usr/X386/bin to your PATH and /usr/X386/man to your MANPATH. For
|
|
SVR4, you may also want to add /usr/X386/lib to your LD_LIBRARY_PATH, but
|
|
this is not required for running clients providing they were built with
|
|
LD_RUN_PATH set correctly. If you are going to be building clients it is
|
|
a good idea to have /usr/X386/lib in LD_RUN_PATH.
|
|
|
|
2. Check through the /usr/X386/lib/X11/etc/x386install script (not required
|
|
for Mach386 and Linux). If it looks OK for your system, run it. For
|
|
SVR4, you may want to increase some kernel parameters (either by running
|
|
idtune, or editing /etc/conf/cf.d/stune, and rebuilding the kernel with
|
|
idbuild):
|
|
|
|
[HS]FNOLIM hard/soft limit for number of open files
|
|
MAXUP max number of processes per user
|
|
ARG_MAX max length of an arg list
|
|
|
|
3. Set up an Xconfig file. The default location for this file is in
|
|
/usr/X386/lib/X11. There is a sample file installed in that directory
|
|
called Xconfig.sample, and this should be used as a starting point.
|
|
|
|
4. Decide which mouse driver to use. For SVR4 the best choice depends on
|
|
which version you are using. If you have a bus mouse then Xqueue is
|
|
probably the only option. For a serial mouse the options are as follows:
|
|
|
|
Esix 4.0.3 Xqueue often works. It is possible to
|
|
use the standard asy driver directly,
|
|
but the mouse operation is "jerky".
|
|
|
|
Microport SVR4 [34].1 Xqueue works fine, and the asy driver
|
|
can also be used directly giving smooth
|
|
mouse operation.
|
|
|
|
Any SVR3.2 Use the asy driver directly
|
|
|
|
To use Xqueue, uncomment the Xqueue line in your Xconfig file, and comment
|
|
out the Keyboard entry and the mouse related lines. You must have the
|
|
mouse driver package installed, and must run mouseadmin to set it up for
|
|
your mouse. If mouseadmin won't work try doing 'touch /dev/gmse' before
|
|
running it. (Note that mouseadmin will need to be rerun after rebuilding
|
|
a kernel unless you add an appropriate entry to /etc/conf/node.d/gmse.)
|
|
|
|
The default Xconfig file is set up for using the asy driver directly. All
|
|
that needs to be done is to replace the line:
|
|
|
|
Logitech "/dev/tty00"
|
|
|
|
with one that suits your mouse (see the X386 man entry for the available
|
|
options).
|
|
|
|
If you have problems with both Xqueue and your standard asy driver with
|
|
SVR4, then you should install SAS. When using SAS, set up Xconfig as you
|
|
would for the standard driver.
|
|
|
|
SAS is available from rapfast.Unibase.SK.CA, and there is also a copy on
|
|
ftp.physics.su.oz.au. Note: rapfast is connected to the net via a SLIP
|
|
line, so it's probably quicker to get it from somewhere else. When using
|
|
SAS for a serial mouse, you will get smoother operation if you change
|
|
EVENT_TIME from 80 to 30 in sas.h. A couple of details which aren't
|
|
spelled out in the SAS README are:
|
|
|
|
- An example of the line you should add to /etc/ap/chan.ap is:
|
|
|
|
MAJOR 0 255 ldterm ttcompat
|
|
|
|
where MAJOR is replaced by the major number used for SAS devices. To
|
|
determine what that is, check /etc/conf/cf.d/mdevice after rebuilding
|
|
the kernel. The major number is the sixth field in the line starting
|
|
with 'sas'. This file must be updated before rebooting with the new
|
|
kernel.
|
|
|
|
- The installation instructions omit the following:
|
|
|
|
3a) Disable the asy driver by either running 'kconfig' or editing
|
|
/etc/conf/sdevice.d/asy.
|
|
|
|
3b) Rebuild the kernel by running /etc/conf/bin/idbuild
|
|
|
|
5. Check that the FontPath in your Xconfig is set correctly. If you have
|
|
installed Type1 fonts, select the path that includes them. If you are
|
|
using 100dpi fonts the default path should be modified accordingly. If
|
|
you are not using Speedo fonts, remove that directory from the font
|
|
path. Make sure you have a fonts.scale file in any directory containing
|
|
Type1 or Speedo fonts. When you run mkfontdir in that directory, these
|
|
entries will be added to the fonts.dir file.
|
|
|
|
6. The server now supports compressed pcf fonts. If you compress any of
|
|
these fonts, you must rerun mkfontdir in the directories containing them.
|
|
|
|
7. Make sure there are appropriate ModeDB entries in your Xconfig file. For
|
|
details about this, read through the XConfig.Notes and modeDB.txt files in
|
|
/usr/X386/lib/X11/etc.
|
|
|
|
8. The default Xconfig is set up to make use of SpeedUp. If your SVGA card
|
|
is not based on the ET4000, or if your virtual width is not 1024, then
|
|
some of the SpeedUps will be automatically disabled (with a warning
|
|
message written on the console). Most of the major SpeedUps require the
|
|
ET4000 but are no longer restricted to a virtual width of 1024.
|
|
|
|
9. If you want to use xdm with SVR4, extract the files from the shar file in
|
|
/usr/X386/lib/X11/etc/XdmConf.svr4 into a temporary directory. The README
|
|
file tells where the individual files should be installed. Be sure to
|
|
read through each file and make any site-specific changes that you need.
|
|
|
|
NOTE: Some SVR4 versions (one example is Esix 4.0.3) have a default
|
|
inittab which runs 'vtgetty' on the console. This does not work well when
|
|
starting xdm at boot time. The problem is that when you logout from a
|
|
vtgetty session it wants to close all the VTs -- including the one xdm is
|
|
using for the server. It is recommended that you use 'getty'. If you
|
|
change /etc/inittab, remember to also change /etc/conf/cf.d/init.base or
|
|
you will lose the changes when you next rebuild the kernel.
|
|
|
|
10. If you want to change the number of VTs available on SVR4, just edit the
|
|
file /etc/default/workstations and change the number there. The device
|
|
nodes will be created/deleted next time you reboot.
|
|
|
|
|
|
RECONFIGURING THE SERVER (SOURCE DISTRIBUTION)
|
|
----------------------------------------------
|
|
|
|
To build the monochrome server after building the colour server (or vice
|
|
versa) do the following:
|
|
|
|
1. Change the settings of X386Server and X386MonoServer in site.def to what
|
|
you want, and update the driver selection if required.
|
|
|
|
2. From mit/config, run:
|
|
|
|
make Makefiles
|
|
|
|
3. From mit/server, run:
|
|
|
|
make Makefile
|
|
make Makefiles
|
|
make depend
|
|
make
|
|
|
|
To relink the server with a different set of drivers and/or font renderers do
|
|
the following:
|
|
|
|
1. Make sure the source for the drivers/renderers is in the correct place.
|
|
Driver source should be in subdir of mit/server/ddx/x386/vga256/drivers
|
|
for colour drivers and mit/server/ddx/x386/vga2/drivers for mono drivers.
|
|
Font renderer source should be in a subdir of mit/fonts/lib/font.
|
|
|
|
2. Modify site.def to specify which drivers you wish to include.
|
|
|
|
3. From mit/server, run:
|
|
|
|
make reloadX386
|
|
|
|
or
|
|
|
|
make reloadX386mono
|
|
|
|
This will automatically rebuild everything required and relink the server.
|
|
|
|
|
|
RECONFIGURING THE SERVER (BINARY DISTRIBUTION)
|
|
----------------------------------------------
|
|
|
|
If you have installed the server Binary Link Kit, it is possible to
|
|
reconfigure the drivers and font renderers in the server. To do this, go to
|
|
the configuration directory (/usr/X386/lib/Server) and do the following:
|
|
|
|
0. If you are using a Binary Link Kit distributed as part of a binary
|
|
distribution (for SYSV), you may need to install libsdbm.a. For systems
|
|
which don't use gcc as their native C compiler, you may also need to
|
|
install libgcc.a. Refer to the README supplied with the binary
|
|
distribution you are using for more details.
|
|
|
|
1. Edit the site.def file to define which servers you want to build, and the
|
|
drivers and font renderers you want included.
|
|
|
|
- To build the 256 colour server, set X386Server to YES.
|
|
- To build the monochrome server, set X386MonoServer to YES.
|
|
- Set X386Vga256Drivers to the list of drivers you want to include in
|
|
the 256 colour server.
|
|
- Set X386Vga2Drivers to the list of drivers you want to include in the
|
|
monochrome server.
|
|
- Set FontRenderers to the list of font renderers you want to include in
|
|
the server.
|
|
|
|
Note: the ordering of drivers determines the order the probing is done
|
|
in. The 'generic' driver should be the last one included in the
|
|
monochrome server because its probe always succeeds.
|
|
|
|
2. If you are including a driver that it not part of the standard
|
|
distribution, put the .o file in drivers/vga256/ if it is for the 256
|
|
colour server, or in drivers/vga2/ if it is for the monochrome server. If
|
|
you are adding an additional font renderer, put the library in renderers/.
|
|
|
|
3. To build the Makefile, run
|
|
|
|
./mkmf
|
|
|
|
4. Run 'make' to link the server(s) as configured.
|
|
|
|
5. Run 'make install' to install the new server(s).
|
|
|
|
6. Run 'make clean' to remove the files that were created by this procedure.
|
|
|
|
7. It is possible to see which drivers are included in the server by running
|
|
it with the '-showconfig' flag.
|
|
|
|
|
|
THE MONOCHROME SERVER
|
|
---------------------
|
|
|
|
The monochrome server (X386mono) includes a driver for generic VGA cards.
|
|
This driver does not make any assumptions about the VGA card being used.
|
|
This means that the physical screen size is limited to 640x480. It is
|
|
however possible to choose a virtual screen size within the limits of the
|
|
64kB bank. A common choice would be 800x600.
|
|
|
|
There are other drivers (only ET4000 and Trident have been tested at this
|
|
stage) included with the mono server, and these make it possible to use
|
|
higher physical resolutions providing you have a suitable card. The limit
|
|
on the virtual resolution imposed by the 64kB bank size still applies.
|
|
|
|
startx has been modified so that the monochrome server can be easily started
|
|
by running:
|
|
|
|
startx -- X386mono [server options] ...
|
|
|
|
|
|
BUILDING NON-CORE CLIENTS WITH SVR4
|
|
-----------------------------------
|
|
|
|
1. A lot of clients (even some which have explicit SVR4 support) require
|
|
-DSYSV when building under SVR4. This will not be set when using the
|
|
default x386.cf and site.def. A quick fix is to add something like the
|
|
following to the client's Imakefile:
|
|
|
|
#if SystemV4
|
|
DEFINES = -DSYSV OTHER_CLIENT_DEPENDENT_DEFINES
|
|
#endif
|
|
|
|
The best solution is to modify the code so it compiles correctly without
|
|
-DSYSV.
|
|
|
|
2. The default compiler options include '-ansi' for gcc, and '-Xc' for cc.
|
|
A consequence of this is __STDC__ gets #defined to '1'. There are a
|
|
number of functions which will not have prototypes declared unless either
|
|
__STDC__ is not defined, or
|
|
|
|
__STDC__ == 0 || defined(_POSIX_SOURCE) || defined(_XOPEN_SOURCE)
|
|
|
|
Possible solutions are to change the definition of ANSICCOPTIONS by adding
|
|
a line to the Imakefile, or to add the required prototypes to the source.
|
|
|
|
3. 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(). ffs() is
|
|
not required (it is already in libnsl.so), and 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 require more efficient versions of random(),
|
|
seed() you should supply your own macro definitions. If you are linking
|
|
with a vendor supplied library which calls some of these functions, then
|
|
you should link with libXbsd.a
|
|
|
|
If you want to change this default, you can edit your x386.cf file. If
|
|
you want to change the behaviour on a per client basis, you can add a line
|
|
to the clients Imakefile which redefines XBSDLIB. To eliminate the use of
|
|
that library use something like:
|
|
|
|
XBSDLIB =
|
|
|
|
If you find you need some other BSD functions, you could link with
|
|
libucb.a by using something like:
|
|
|
|
XBSDLIB = -lc -L/usr/ucblib -lucb
|
|
|
|
WARNING: be *very* careful blindly linking with libucb.a.
|
|
|
|
|
|
SYSTEMS XFree86 HAS BEEN TESTED ON
|
|
----------------------------------
|
|
|
|
Esix 4.0.3A, 4.0.4
|
|
Microport SVR4 [34].1
|
|
Dell SVR4
|
|
UHC SVR4.0 version 2.0
|
|
Consensys SVR4
|
|
MST SVR4
|
|
ISC SVR4
|
|
AT&T SVR4
|
|
Interactive SVR3 2.2, 3.0
|
|
386BSD 0.1
|
|
Mach 386
|
|
Linux
|
|
|
|
CREDITS
|
|
-------
|
|
|
|
XFree86 was originally put together by:
|
|
|
|
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>
|
|
|
|
386BSD support by:
|
|
Amancio Hasty Jr <hasty@netcom.com>
|
|
Rich Murphey <rich@lamprey.utmb.edu>
|
|
|
|
Original 386BSD port by:
|
|
Pace Willison
|
|
|
|
Mach 386 support by:
|
|
Robert Baron <Robert.Baron@ernst.mach.cs.cmu.edu>
|
|
|
|
Linux support by:
|
|
Orest Zborowski <obz@raster.kodak.com>
|
|
|
|
ATI driver contributed by:
|
|
Rik Faith <faith@cs.unc.edu>
|
|
|
|
Trident driver contributed by:
|
|
Alan Hourihane <alanh@logitek.co.uk>
|
|
|
|
X386 1.2, and moral support from:
|
|
|
|
Thomas Roell <roell@sgcs.com>
|
|
Mark Snitily <mark@sgcs.com>
|
|
|
|
Other contributors:
|
|
|
|
Bob Crosson <crosson@cam.nist.gov>
|
|
Thomas Eberhardt <thomas@mathematik.uni-Bremen.de>
|
|
|
|
and an entire horde of beta-testers around the world!
|
|
|
|
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):
|
|
|
|
Robert Baron <Robert.Baron@ernst.mach.cs.cmu.edu>
|
|
David Dawes <dawes@physics.su.oz.au>
|
|
Glenn Lai <glenn@cs.utexas.edu>
|
|
Rich Murphey <rich@lamprey.utmb.edu>
|
|
Jim Tsillas <jtsilla@damon.ccs.northeastern.edu>
|
|
David Wexelblat <dwex@mtgzfs3.att.com>
|
|
Orest Zborowski <obz@raster.kodak.com>
|
|
|
|
e-mail sent to <xfree86@physics.su.oz.au> will reach all of us.
|
|
|
|
26 September 1992
|
|
|
|
$Header: /home/x_cvs/mit/server/ddx/x386/README,v 1.43 1992/09/29 15:34:00 dawes Exp $
|