*BSD News Article 23088


Return to BSD News archive

Xref: sserve comp.os.386bsd.announce:142 comp.os.386bsd.misc:1338
Path: sserve!newshost.anu.edu.au!munnari.oz.au!constellation!osuunx.ucc.okstate.edu!moe.ksu.ksu.edu!vixen.cso.uiuc.edu!howland.reston.ans.net!agate!agate!usenet
From: storm@mnementh.cs.mcgill.ca (Marc WANDSCHNEIDER)
Newsgroups: comp.os.386bsd.announce,comp.os.386bsd.misc
Subject: NetBSD 0.9 binaries for XFree86 2.0 now available
Followup-To: comp.os.386bsd.misc
Date: 31 Oct 1993 13:05:02 -0800
Organization: University of California, Berkeley
Lines: 506
Sender: cgd@agate.berkeley.edu
Approved: 386bsd-announce-request@agate.berkeley.edu
Message-ID: <9310311744.AA10733@mnementh.cs.mcgill.ca>
NNTP-Posting-Host: agate.berkeley.edu


Howdy!

	They're here!  NetBSD 0.9 binaries for XFree86 2.0 are now available
	from the following ftp sites:

    
        ftp.cs.mcgill.ca:/pub/NetBSD/XFree86
        agate.berkeley.edu:/pub/NetBSD/ports
        sun-lamp.cs.berkeley.edu:/pub/NetBSD/ports


	Included at the end of this message is the README.BSD for NetBSD
	users that explains how to install the dist.

	Please send mail to storm@cs.mcgill.ca if you have any problems
	with the binary dist.


						Toodlepip!
						Marc 'em.




           README for XFree86 2.0 on FreeBSD 1.0 and NetBSD 0.9
           ----------------------------------------------------

Contents
--------
    0) Notes
    1) What and Where is XFree86?
    2) Bug Reports for This Document
    3) Installing The Binaries
    4) Installing Xdm, the display manager
    5) Configuring X for Your Hardware
    6) Running X
    7) Kernel Support for X
    8) Rebuilding the XFree86 Distribution
    9) Building New X Clients


0 - Notes
---------
  Unless indicated otherwise, *BSD refers to both FreeBSD 1.0 and NetBSD
0.9.  A binary distribution is not available for 386BSD 0.1.  The XFree86
2.0 source code supports 386BSD 0.1, but future version probably will not.

1 - What and Where is XFree86?
------------------------------
  XFree86 is a port of X11R5 that supports several versions of Intel-based
Unix.  It is derived from X386 1.2, which was the X server distributed
with X11R5.  This release consists of many new features and performance
improvements as well as many bug fixes.  The release is available as
source patches against the MIT X11R5 code, as well as binary distributions
for many architectures.

The sources for XFree86 are available by anonymous ftp from:

    ftp.x.org:/contrib/XFree86
    ftp.physics.su.oz.au:/XFree86.

Binaries for XFree86 on FreeBSD will be available from:

    XFree86.cdrom.com:/pub/XFree86/FreeBSD/XFree86-2.0
    gil.physik.rwth-aachen.de:/pub/XFree86

Binaries for NetBSD 0.9 will be available from:

    ftp.cs.mcgill.ca:/pub/NetBSD
    agate.berkeley.edu:/pub/NetBSD/ports
    sun-lamp.cs.berkeley.edu:/pub/NetBSD/ports

On US ftp sites note 00README-Legal-Rules-Regs or README.export-control 
which state that ftp users outside the U.S. should not copy 
XFree86-2.0-xdm-des.tar.gz from sites within the U.S. because it employs 
DES encryption.

2 - Bug Reports for This Document
---------------------------------
  Send email to Rich-Murphey@Rice.edu or XFree86@physics.su.oz.au
if you have comments or suggestions about this file and we'll revise it.
NetBSD specific issues should be sent to Marc Wandschneider, 
storm@cs.mcgill.ca

3 - Installing the Binaries
---------------------------

  FreeBSD:
  =------=
  The binary distribution is composed of a number of tar archives
which are the executables, servers, fonts, libraries, include files,
man pages, config files, and server link kit.  The full distribution
takes 43Mb.  The bin archive is split into 1 meg pieces.

The contents of the archives are:

Required:

bin		- all the executable X client applications (required)
fonts		- the misc and 75 dpi fonts (required)
doc		- READMEs, install scripts, and XFree86 specific man pages
lib		- data files needed at runtime (required)
config		- customizable xinit, xdm and fs runtime configuration files

