From owner-freebsd-questions Fri Feb 28 01:04:01 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id BAA01961 for questions-outgoing; Fri, 28 Feb 1997 01:04:01 -0800 (PST) Received: from python.shoal.net.au (root@python.shoal.net.au [203.26.44.5]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id BAA01691 for ; Fri, 28 Feb 1997 01:03:23 -0800 (PST) Received: from monty-port20.shoal.net.au (monty-port20.shoal.net.au [203.26.44.30]) by python.shoal.net.au (8.8.5/8.7.3) with SMTP id UAA14771 for ; Fri, 28 Feb 1997 20:03:12 +1100 (EST) Received: by monty-port20.shoal.net.au with Microsoft Mail id <01BC25B2.5E8DF7E0@monty-port20.shoal.net.au>; Fri, 28 Feb 1997 20:02:48 +-1100 Message-ID: <01BC25B2.5E8DF7E0@monty-port20.shoal.net.au> From: Andrew Perry To: "'Questions'" Subject: FW: Where Can Date: Fri, 28 Feb 1997 20:02:36 +-1100 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by freefall.freebsd.org id BAA01932 Sender: owner-questions@freebsd.org X-Loop: FreeBSD.org Precedence: bulk yep, here's something that ben (Snob Art Genre) sent me. Don't ask me what Snob Art Genre means though, he told us once but I forgot!! (and anagram of something or other wasn't it? Andrew Perry andrew@shoal.net.au ps: sorry about the links not working, they work ok from nutscape but not from m$ explange (hangs head in shame :( i'm working on it goddamn it!!! :-) ) (+ i haven't worked out how to cut and paste stuff properly in pine yet :) ) Where Can I find X Windows AT??? Is it at the ftp site?? Thanks README for XFree86 3.2 on FreeBSD Rich Murphey, David Dawes 26 Oct 1996 1. What and Where is XFree86? XFree86 is a port of X11R6.1 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 X Consortium X11R6.1 code, as well as binary distributions for many architectures. See the Copyright Notice. The sources for XFree86 are available by anonymous ftp from: ftp.XFree86.org:/pub/XFree86/current Binaries for XFree86 on FreeBSD 2.1.5 are available from: ftp.XFree86.org:/pub/XFree86/current/binaries/FreeBSD-2.1.5 XFree86.cdrom.com:/pub/XFree86/current/binaries/FreeBSD-2.1.5 Binaries for XFree86 on FreeBSD 2.2-current are available from: ftp.XFree86.org:/pub/XFree86/current/binaries/FreeBSD-current XFree86.cdrom.com:/pub/XFree86/current/binaries/FreeBSD-current Send email to Rich-Murphey@Rice.edu or XFree86@XFree86.org if you have comments or suggestions about this file and we'll revise it. 2. Installing the Binaries If you want to save space, first select which archives you want to unpack. If you can't decide what to pick and you have 52Mb of disk space, it's safe to unpack everything. At a minimum you need to unpack the 'required' X32*.tgz archives plus at least one server that matches your vga card. You'll need 13Mb for the minimum required run-time binaries only. Required (10.7Mb): X32bin.tgz all the executable X client applications and shared libs X32fnts.tgz the misc, 75 dpi and PEX fonts X32lib.tgz data files needed at runtime Required unless you have already customized your configuration files: X32cfg.tgz customizable xinit and xdm runtime configuration files Choose at least one server (max 2.5Mb): X328514.tgz 8-bit color for IBM 8514 and true compatibles. X32AGX.tgz 8 and 16-bit color for AGX and XGA boards. X32I128.tgz 8 and 16-bit color for I128 boards. X32Ma32.tgz 8 and 16-bit color for ATI Mach32 boards. X32Ma64.tgz 8, 16 and 32-bit color for ATI Mach64 boards. X32Ma8.tgz 8-bit color for ATI Mach8 boards. X32Mono.tgz 1-bit monochrome for VGA, Super-VGA, Hercules, and others. X32P9K.tgz 8, 16, and 32-bit color for Weitek P9000 boards (Diamond Viper). X32S3.tgz 8, 16 and 32-bit color for S3 boards. X32S3V.tgz 8 and 16-bit color for S3 ViRGE boards. X32SVGA.tgz >=8-bit color for Super-VGA cards. X32VG16.tgz 4-bit color for VGA and Super-VGA cards X32W32.tgz 8-bit Color for ET4000/W32, /W32i, /W32p and ET6000 cards. X329GAN.tgz 8-bit color for PC98 GA-98NB/WAP boards X329480.tgz 8-bit color for PC98 PEGC X329NKV.tgz 8-bit color for PC98 NEC-CIRRUS/EPSON NKV/NKV2 boards X329WBS.tgz 8-bit color for PC98 WAB-S boards X329WEP.tgz 8-bit color for PC98 WAB-EP boards X329WSN.tgz 8-bit color for PC98 WSN-A2F boards X329EGC.tgz 4-bit color for PC98 EGC X329TGU.tgz 8 and 16-bit color for PC98 Trident Cyber9320/9680 boards X329NS3.tgz 8 and 16-bit color for PC98 NEC S3 boards X329SPW.tgz 8 and 16-bit color for PC98 S3 PW/PCSKB boards X329LPW.tgz 8 and 16-bit color for PC98 S3 PW/LB boards X329GA9.tgz 8 and 16-bit color for PC98 S3 GA-968 boards X32nest.tgz A nested server running as a client window on another display. Optional: X32doc.tgz (.6Mb) READMEs X32ps.tgz (.XMb) READMEs in PostScript X32html.tgz (.XMb) READMEs in HTML X32man.tgz (1.8Mb) man pages X32f100.tgz (1.6Mb) 100dpi fonts X32fscl.tgz (1.7Mb) Speedo and Type1 fonts X32fnon.tgz (3.3Mb) Japanese, Chinese and other non-english fonts X32fcyr.tgz (.6Mb) Cyrillic fonts X32fsrv.tgz (.3Mb) the font server and its man page X32prog.tgz (4.8Mb) config, lib*.a and *.h files needed only for compiling X32lkit.tgz (10.8Mb) X server reconfiguration kit X32lk98.tgz (14.2Mb) X server reconfiguration kit for PC98 X servers Note that there is no longer a separate xdm archive. FreeBSD 2.0 and later handles this in shared libraries now, so that the xdm binary does not itself contain des and there is no more need for us to provide separate tar balls. 2.1. Full Install: 1. You must be logged in as root to unpack the archives because several executables are set-user-id. Otherwise the server may abort if you unpack it as an ordinary user. You must also use a ``umask'' value of 022 because the X server requires special permissions. % su # umask 022 2. If you have 52Mb free in the /usr partition ``cd /usr'' and skip to no. 4. Otherwise, create a directory on another partition and sym link it into /usr: # cd /usr/local # mkdir X11R6 # ln -s /usr/local/X11R6 /usr/X11R6 3. Run the preinst.sh script # cd /usr/X11R6 # sh preinst.sh 4. Unpack everything: If you are using sh (as root usually does): # for i in X32*.tgz; do # tar -x -z --unlink -f $i # done Else, if you are using csh: % foreach i (X32*.tgz) % tar -x -z --unlink -f $i % end 5. Create a symbolic link ``X'' that points to the server that matches your video card. The XF86_* man pages list which vga chip sets are supported by each server. For example, if you have an ET4000 based card you will use the XF86_SVGA server: # cd /usr/X11R6/bin; rm X; ln -s XF86_SVGA X 2.2. Minimal Install: First do numbers 1, 2 and 4 above. Then unpack the required archives: # for i in bin fnts lib xicf; do # tar -x -z --unlink -f X32$i.tgz # done Then unpack a server archive corresponding to your vga card. The server man pages, X11R6/man/man1/XF86_*, list the vga chip sets supported by each server. For example, if you have an ET4000 based card you will use the XF86_SVGA server: # tar -x -z --unlink -f X32SVGA.tgz # cd /usr/X11R6/bin; rm X; ln -s XF86_SVGA X 2.3. After either Full or Minimal Install above: Add /usr/X11R6/bin to the default path for sh in /etc/profile and for csh in /etc/csh.login if they are not already there: # echo 'set path = ($path /usr/X11R6/bin)' >>/etc/csh.login # echo 'PATH=$PATH:/usr/X11R6/bin' >>/etc/profile Or make sure all who use X put /usr/X11R6/bin in their shell's ``path'' variable. Next either reboot or invoke ldconfig as root to put the shared libraries in ld.so's cache: # ldconfig /usr/lib /usr/local/lib /usr/X11R6/lib If you had already configured X11R6/lib/X11/xinit/xinitrc or X11R6/lib/X11/xdm/* omit the xinit-config or xdm-config archive or unpack it separately and merge in your customizations. The fscl and f100 archives are optional and can be omitted if you are short on space. The optional link archive allows you to reconfigure and customize a X server binary. The optional prog archive is needed only for writing or compiling X applications. The optional pex archive contains pex clients and libraries for building 3D graphics applications. NOTE: You don't need to uncompress the font files, but if you uncompress them anyway you must run mkfontdir in the corresponding font directory; otherwise your server will abort with the message ``could not open default font 'fixed'''. 3. Installing The Display Manager (xdm) The display manager makes your PC look like an X terminal. That is, it presents you with a login screen that runs under X. The easiest way to automatically start the display manager on boot is to add a line in /etc/ttys to start it on one of the unoccupied virtual terminals: ttyv4 "/usr/X11R6/bin/xdm -nodaemon" xterm on secure You should also make sure that /usr/X11R6/bin/X is a symbolic link to the Xserver that matches your video card or edit the file Xservers in /usr/X11R6/lib/X11/xdm to specify the pathname of the X server. The change to /etc/ttys won't take effect until you either reboot or ``kill -HUP 1'' to force initd to reread /etc/ttys. You can also test the display manager manually by loging in as root on the console and typing ``xdm -nodaemon''. 4. Configuring X for Your Hardware The XF86Config file tells the X server what kind of monitor, video card and mouse you have. You must create it to tell the server what specific hardware you have. It is strongly recommended that you use either the `XF86Setup' utility (which requires the VGA16 server to be installed), or the `xf86config' utility to generate an XF86Config file. In order to protect your hardware from damage, the server no longer will read XF86Config files from a user's home directory, but requires that it be in /etc/XF86Config, /usr/X11R6/lib/X11/XF86Config.hostname or /usr/X11R6/lib/X11/XF86Config. You'll need info on your hardware: o Your mouse type, baud rate and its /dev entry. o The video card's chipset (e.g. ET4000, S3, etc). o Your monitor's sync frequencies. The easiest way to find which device your mouse is plugged into is to use ``cat'' or ``kermit'' to look at the output of the mouse. Connect to it and just make sure that it generates output when the mouse is moved or clicked: % cat < /dev/tty00 If you can't find the right mouse device then use ``dmesg|grep sio'' to get a list of devices that were detected upon booting: % dmesg|grep sio sio0 at 0x3f8-0x3ff irq 4 on isa Then double check the /dev entries corresponding to these devices. Use the script /dev/MAKEDEV to create entries if they don't already exist: % cd /dev % sh MAKEDEV tty00 If you plan to fine tune the screen size or position on your monitor you'll need the specs for sync frequencies from your monitor's manual. 5. Running X 8mb of memory is a recommended minimum for running X. The server, window manager, display manager and an xterm take about 8Mb of virtual memory themselves. Even if their resident set size is smaller, on a 8Mb system that leaves very space for other applications such as gcc that expect a few meg free. The R6 X servers may 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. 6. Rebuilding Kernels for X The GENERIC FreeBSD 2.1.0, 2.1.5 and 2.2-current kernels support XFree86 without any modifications required. You do not need to make any changes to the GENERIC kernel or any kernel configuration which is a superset. For a general description of BSD kernel configuration get smm.02.config.ps.Z . It is a ready-to-print postscript copy of the kernel configuration chapter from the system maintainers manual. If you do decide to reduce your kernel configuration file, do not remove the two lines below (in /sys/arch/i386/conf). They are both required for X support: options XSERVER #Xserver options UCONSOLE #X Console support The generic FreeBSD 2.1.0, 2.1.5 and 2.2-current kernels are configured by default with the syscons driver. To configure your kernel similarly it should have a line like this in /usr/src/sys/i386/conf/GENERIC: device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr The number of virtual consoles can be set using the NCONS option: options "NCONS=4" #4 virtual consoles Otherwise, the default without a line like this is 12. You must have more VTs than gettys as described in the end of section 3, and 4 is a reasonable minimum. The server supports several console drivers: pccons, syscons and pcvt. The syscons driver is the default in FreeBSD 1.1.5 and higher. They are detected at runtime and no configuration of the server itself is required. The XFree86 servers include support for the MIT-SHM extension. The GENERIC kernel does not support this, so if you want to make use of this, you will need a kernel configured with SYSV shared memory support. To do this, add the following line to your kernel config file: options SYSVSHM # System V shared memory options SYSVSEM # System V semaphores options SYSVMSG # System V message queues If you are using a SoundBlaster 16 on IRQ 2 (9), then you need a patch for sb16_dsp.c. Otherwise a kernel configured with the SoundBlaster driver will claim interrupt 9 doesn't exist and X server will lock up. S3 cards and serial port COM 4 cannot be installed together on a system because the I/O port addresses overlap. 7. Rebuilding XFree86 The server link kit allows you to build an X server using a minimum amount of disk space. Just unpack it, make the appropriate changes to xf86site.def, type ``./mkmf' and ``make'' to link the server. See README.LinkKit for more info. The source tree takes about 114Mb before compiling and an additional 100Mb after ``make World''. You should configure the distribution by editing xf86site.def and site.def in xc/config/cf before compiling. By default, the config files are set up to build shared libraries. To compile the sources on FreeBSD 1.1 and later, edit xc/config/cf/FreeBSD.cf to set the OS version parameters correctly, and then type: make World 8. Building Other X Clients The easiest way to build a new client (X application) is to use xmkmf if an Imakefile is included with it. Type ``xmkmf -a'' to create the Makefiles, then type ``make''. Whenever you install additional man pages you should update whatis.db by running ``makewhatis /usr/X11R6/man''. Note: Starting with XFree86 2.1 and FreeBSD 1.1, the symbol __386BSD__ no longer gets defined either by the compiler or via the X config files for FreeBSD systems. When porting clients to BSD systems, make use of the symbol BSD for code which is truly BSD-specific. The value of the symbol can be used to distinguish different BSD releases. For example, code specific to the Net-2 and later releases can use: #if (BSD >= 199103) To ensure that this symbol is correctly defined, include in the source that requires it. Note that the symbol CSRG_BASED is defined for *BSD systems in XFree86 3.1.1 and later. This should be used to protect the inclusion of . For code that really is specific to a particular i386 BSD port, use __FreeBSD__ for FreeBSD, __NetBSD__ for NetBSD, __OpenBSD__ for OpenBSD, __386BSD__ for 386BSD, and __bsdi__ for BSD/386. 9. Thanks Many thanks to: o Pace Willison for providing initial *BSD support. o Amancio Hasty for 386BSD kernel and S3 chipset support. o David Greenman, Nate Williams, Jordan Hubbard for FreeBSD kernel support. o Rod Grimes, Jordan Hubbard and Jack Velte for the use of Walnut Creek Cdrom's hardware. o Orest Zborowski, Simon Cooper and Dirk Hohndel for ideas from the Linux distribution. Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/FreeBSD.sgml,v 3.20 1996/10/26 09:38:47 dawes Exp $ $XConsortium: FreeBSD.sgml /main/5 1995/11/12 19:59:27 kaleb $