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