Choose at least one matching your video hardware:

8514		- server for IBM 8514/A boards
Mach32		- server for ATI Mach32 graphic accelerator boards
Mach8		- server for ATI Mach8 graphic accelerator boards
Mono		- monochrome server for VGA, Super-VGA, Hercules, and others
S3		- server for S3 based boards
SVGA		- 8-bit pseudocolor server for Super-VGA cards
VGA16		- 4-bit pseudocolor server for VGA and Super-VGA cards

Optional:

man		- man pages except XFree86 specific ones in etc archive
fonts-100dpi	- optional 100dpi fonts
fonts-scaled	- optional Speedo and Type1 fonts
prog		- lib*.a and *.h files needed only for compiling
xdm-des		- xdm executable with des encryption
xdm-nodes	- xdm executable with no encryption
linkkit		- optional X server reconfiguration kit
fontserver	- the font server and it's man page
pex		- pex clients, libraries, header files and data.

If this is your first time, you can safely just install all of them.

But at a minimum you need to unpack the following: bin, fonts, doc,
lib, config and a server archive that matches your vga card.

To unpack the archives use:

 cat XFree86-2.0-bin.tar.gz.*		| gunzip | tar xf -
 cat XFree86-2.0-etc.tar.gz		| gunzip | tar xf -
 cat XFree86-2.0-fonts-100dpi.tar.gz	| gunzip | tar xf -
 cat XFree86-2.0-fonts-scaled.tar.gz	| gunzip | tar xf -
 cat XFree86-2.0-fonts.tar.gz		| gunzip | tar xf -
 cat XFree86-2.0-fontserver.tar.gz	| gunzip | tar xf -
 cat XFree86-2.0-lib.tar.gz		| gunzip | tar xf -
 cat XFree86-2.0-linkkit.tar.gz		| gunzip | tar xf -
 cat XFree86-2.0-man.tar.gz		| gunzip | tar xf -
 cat XFree86-2.0-pex.tar.gz		| gunzip | tar xf -
 cat XFree86-2.0-prog.tar.gz		| gunzip | tar xf -
 cat XFree86-2.0-xdm-des.tar.gz		| gunzip | tar xf -
 cat XFree86-2.0-xdm-nodes.tar.gz	| gunzip | tar xf -
 cat XFree86-2.0-config.tar.gz		| gunzip | tar xf -
 cat XFree86-2.0-8514.tar.gz		| gunzip | tar xf -
 cat XFree86-2.0-Mach32.tar.gz		| gunzip | tar xf -
 cat XFree86-2.0-Mach8.tar.gz		| gunzip | tar xf -
 cat XFree86-2.0-Mono.tar.gz		| gunzip | tar xf -
 cat XFree86-2.0-S3.tar.gz		| gunzip | tar xf -
 cat XFree86-2.0-SVGA.tar.gz		| gunzip | tar xf -
 cat XFree86-2.0-VGA16.tar.gz		| gunzip | tar xf -

After unpacking the archives, run the installation script,
x386install, it creates links so that the distribution appears to be
in /usr/X386, checks the /dev and /etc/ttys entries, and adds
/usr/X386/bin to the default path in /etc/csh.login.

 ./X386/lib/X11/etc/x386install

Create a symbolic link for the server that matches your vga card.  For
example, if you have an ET4000 based SVGA card, then you want a
symbolic link for the SVGA server:

  cd /usr/X386/bin; rm X; ln -s XF86_SVGA X

Also make sure to add /usr/X386/bin to your shell's `path' variable.

If X was already installed and you have have customized your xinit or
xdm runtime configuration scripts, omit the config archive or unpack
it elsewhere and merge in your customizations.  The fonts-scaled and
fonts-100dpi archives are optional and can be omitted if you are short
on space.  The optional linkkit archive which allows you to
reconfigure and link a server.  The optional the prog archive is
needed only for writing or compiling X applications.  The optional pex
archive contains pex clients and libraries for writing pex applications.

NOTE: Do not uncompress the font files without subsequently rerunning
mkfontdir in the corresponding font directory; otherwise your server
will abort with the message "could not open default font 'fixed'".


  NetBSD:
  =-----=
    The binary distribution is composed of a number of split tar archives
