   README for X11R7.2 on
   NetBSDRichMurpheyDavidDawesMarcWandschneiderMarkWeaverMatthieu
   HerrbWhat  and  Where  is  X11R7.2?X11R7.2  is  an Open Source
   version  of  the X Window System that supports several UNIX(R)
   and  UNIX-like  operating systems (such as Linux, the BSDs and
   Solaris  x86)  on  Intel  and other platforms. This version is
   compatible  with X11R6.6, and is based on the XFree86 4.4.0RC2
   code base, which, in turn was based on the X consortium sample
   implementation.See   the   Copyright  Notice.The  sources  for
   X11R7.2   are   available  from:http://wiki.x.orgX11R7.2  also
   builds   on   other  NetBSD  architectures.  See  section  for
   details.New  OS  dependent  featuresSee  the Release Notes for
   non-OS  dependent  new  features  in  X11R7.2.New OS dependent
   features    in    4.2.0    Support    of    client   side   on
   NetBSD/sparc64Support  for  in-kernel  MTRR and AGP support in
   NetBSD  1.5Y  New  OS  dependent features in 4.1.0 Enable wide
   characters  support in NetBSD 1.5P and later. New OS dependent
   features  in  4.0.2  A  fix  for libXmu OS detection which was
   broken   since   unix   isn't   defined   anymore   by  the  C
   preprocessor.(limited)  native  wscons  support.  This  is not
   activated by default.Updates to the aperture driverSupport for
   multithread  libraries  with  GNU  pthAdd  /usr/pkg/bin to the
   default  user path. New OS dependent features in 4.0.1 Support
   for   NetBSD   1.5_ALPHAThe   Xsun  server  can  be  built  on
   NetBSD/sparc  New OS dependent features in 4.0 Preliminary APM
   support.  New  OS  dependent  features  in 3.9.18 Soft-booting
   secondary  cards  through  the  int10  BIOS  interface  is now
   possible using the x86emu real mode emulator. New OS dependent
   features  in  3.9.17 Support for silken mouse with the wsmouse
   protocol  has  been added.A new version of the Aperture driver
   which  provides  MTRR  support  is  included.  Installing  the
   BinariesRefer   to  the  Installation  Document  for  detailed
   installation  instructions.Configuring  X for Your HardwareThe
   /etc/X11/xorg.conf  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.You'll need
   info on your hardware: Your mouse type, baud rate and its /dev
   entry.The  video  card's  chipset  (e.g. ET4000, S3, etc).Your
   monitor's  sync  frequencies.  For details about the xorg.conf
   file format, refer to the xorg.conf(5) manual page.Once you've
   set  up  a  xorg.conf  file, you can fine tune the video modes
   with  the  xvidtune  utility. About mouse configurationX11R7.2
   has  support  for  the  mouse  driver  included  in the wscons
   console  driver  introduced by NetBSD 1.4. Specify ``wsmouse''
   as  the  protocol  and  ``/dev/wsmouse0''  as  the  device  in
   /etc/X11/xorg.conf  if you're using NetBSD 1.4 or later with a
   PS/2  mouse.For  older  releases,  the NetBSD pms mouse driver
   handles  PS/2  style mice as Busmouse. Specify the protocol as
   ``busmouse''  in  the  mouse section of your xorg.conf file if
   you're   using   a  PS/2  mouse  with  NetBSD  1.3  or  former
   releases.Only standard PS/2 mice are supported by this driver.
   Newest  PS/2  mice  that  send more than three bytes at a time
   (especially  Intellimouse,  or MouseMan+ with a wheel) are not
   supported  by NetBSD 1.3 and former releases. See README.mouse
   for  general  instruction  on mouse configuration.Running XThe
   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.Starting Xdm, the display managerTo start the
   display manager, log in as root on the console and type: ``xdm
   -nodaemon''.You  can  start  xdm  automatically  on  bootup by
   changing  the  line  xdm=NO xdm_flags="" # x11 display manager
   to:   xdm=YES   xdm_flags=""   #   x11   display   manager  in
   /etc/rc.conf.  Under  NetBSD  1.4  and  later  with the wscons
   console  driver,  you  must enable a virtual console for the X
   server  first.  To  do  this follow these steps: Make sure the
   device  file  exists.  If not, ``cd /dev ; ./MAKEDEV wscons''.
   Next,  make  sure your kernel wants to do wscons. (see ).Next,
   make  sure  ``wscons=YES''  in  /etc/rc.conf.Next,  make  sure
   /etc/wscons.conf  exists. The relevant bits: #screen 0 - vt100
   screen  1 - vt100 screen 2 - vt100 screen 3 - vt100 screen 4 -
   -   screen   5   -   vt100   (Thanks  to  Mason  Loring  Bliss
   <mason@acheron.middleboro.ma.us>  for  this explanation)Kernel
   Support  for  XTo make sure X support is enabled under NetBSD,
   the   following   line   must   be  in  your  config  file  in
   /sys/arch/i386/conf:   options   XSERVER,   UCONSOLE   Console
   driversThe  server  supports  the standard NetBSD/i386 console
   drivers: pccons, pcvt and wscons (in pcvt compatibility mode).
   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 NetBSD
   binary  distribution's  kernels.The  pcvt  console  driver was
   bundled  with  NetBSD until 1.4. The pcvt X mode is compatible
   with  the  pccons  driver  X  mode.  It offers several virtual
   consoles  and  international keyboard support. In order to use
   this driver, change the line: device pc0 at isa? port "IO_KBD"
   irq 1 to device vt0 at isa? port "IO_KBD" irq 1 in your kernel
   config file, and rebuild and install your kernel.Wscons is the
   current  console driver, included in NetBSD 1.4 and later. For
   now,  X  supports wscons using the pcvt compatibility mode, so
   be  sure  to  have  the lines: options WSDISPLAY_COMPAT_PCVT #
   emulate some ioctls options WSDISPLAY_COMPAT_SYSCONS # emulate
   some ioctls options WSDISPLAY_COMPAT_USL # VT handling options
   WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes in your kernel
   configuration  file  if  you're  using  wscons.  Refer  to the
   wscons(4)  and wsmouse(4) manual pages for informations on how
   to  configure wscons into the kernel.Aperture DriverBy default
   NetBSD  include  the  BSD  4.4  kernel  security  feature that
   disable  access  to  the  /dev/mem  device when in multi-users
   mode.  But  X.Org  Foundation X servers can take advantage (or
   require) linear access to the display memory.Most X11R7.2 card
   drivers  require  linear  memory access. There are two ways to
   allow  X  to  access linear memory:The first way is to disable
   the  kernel  security feature by adding ``option INSECURE'' in
   the  kernel  configuration  file  and  build  a new kernel.The
   second  way  is  to  install  the aperture driver, included in
   source form in
   xc/programs/Xserver/hw/xfree86/etc/apNetBSD.shar     in    the
   X11R7.2  source  distribution. Unpack it in a new directory of
   your  choice  by  running:  sh  apNetBSD.shar  By  default the
   aperture  driver will be installed in /usr/local/aperture. You
   can  change  this  default  directory  by editing Makefile.inc
   before building it. Then run ``make build'' as root to install
   it.  To  enable  it,  add the following line to /etc/lkm.conf:
   /usr/local/aperture/lkm/xf86.o - -
   /usr/local/aperture/lkm/xf86_mod_install    -    -   and   set
   ``lkm=YES''   in   /etc/rc.confReboot   your  system.  X  will
   auto-detect the aperture driver if available.Warning 1: if you
   boot  another kernel than /netbsd, loadable kernel modules can
   crash  your  system.  Always boot in single user mode when you
   want to run another kernel.Warning 2: the aperture driver only
   allows one access at a time (so that the system is in the same
   security state once X is launched). This means that if you run
   multiple servers on multiples VT, only the first one will have
   linear memory access. Use ``option INSECURE'' if you need more
   that  one X server at a time.Starting with XFree86 3.9.17, the
   XFree86  aperture driver also supports MTRR write combining on
   Pentiums II and AMD K6 class processors. MIT-SHMNetBSD 1.0 and
   later  supports  System  V  shared  memory.  If X detects this
   support   in   your   kernel,  it  will  support  the  MIT-SHM
   extension.To  add  support  for system V shared memory to your
   kernel  add  the  lines:  #  System V-like IPC options SYSVMSG
   options   SYSVSEM   options  SYSVSHM  to  your  kernel  config
   file.Rebuilding  the  X  DistributionYou  should configure the
   distribution    by    editing   xc/config/cf/host.def   before
   compiling.  To  compile  the sources, invoke ``make World'' in
   the xc directory.Perl supportStarting with XFree86 4.0.2, perl
   is  needed  to  build  the fonts in XFree86. Since perl is not
   included  with  standard  NetBSD installation, fonts that need
   perl  are  not  built  by  default. If you have installed perl
   (from the NetBSD packages, for instance), add the line #define
   HasPerl  YES  in  xc/config/cf/host.def  before  rebuilding X.
   Aperture  driverTo build the X server with the Aperture driver
   enabled, you should unpack apNetBSD.shar and install it first.
   Then  edit  xc/config/cf/host.def  and  add  the  line #define
   HasNetBSDApertureDriver  YES to it before rebuilding X.Console
   driversX  has  a  configuration  option  to select the console
   drivers  to  use  in  host.def:  if  you're  using pccons put:
   #define XFree86ConsoleDefines -DPCCONS_SUPPORT if you're using
   pcvt  put: #define XFree86ConsoleDefines -DPCVT_SUPPORT If you
   don't  define XFree86ConsoleDefines in host.def the pccons and
   pcvt  drivers will be supported by default.Experimental native
   support  for the wscons console driver can be built by adding:
   #define      XFree86ConsoleDefines     -DWSCONS_SUPPORT     to
   xc/config/host.def  before rebuilding the server. This has not
   been  thoroughly  tested,  except on the macppc. For the i386,
   you  should  include  both pcvt and wscons support in order to
   use   the   pcvt   compatibility   mode   of  wscons:  #define
   XFree86ConsoleDefines -DPCVT_SUPPORT -DWSCONS_SUPPORT Building
   on  other  architectures  Note that the NetBSD project has now
   its  own  source  tree,  based on the X source tree, with some
   local  modifications.  You may want to start with this tree to
   rebuild from sources. The NetBSD xsrc source tree is available
   at:
   ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/xsrc/Building
   New  X  ClientsThe  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/X11R6/man''.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,   and   __bsdi__   for
   BSD/386.ThanksMany  thanks  to  all  people who contributed to
   make  XFree86  work  on *BSD, in particular: David Dawes, Todd
   Fries,  Rod  Grimes,  Charles Hannum, Amancio Hasty, Christoph
   Robitschko,   Matthias   Scheler,   Michael   Smith,  Ignatios
   Souvatzis, Jack Velte, Nate Williams and Pace Willison.
