Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Feb 1997 20:02:36 +-1100
From:      Andrew Perry <andrew@shoal.net.au>
To:        "'Questions'" <questions@freebsd.org>
Subject:   FW: Where Can
Message-ID:  <01BC25B2.5E8DF7E0@monty-port20.shoal.net.au>

next in thread | raw e-mail | index | archive | help
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
  <ftp://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
  <ftp://ftp.XFree86.org/pub/XFree86/current/binaries/FreeBSD-2.1.5>;

  XFree86.cdrom.com:/pub/XFree86/current/binaries/FreeBSD-2.1.5
  <ftp://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
  <ftp://ftp.XFree86.org/pub/XFree86/current/binaries/FreeBSD-current>;

  XFree86.cdrom.com:/pub/XFree86/current/binaries/FreeBSD-current
  <ftp://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
  <ftp://gatekeeper.dec.com/pub/BSD/manuals/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 <sys/param.h>
  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 <sys/param.h>.

  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 $













Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?01BC25B2.5E8DF7E0>