which are the executables, servers, fonts, libraries, include files,
man pages, config files, and the server link kit.  The full distribution
takes over 40MB of disk space.  The large archives are split into
smaller chunks.

    The contents of the archives are:

    bin         - all of the executable X client applications (except xdm)
    include     - the include/X11 header files
    fonts       - the misc, 75dpi, 100dpi, and scaled fonts
    doc         - READMEs, install scripts, and XFree86 specific man pages.
    lib         - X11 libraries, and data files needed at runtime
    config      - customizable xinit, xdm, and fs runtime configuration files.

    Choose at least one of the following to match your hardware:

    8514        - the X server for IBM 8514/A and compatible boards
    Mach8       - the X server for ATI Mach8 graphics accelerator boards
    Mach32      - the X server for ATI Mach32 graphics accelerator boards
    S3          - the X server for S3 based boards
    SVGA        - the 8-bit pseudo-color X server for Super VGA cards
    VGA16       - the 4-bit pseudo-color X server for VGA & SVGA cards.
    Mono        - the Monochrome X Server

    OPTIONAL:

    man         - man pages except XFree86 specific ones in the etc archive
    xdm-des     - xdm executable with DES encryption
    xdm-no-des  - xdm executable without DES encryption
    linkkit     - optional X server reconfiguration kit
    pex         - pex clients, libraries, header files and data


    If this is your first time, then you should be able to safely
install all of the packages.  If you're going to be installing the
source as well, then you might not want to bother with the linkkit and
pex archives.  As a minimal install, you'll need bin, include, fonts
doc, lib, config, and one X server.

    To unpack and install the archives:

    1. create some destination directory in which you'd like the
       X distribution to live.  /usr/X386 is recommended, but if that
       partiton is full (as it is on my machine), then just create an
       alternate directory, and sym-link /usr/X386 to this place.

    ie, on my machine, I do the following:

    % cd /usr/local
    % mkdir X11
    % ln -s /usr/local/X11 /usr/X386


    2. Assuming that the destination directory for XFree86 2.0 is /usr/X386,
       run the following from whereever all the archive files are (replace
       /usr/X386 with wherever you wish them to go if that isn't the place):

    % cat XFree86-2.0-bin.tar.gz.*          | gunzip | (cd /usr/X386; tar xf -)
    % cat XFree86-2.0-include.tar.gz.*      | gunzip | (cd /usr/X386; tar xf -)
    % cat XFree86-2.0-fonts.tar.gz.*        | gunzip | (cd /usr/X386; tar xf -)
    % cat XFree86-2.0-doc.tar.gz            | gunzip | (cd /usr/X386; tar xf -)
    % cat XFree86-2.0-lib.tar.gz.*          | gunzip | (cd /usr/X386; tar xf -)
    % cat XFree86-2.0-config.tar.gz         | gunzip | (cd /usr/X386; tar xf -)
    % cat XFree86-2.0-man.tar.gz            | gunzip | (cd /usr/X386; tar xf -)

    # Choose only one of the following two
    % cat XFree86-2.0-xdm-des.tar.gz        | gunzip | (cd /usr/X386; tar xf -)
    % cat XFree86-2.0-xdm-no-des.tar.gz     | gunzip | (cd /usr/X386; tar xf -)

    % cat XFree86-2.0-linkkit.tar.gz.*      | gunzip | (cd /usr/X386; tar xf -)
    % cat XFree86-2.0-pex.tar.gz            | gunzip | (cd /usr/X386; tar xf -)

    # Choose one ore more servers to install
    % cat XFree86-2.0-8514.tar.gz           | gunzip | (cd /usr/X386; tar xf -)
    % cat XFree86-2.0-Mach8.tar.gz          | gunzip | (cd /usr/X386; tar xf -)
    % cat XFree86-2.0-Mach32.tar.gz         | gunzip | (cd /usr/X386; tar xf -)
    % cat XFree86-2.0-S3.tar.gz             | gunzip | (cd /usr/X386; tar xf -)
    % cat XFree86-2.0-SVGA.tar.gz           | gunzip | (cd /usr/X386; tar xf -)
    % cat XFree86-2.0-VGA16.tar.gz          | gunzip | (cd /usr/X386; tar xf -)
    % cat XFree86-2.0-Mono.tar.gz           | gunzip | (cd /usr/X386; tar xf -)


    3. You should now run the script x386install.netbsd from lib/X11/etc.
       It is invoked as follows (assuming we are in the top level dir of
       where we installed X to):

    % lib/X11/etc/x386install.netbsd $DIRNAME

       where $DIRNAME is this top level dir (ie /usr/X386, /usr/local/X386,
       /usr/local/X11, or wherever)

       This script verifies that /usr/X386 points to the correct place,
       checks the /dev/ and /etc/ttys entries, and adds /usr/X386/bin to the
       default path in /etc/csh.login.

       You should also add /usr/X386/bin to your own shell's path variable.


    If X was already installed on your machine and you have customized your
xinit or xdm runtime configuation scripts, omit the config archive or unpack
it elsewhere and extract only that which you need.

    NOTE: Do not uncompress the font files in lib/X11/fonts without
    subsequently running 'mkfontdir' in the corresponding font directory;
    otherwise, your server will abort with the message "could not open default
    font 'fixed'".

4 - Installing Xdm, the display manager
---------------------------------------
  Export restrictions prevent us from providing support for DES
encryption outside the US.  If you have not installed FreeBSD's
optional securedist/des, then passwords in /etc/passwd.master are
unencrypted and you should install the version of xdm without DES
encryption:


 FreeBSD:
 =------=
 cat XFree86-2.0-xdm-nodes.tar.gz	| gunzip | tar xf -
 cd /usr/X386/bin; ln -s xdm-nodes xdm

 NetBSD:
 =-----=
 % cat XFree86-2.0-xdm-no-des.tar.gz    | gunzip | (cd /usr/X386; tar xf -)

The xdm-nodes binary uses the *BSD  dummy crypt routine that
prints the message 'Crypt not present in system' in the xdm-errors
file each time a user logs in.  You can ignore this.  It just means
/etc/passwd.master is unencrypted.  If you install xdm-des by mistake
xdm will not accept any passwords.

If you have installed the optional securedist/des (secr09 for NetBSD) package
on your system then you are using DES encryption on passwords and you should
install xdm-des:

 FreeBSD:
 =------=
 cat XFree86-2.0-xdm-des.tar.gz	| gunzip | tar xf -
 cd /usr/X386/bin; ln -s xdm-des xdm

 NetBSD:
 =------=
 % cat XFree86-2.0-xdm-des.tar.gz       | gunzip | (cd /usr/X386; tar xf -)

To start the display manager, log in as root on the console and type
`xdm -nodaemon'.

You can start xdm automatically on bootup by disabling the console getty
adding the following code to /etc/rc.local:

  if [ -x /usr/X386/bin/xdm ]; then
    echo -n ' xdm'; /usr/X386/bin/xdm
  fi

To disable the console getty, change 'on' to 'off' in the console
entry in /etc/ttys:

    console	"/usr/libexec/getty Pc"	cons25	off secure

5 - Configuring X for Your Hardware
-----------------------------------
  You *must* create /usr/X386/lib/X11/Xconfig to suit your hardware.
See README.Config for step-by-step instructions for setting it up.

The Xconfig file tells the X server what kind of monitor, adapter and
mouse you have.  In addition to README.Config, the server manual pages
(XF86_Accel, XF86_Mono, XF86_SVGA, and XF86_VGA16) describe the
options specific to each type of board.

Read README.Config, and look in /usr/X386/lib/X11/etc/modeDB.txt and
/usr/X386/lib/X11/etc/AccelCards to find Clocks and ModeDB entries to your
specific monitor and graphics card.  If you can find them there, grab the
Clocks and ModeDB lines and put them in your Xconfig.  If not, read
/usr/X386/lib/X11/etc/VideoModes.doc for instructions on how to create the
video timing values given your vga card and monitor specs.  The manual for
your monitor and adapter should have these values.  The tuner program (on
FreeBSD.cdrom.com /pub/386BSD/0.1-ports/XFree86-2.0) can calculate a rough
guess about a ModeDB line given the dot clock rate and horizontal
frequency of your monitor.

Note: 386BSD, FreeBSD, and NetBSD do not support memory mapping of video
memory on vesa local bus cards.  For these cards the server will respond
'Direct memory accessing has been disabled', which is normal.

The X server (except the 8514 and Mach32 servers)  will print out the
Clocks values for your card if you leave them our of your Xconfig file
when you run:

    X -probeonly >& x.out

You can take these values and edit them to put them in your Xconfig file;
although you MUST include all the clock values, AND leave them in the same
order.

If your mouse does not work try using kermit or tip to connect to the
mouse serial port and verify that it does indeed generate characters.

For NetBSD 0.9, Microsoft BusMouse users will find that the following
line should work:

BusMouse	"/dev/mms0"

6 - Running X
-------------
  8mb of memory is a recommended minimum for running X.  The server,
window manager and an xterm take about 2.5 Mb of memory themselves.  On a
4Mb system that would leave very little left over for other applications
like gcc that expect a few meg free.  X will work with 4Mb of memory, but
in practice compilation while running X can take 5 or 10 times as long due
to constant paging.

The easiest way for new users to start X windows is to type 'startx >&
startx.log'.  Error messages are lost unless you redirect them because
the server takes over the screen.

To get out of X windows, type 'exit' in the console xterm.  You can
customize your X by creating .xinitrc, .xserverrc, and .twmrc files in
your home directory as described in the xinit and startx man pages.

7 - Kernel Support for X
------------------------
  The server supports several console drivers: pccons, syscons, codrv
and pcvt.  They are detected at runtime and no configuration of the
server itself is required.

The pccons driver is the most widely tested and is the console driver
contained in the FreeBSD binary distribution's kernels, as well as
that shipped with the GENERICAHA kernels in NetBSD 0.9.

In order to insead use the syscons driver, you must reconfigure,
compile and install a new kernel from the FreeBSD sources.  For a
general description of BSD kernel configuration get smm.02.config.ps.Z
from gatekeeper.dec.com (16.1.0.2) in /pub/BSD/manuals.  It is a ready
postscript copy of the kernel configuration chapter from the systems
maintainers manual.

To make sure X support is enabled under NetBSD 0.9, the following
line must be in your config file in /sys/arch/i386/conf:

options XSERVER, UCONSOLE

To use syscons 0.1 with NetBSD 0.9, obtain the syscons 0.1 package,
and apply the patches in the file syscons-0.1.patch, available from
ftp.cs.mcgill.ca:/pub/NetBSD/ports.

The codrv console driver is not bundled with FreeBSD, nor with NetBSD. 
It is available from ftp.uni-duisburg.de in 
/pub/unix/386bsd-0.1/unofficial/codrv and from bsd386.first.gmd.de in 
~veit/codrv (no ANON FTP, login with 'guest'/'guest', cd to ~veit/codrv).
It is not clear that anybody has attempted to get this working with
NetBSD 0.9

The pcvt console driver is also not bundled with *BSD.  There are
patches available for pcvt version 2.10 to make it compatible with
XFree86. Recent pcvt sources along with these patches can be found on
irzr11.inf.tu-dresden.de (141.76.4.11) in /pub/unix/386bsd/pcvt.
Refer to the file README.X-PATCHES there for more information. The
pcvt X mode is compatible with the pccons driver X mode.

8 - Rebuilding the XFree86 Distribution
---------------------------------------
  The server link kit allow you to rebuild just the X server with a
minimum amount of disk space.  Just unpack it, make the appropriate
changes to the site.def, type './mkmf' and 'make' to link the server.
See /usr/X386/lib/Server/README for more info.

See /usr/X386/lib/X11/etc/INSTALL for instructions on unbundling and
building the source distribution.  You should configure the
distribution by editing mit/site.def before compiling.  To compile the
sources, invoke 

    FreeBSD:
    =------=
    make World BOOTSTRAPCFLAGS=-DFreeBSD

    NetBSD:
    =-----=
    make World BOOTSTRAPCFLAGS= 
    # _NOT_ -DNetBSD!!!!!, just empty.

in the mit directory.

9 - Building New X Clients
--------------------------
  The easiest way to build a new client (X application) is to use
xmkmf if an Imakefile is included in the sources.  Type 'xmkmf -a' to
create the Makefiles, check the configuration if necessary and type
'make'.  Whenever you install additional man pages you should update
whatis.db by running 'makewhatis /usr/X386/man'.  To avoid the
`Virtual memory exhausted' message from cc while compiling, increase
the data and stack size limits (in csh type `limit datasize 32M' and
`limit stacksize 16M').


Many thanks to
- Pace Willison for providing the initial port to 386BSD.
- Amancio Hasty for fixing cursor restoration, mouse bugs and many others.
- Christoph Robitschko for fixing com.c and thus select().
- Nate Williams for the patchkit support for X.
- Rod Grimes and Jack Velte of Walnut Creek Cdrom for use
  of their machines in preparing the FreeBSD binary release.

Rich  Murphey
David Dawes
Marc  Wandschneider


$XFree86: mit/server/ddx/x386/README.BSD,v 2.3 1993/10/24 13:44:04 dawes Exp $

-- 
-----------------------------------------------------------------------------
Marc Wandschneider					    Seattle, WA
Barney the Dinosaur sings! You faint... Barney sings!  Barney sings! --More--
You Die... --More--

--
Please send submissions for comp.os.386bsd.announce to:
					386bsd-announce@agate.berkeley.edu