
<!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN">
 
<article>
 
<title>Instructions for Building XFree86 on an Intel Pentium Aviion machine with DG/UX R4.20MU04
<author>Takis Psarogiannakopoulos
<date>July 27, 1999
<toc>

<sect>Whats new <p>

July 27, 1999<p>
  DG has fix the streams bug in /usr/lib/tcpip.so . (Read below) 
  The workaround in the July 25 source code has been removed.
  I've been told from DG that BSD sockets perform better in DGUX
  than SVR4 native STREAMS. From R4.20MU06 DG/UX will have the correct 
  tcpip.so lib (no bug in STREAMS). If you have MU05,MU04 and you 
  want for some reason STREAMS definitely contact DG for an updated 
  /usr/lib/tcpip.so in /usr/lib (patch for your MU04,5).
<p>
  DG/UX at the moment lacks the sysi86 syscall and the definition
  of SYSI86IOPL (that is in &lt;sys/sysi86.h&gt; but guarded by a 
  UNIXWARE defintion that of course cannot be applicable to DG/UX).
  Until this header is accessible by a simple -DDGUX , and _sysi86, 
  sysi86 subroutines added to libc (or some other extra library)
  we need to define the DG_NO_SYSI86 to be 1. If DG makes the above
  modifications , you will need to manually edit the files (before
  building!)
   xc/programs/Xserver/hw/xfree86/SuperProbe/OS_DGUX.c
   xc/programs/Xserver/hw/xfree86/etc/scanpci.c
   xc/programs/Xserver/hw/xfree86/os-support/dgux/dgux_video.c
  and eliminate DG_NO_SYSI86 flag by changing DG_NO_SYSI86 1-->0.
<p>
July 25, 1999<p>
  A major bug has now been corrected in this release. According to this
  since the STREAMS interface of DG/UX were broken the server was
  listening not to port 6000 (= 0x1770) but to 0x7017.
  All binaries that you have from 3.3.3.1, 3.3.3 they will work
  locally (if you run them in the same machine) but NOT remotely
  because they use an Xlib that tries to connect to port 28365.
  If you want to run them remotely YOU MUST recompile them!
  Steve thank you for bringing this to my attention initially but
  was too busy then to look at it in detail... Perhaps I should
  have...
<p>
  We now use sockets instead of ioctls.
  But I've fix and tested the STREAMS also.
<p>
  David thanks for making me realize that this was indeed a problem
  in DG/UX.
<p>
  I've also take the trouble to port gdb-4.17/8 and ddd (X inter)
  in pub/XFree86/3.3.5/binaries/DGUX-ix86/GDB_BETA (both binaries
  and source code) in order to be able to send me traces of core
  files produced by Xservers. Try
<verb>
  gdb /usr/X11R6/bin/X location of core/core
  gdb: where
</verb>
  and send me what you see.
  (I suppose that the Xserver executable is in /usr/X11R6.3/bin)
<p>
  From 3.3.3.1:
  Several bugs are now fixed. DG/UX support is on this official
  patch. All configuration is in xc/config/cf/DGUX.cf and in 
  xf86site.def. Also Imake autodetects (thanks to David Dawes)
  the DGUX OS (including Release version). So only a simple 
  "make World" is needed anymore to build in ix86 DG/UX.
  Usually the process to build is (after unpacking and patching
  the source "xc" tree) to go to xc/config/cf copy the file
  xf86site.def to site.def and edit the files DGUX.cf ,site.def
  for whatever changes you need to do.
<p>
  Default ProjectRoot in 3.3.5  is /usr/X11R6 (except if you
  set this specifically in DGUX.cf either as /usr/X11R6.3-- 
  --my choice, or in whatever you like).
<p>
  From:
  December 1, 1998
  IMPORTANT: PLEASE READ THE FILE README-GCC-2.8.1
  GCC VERSION 2.8.1 is recommended for the DGUX build of X11R6.3
  You can ignore below the _old_ conversation about gcc compiler
  if you already run a gcc-2.8.1 in your machine.

<sect> GENERAL:          <p>

  Get from ftp.xfree86.org the XFree86 3.3.x source code:
<verb>
  ftp ftp.xfree86.org
  login: ftp
  passwd: your e-mail address
  cd pub/XFree86/3.3.5/source
  You need the files:
  X335src-1.tgz
  X335src-2.tgz
  X335src-3.tgz
</verb>
<p>
  Get also the contributed X software
<verb>
  cd /pub/XFree86/3.3.5/source
  X335contrib.tgz
</verb>
<p>
  If you have the source tarballs of 3.3.3 go to 
  /pub/XFree86/3.3.5/binaries/DGUX-ix86/SOURCE get the DGUX source 
  patch 
<p>
<verb>
  3.3.3-3.3.5-DGUX.diff.gz 
  X335contrib-DGUX.diff.gz (patch for the contrib software).
</verb>
<p>
  to avoid downloading all the source code again.
<p>
  Sorry some DGUX changes they didn't make in time for the official 
  release date of 3.3.4...
  I do this for free, so some times I may be excused for something
  like this...
<p>
  To build X11R6.3 you need also the tools for DG/UX (see discussion
  below). They will be in 
  ftp dpmms.cam.ac.uk 
  (University of Cambridge,Department of Pure Mathematics)
  in /pub/takis/DGUX-Tools/BuildXtools.tar.gz (anonymous ftp)  
  or in the ftp.xfree86.org ...
  (pub/XFree86/3.3.5/binaries/DGUX-ix86/SOURCE/BUILD-TOOLS/
  BuildXtools.tar.gz).
<p>
  Using a big filesystem (I use a virtual disk "xf86work" mounted on
  /xf86work of size 1400000 blocks) copy the source as:
<p>
<verb>
  cp X335src-1.tgz  /xf86work/X335src-1.tar.gz
  cp X335src-2.tgz  /xf86work/X335src-2.tar.gz
  cp X335src-3.tgz  /xf86work/X335src-3.tar.gz
</verb>
<p>
  (or X333src-1,2,3.tar.gz as above plus the DG/UX patch to 3.3.5
   i.e. the file 3.3.3-3.3.5-DGUX.diff.gz)
<p>
  And maybe the contributed software:
<verb>
  cp  X335contrib.tgz           /xf86work 

  (cp  X335contrib-DGUX.diff.gz  /xf86work). 
</verb>
<p>
  If you get the patches from DGUX-ix86, to build from source 3.3.3
  your first problem is that in order to apply the source patch you
  need "patch" a very common GNU program that DG/UX doesn't have!?
  This program is in BuildXtools.tar.gz
  (or ftp prep.ai.mit.edu cd/pub/gnu get patch-2.5.tar.gz)
  So lets speak about these tools before anything else:
  Using "sysadm" mount a filesystem usr_local under /usr/local with
  size 200000 blocks. Then copy the BuildXtools file in /usr and give:
<verb>
  gzip -d < BuildXtools.tar.gz | tar xvf -
</verb>
<p>
  It will unfold in the new filesystem /usr/local.
  Then go to your ".profile" (in your Home dir , mine eg is /admin) 
  and add the /usr/local/bin in your path and the  /usr/local/lib in 
  your lib-path.
<p>
  What you need is like that:
  (vi .profile)
<p>
<verb>
  PATH=/usr/local/bin:/sbin:/usr/sbin:/usr/bin
  if [ -d /usr/opt/X11/bin ]
  then
    PATH=$PATH:/usr/opt/X11/bin
  fi
  export PATH
  (/usr/local/bin is before any other path!)

  LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/ccs/lib
  export LD_LIBRARY_PATH
</verb>
<p>
  then exit and re-login so that your new modified .profile will take effect.
<p>
  Now do the following:
<verb>
  cd /usr/sbin
  cp install install_dg
  rm install
  cp /usr/local/bin
  cp install /usr/bin  *(make the GNU install the default install)*
  (DG/UX install is useless)
  (Look also the file xc/config/cf/DGUX.cf , below).

  (Or get GNU make-3.77 and copy install.sh (or -sh) to a /usr/bin/install)

  cd /usr/bin
  cp true    /usr/local/bin
  cd /usr/local/bin
  ln -s true ranlib (Install true as ranlib in the DG/UX system)
</verb>
  Usually giving -v,-V  or --version will give you build info on all 
  the tools in /usr/local/bin (try it).
<p>   
  **Look the discussion for gcc before you build (below)**
<p>
  Now untar the source tree:
  In /xf86work (or whatever name you gave to the big filesystem for the build)
<verb>
  gzip -d < X335src-1.tar.gz | tar xvf -
  gzip -d < X335src-2.tar.gz | tar xvf -
  gzip -d < X335src-3.tar.gz | tar xvf -
</verb>

  (If you have X-3.3.3 do the same for the 3.3.3 sources and
  then apply the 3.3.5-DGUX source patch 

<verb>
  gzip -d < 3.3.3-3.3.5-DGUX.diff.gz | patch -p0 -E).
</verb>

  The directory xc in now present in your build filesystem.


<sect> Configuration for the build:<p>
  Almost all you need is in "DGUX.cf" located in xc/config/cf.
  Edit the file DGUX.cf and site.def and change what ever you need.
  Remember DGUX.cf overwrites site.def.
  The default ProjectRoot for XFree86-3.3.5 is now /usr/X11R6
  (located in site.def). If you want to change this to whatever
  you like (I prefer /usr/X11R6.3 and a link in /usr X11R6->X11R6.3)
  edit DGUX.cf and locate the entry:
<p>
<verb>
  #if 0
  #define ProjectRoot /usr/X11R6.3
  #endif
</verb>
  Eliminate the #if 0 , #endif.
  Then change this to whatever you prefer.
  (I prefer the above for the pre-compiled binaries)
<p>
  The DG/UX malloc is crap and keeps bringing problems with some
  X software so I don't use it. Instead there is a port of GNU
  malloc in /usr/local (it came with the BuildXtools file).
  Don't try to build with the /lib/libmalloc.a of DG/UX and then
  send me e-mails that some programs they don't work properly.
  In my build I use tcl8.0 and tk8.0 since the xconfig of R4.20MU03
  is reporting incorrect values for the monitors and XF86Setup
  need to be build in order to manage to adjust the display.
  If you don't have this (or don't want this) comment out the lines
  about tcl,tk, (in DGUX.cf) 
<p>
<verb>
  /*******TCL TK DEFINITIONS ***********/
   #define HasTk  YES-->NO
   ...
   #define HasTcl YES-->NO
</verb>
  Also 'GNU make' is required for the correct X11R6.3 build. 
  (it is in Buildxtools file). 
  If you decide yes to tcl,tk obtain the files
<verb>
                     tcl8.0.3.tar.gz
                     tk8.0.3.tar.gz    (from some ftp)
</verb>
  (or newer versions) and compile them before the building
  of X11R6.3 (Build first tcl8.0.3 then tk8.0.3).
<p>
<sect> DISCUSSION ABOUT GCC<p>
  There are so much things that I can say for the system gcc of
  DG/UX. If I was keeping track for the programs that fail using
  this compiler I will certainly have fill a book (conveniently 
  for the DG of course). 
  But my work is not to correct bugs for the DG/UX compiler or
  anything else) , and in particular to collect reports for
  the genius of DG.
  (DG:Sorry guys nothing personal. I am a pure Mathematician , 
  I am doing all this work for pleasure, I don't want any money 
  from DG or anybody else , I am not looking to become a employer
  of DG,and I am NOT a trouble shooter of the DG/UX in general.
  But maybe some times if you help I may be able to help you also).
<p>
  What I wanted to do is to build X11. Thats why you will find 
  in BuildXtools a new gcc. This gcc is build for DG/UX R4.20MU02.
  so you have to upgrade your DG/UX OS version to the above.
  But it is solid to build not only X11 but whatever else you want.
  DO NOT use gcc of DG/UX. If you do I cannot tell you anything 
  about any problems that you have.
  To complete the installation of this new gcc do the following:
<p>
<verb>
  cp -r /usr/local/gcc-dgux  /usr/opt/sdk/sde/ix86dgux/usr/lib 
  cd  /usr/opt/sdk/sde/ix86dgux/usr/lib
  rm gcc 
  ln -s gcc-dgux gcc   (set link gcc--->gcc-dgux)
  
  cd /usr/local
  cp -r /usr/local/gcc-dgux  /usr/sde/ix86dgux/usr/lib
  cd  /usr/sde/ix86dgux/usr/lib
  rm gcc 
  ln -s gcc-dgux gcc  (set link gcc-->gcc-dgux)
</verb>

  To come back to your old DG/UX gcc just change the above two
  links gcc-->gcc-dgux
  to gcc-->gcc-2
  with the command: (in both the above two dirs)
<verb>
  rm gcc
  ln -s gcc-2 gcc 
</verb>

  /usr/bin/gcc -v should report the version that you have.
  To build successfully this version of X11 gcc is a *MUST*.
<p>
  Dynamic loading Servers:
  Edit xc/config/cf/DGUX.cf and change the entry
<p>
  #ifndef BuildDynamicLoading
  #define BuildDynamicLoading NO --->YES.
  #endif
<p>
  Remember when you build you will see lots of errors and the servers
  will NOT build! This is because the dynamic linker doesn't know
  the locations of the newly created R6 libX's.
  So after the (seem faulty) building do a   
<p>
  make DESTDIR=ProjectRoot/lib install
<p>
  (look below for install, ProjectRoot the location that you choose
  in the file xc/config/cf/DGUX.cf above) 
<p>
  So that all your new libXR6 libraries will go there.
  (do a cd ProjectRoot/lib to make sure).
<p>
  Then go to your home dir and declare the path ProjectRoot/lib dir 
  in you LD_LIBRARY_PATH (your profile) as:
<p>
  LD_LIBRARY_PATH=ProjectRoot/lib:$LD_LIBRARY_PATH
  export LD_LIBRARY_PATH
<p>
  Then relogin!
<p>
  Now just _rebuild_ A FULL XFree86-3.3.5 with the entry
<p>
  #define BuildDynamicLoading YES in your DGUX.cf. 
<p> 
  This time you will build _all_ XFree86-3.3.5 correctly.
<p>

<sect> BUILD <p>
  In the usual X11R5 of DG (mwm) open an xterm and give:
  (/bin/sh = Bourne shell)
<p>
<verb>
  cd xc
  make World > Build-dg.log 
</verb>

  In that way you will get all the error messages in your
  screen.
  Don't worry with messages about -znodefs.
<p>
  Note: the old command 
<verb>
  make World BOOTSTRAPCFLAGS="-DDGUX" > Build-dg.log
</verb>
  is no longer needed since imake will detect the DGUX OS
  (in Version => 3.3.3.1) and set up things. However this 
  command will also work. 
<p>
  And in another xterm  give cd xc
  tail -f Build-dg.log to watch the building progress. 
<p>
  To install X11R6.3 XFree86 version 3.3.5 after the build
  you must have a filesystem say usr_X11R6.3  mounted to
  the directory /usr/X11R6 size 350000 blocks. 
  (or whatever you choose to be your ProjectRoot, if you
  modify DGUX.cf for another ProjectRoot than the default
  /usr/X11R6 in site.def).
  Then give
<verb>
  make install
  make install.man (install the man pages)
</verb>
  The installation will not put an XF86Config in your
  /usr/X11R6.3/lib/X11/ and so if you give startx the new
  X11 will not start. Read the file README-X3331.DGUX in
  this ftp site (located in the binaries) about the whole
  installation procedure of X11R6.3. 
  Or quickly you can do:
  (I remind: DG/UX mouse device "/dev/mouse")
  cd /usr/X11R6.3/bin
  ln -s XF86_VGA16 X 
  Then put in your .profile the path /usr/X11R6.3/bin and 
  run the XF86Setup program. Adjust first the mouse device
  then everything else. 
  (You need to read really the file README-DGUX.INSTALL-> look
  in the end of this file).
<p>
  To build the contributed software with XFree86-3.3.5 get
  the X335contrib.tgz and do 
<verb>
  gzip -d < X335contrib.tgz | tar xvf -
</verb>

  (Or for 3.3.3 sources unpack X333contrib.tgz and apply the DGUX
  patch as 
<verb>
  gzip -d < X335contrib-DGUX.diff.gz  | patch -p0 -E ). 
</verb>
  Please note:
  You must have already install and active the X11R6.3 that you
  build so that the imake is working properly for your system.
  Read below for how to install this X window system.
  After that you could do:

<verb>
  cd contrib
  xmkmf -a
  make
  make install 
  make install.man (for installing the man pages)
</verb>


<sect> INSTALLATION OF THE BINARY:<p>

  NOTE:This executable has been compiled with the macro -DPENTIUM_CHANGE
  (that all the new Aviion machines support). If you have an old i486
  (rather unlikely) the executable will NOT RUN correctly.
  But we haven't use -mcpu=pentiumpro, so the executable will work on
  ALL PENTIUM machines.

<itemize>
<item> About Project Root: I choose as ProjectRoot for ix86 DG/UX the location
  /usr/X11R6.3. The default (in 3.3.5 sources) is the /usr/X11R6. To
  cover this we make a link in /usr as X11R6->X11R6.3 (read below);
  so don't forget to do this link. I don't like the location /usr/opt/X11
  (default location of DG X11) that some of you have suggested to me, I
  believe it is a good idea to keep the original X11 as is for several
  reasons.

<item> Make a filesystem,using sysadm, mounted under "/usr/X11R6.3".
  This is the default location of X11R6.3 , you cannot change this
  except if you recompile the whole source of X.
  (Please don't send e-mails about this).
  The size of this filesystem should be around 175 MB(350000 blocks).

  The list of files is:

<verb>
  X3353DL.tgz    3D_Labs XServer ... etc
  X3358514.tgz
  X335AGX.tgz
  X335I128.tgz
  X335Ma32.tgz   Mach32 Xserver
  X335Ma64.tgz   Mach64 Xserver
  X335Ma8.tgz
  X335Mono.tgz
  X335P9K.tgz
  X335S3.tgz
  X335S3V.tgz
  X335SVGA.tgz   SuperVGA Xserver (Supports AV3700 Cirrus)
  X335VG16.tgz   VGA16 Xserver (needed by XF86Setup)
  X335W32.tgz
  X335bin.tgz    BIN (you must have this)
  X335cfg.tgz
  X335doc.tgz
  X335f100.tgz
  X335fcyr.tgz
  X335fnon.tgz
  X335fnts.tgz
  X335fscl.tgz
  X335fsrv.tgz
  X335lib.tgz    LIB (you must have this)
  X335lkit.tgz   Linkkit (X development)
  X335man.tgz    Man pages
  X335nest.tgz
  X335prog.tgz
  X335prt.tgz
  X335set.tgz
  X335vfb.tgz
  preinst.sh    Install script
  extract        The XFree86 extract program (for ix86 DG/UX)

  SUMS.md5       Checksums for the integrity of the files
</verb>
  (Try compile the GNU textutils-1.22.tar.gz from
   prep.ai.mit.edu /pub/gnu. md5sum is there).
<p>
  You need at least:
<verb>
  X335bin.tgz
  X335lib.tgz
</verb>
  And the correct Xserver for your machine/Graphics card.
  In my opinion take all files , in the future you may need to
  switch to another graphics device etc ... (mget *).
  Generally it is good to have the full distribution of the
  X11R6.3 window system ,it should make life easier in DG/UX.
<p>
  (Trivial:you must have root privilege).
<p>
<item> Unpack the *.tgz files in your / so that it will go directly inside to
  the new filesystem /usr/X11R6.3. After you do that cd /usr and do a link :
  ln -s X11R6.3 X11R6. (Use the install script).
  This link will indicate in XF86 programs like XF86Setup where the new X11
  window system is.

<item> cd your home dir and backup your .profile as "cp .profile myprofile". Then
  cd /usr/X11R6.3. Copy the file HOME.profile-X11R6.3 to your home dir as
  "cp HOME.profile-X11R6.3 your home dir/.profile" ,then cd your home dir and
  "chmod 644 .profile" to make sure that the new profile is active. This is
  because you need to tell to the system to look for the X software in a
  different location than the usual /usr/bin/X11 of DG/UX. Also you need
  to tell to the system that the new X libraries are in /usr/X11R6.3/lib.
<p>
  **You NEED to re-login in order to make the new .profile active !**
  ** DO NOT GIVE "startx" AFTER THAT, READ Configuration below !**

<item> About Configuration:
  DG/UX has a program (actually a script) called xconfig that makes the
  configuration for you. Usually when you run xconfig in the DG/UX-X11R5
  it creates a file XdgConfig in /var/X11/Xserver which is the corresponding
  of the XF86-configuration file located in /usr/X11R6.3/lib/X11/XF86Config.
  This file ,in the section monitor, has all values for your monitor.
  Please Note:
  Unfortunately in DG/UX R4.20MU02 things change. Instead of going forwards we
  going backwards... xconfig reports crazy values for my DG-DA1765VA monitor.
  So if you have a CDROM of DG/UX R4.11MU02,or MU03 use it to find an xconfig
  that will give you reliable values for your monitor.
<p>
  Your best bet is to use XF86Setup for correct adjustments.
<p>
  Thats the reason that in this binary there is a minimum tcl,tk(version 8.0).
  Before you run XF86Setup read the relevant documents found in www.xfree86.org.
  (Or read below for a hand-made configuration).
<p>
  Notice about XF86Setup: You will will see the message
        "The program is running on a different virtual"
        "Please switch to the correct virtual terminal"
<p>
  DG/UX does NOT have any virtual terminals. But XF86Setup uses a script
  that doesn't checks for this. So it is printing this message anyway.
  Ignore it and don't send e-mails asking how to set the virtual terminal!
  XF86Setup WORKS for SURE (if you use it correctly) to set your configuration.
  Just remember:
  <enum>
  <item> make a link in /usr/X11R6.3/bin: ln -s XF86_VGA16 X
  <item> set mouse device in your XF86Config to /dev/mouse (this the mouse in DGUX)
  <item> set the correct mouse protocol. (usually for a typical AViiON PS/2).
  </enum>
  Or just cd /usr/X11R6.3/lib/X11 and copy XF86Config.eg.dgux to XF86Config
  (it is for a PS/2 protocol mouse that almost all AViiON's have) , then
  run XF86Setup and choose to use this XF86Config file as default (so mouse
  works).
<p>
  Alternatively, you can run xf86config, a non-graphical configuration utility
  but you will need to enter manually the values for your monitor.
  If you have the small booklet that came with the monitor they are inside.
<p>
  Hand made configuration:
  I have an DG/UX Medium resolution (1280x1024) 17 inch DG-26059,DA1765VA.
<bf>
  ONLY IF YOU HAVE THE
                        ***EXACT SAME***
  MONITOR USE THE FILE XF86Config_SVGA_DGUX that you will find in /usr/X11R6.3/.
  IT IS IN YOUR OWN RISK IF YOU DECIDE TO USE THIS FILE WHEN YOU DON'T HAVE THE
  SAME MONITOR AS MINE. YOU CAN DAMAGE YOUR VIDEO MONITOR OR YOUR GRAPHICS CARD.
</bf>
<p>
  An example of how to use the Accel Servers (eg ATI=XF86_Mach64) is in the file
  XF86Config_ATI_DGUX.
  Again remember:
  I have an DG/UX Medium resolution (1280x1024) 17 inch DG-26059,DA1765VA.
<bf>
  ONLY IF YOU HAVE THE
                        ***EXACT SAME***
  MONITOR USE THE FILE XF86Config_ATI_DGUX that you will find in /usr/X11R6.3/.
  IT IS IN YOUR OWN RISK IF YOU DECIDE TO USE THIS FILE WHEN YOU DON'T HAVE THE
  SAME MONITOR AS MINE. YOU CAN DAMAGE YOUR VIDEO MONITOR.
</bf>
<p>
  Start with the file XF86Config.eg as a prototype. READ the README.Config .
  In Cirrus chips you need to read the file README.cirrus located in /usr/X11R6.3
  There is a problem with the accelerated XAA code ,so you need to try to put
  the following option in your XF86Config:
<verb>
  Option "no_mmio" (in Section Screen ,subsection display).
</verb>
  Look in the XF86Config_SVGA_DGUX to see how this can be done .
  If this doesn't work (it will probably) try Option "noaccel" or "no_bitblt".Again
  READ the file README.cirrus (and README.Config).
  I suggest to print (in paper) the file XdgConfig and have a look in it. Then it
  should be quite trivial to figure out what you have to do with the XF86 file
  ie XF86Config in the sections mouse, keyboard, screen ...
  After you have a correct XF86Config in /usr/X11R6.3/lib/X11 give
<verb>
  chmod 444 XF86Config.
</verb>
<p>
  Supposing that you have already  re-login so that the new .profile is active
  and you have the correct XF86Config file (as your XdgConfig suggest) (DO not
  forget for a cirrus to put the Option "no_mmio" in section screen !), give
  startx and the new X11 will start .
  Remember: You can shut down at any point the Xserver by pressing
  CONTROL+ALT+BACKSPACE (if something goes wrong).
  Also Xservers don't produce messages unless to want them to do so. This is
  because the DG/UX console driver some times causes corruption of the screen
  if you print text during the startup of the Xserver.
  If you require messages try in bash shell to give: (bash# )
<verb>
  X -verbose >& info1  or even
  X -verbose -verbose >& info2 for more messages.
</verb>
  Then when the server is up press CONTROL+ALT+BACKSPACE to shutdown the
  Xserver. File info1 (or info2) have all relevant info about your graphics
  card , display memory etc ...
  I suggest you do that at least one time before start using the new X11R6.3.
  Read this info file to see if all ok. If not try change settings in your
  XF86Config to make thinks correct.
<p>
  If you have an ATI Rage II (or RageII+) use the server XF86_Mach64 (make
  a link link X--->XF86_MACH64, or run xf86config, or use XF86Setup above).

<item> If you want to compile programs with the X11R6.3 the headers in /usr/include
  /X11 pointing to /usr/opt/X11 of DG/UX is a problem .
  Do:
<p>
  a): unmounting the /usr/opt/X11 will prevent the sysadm to use the X
  graphical interface. But this will be the only thing that you loose.
  The correct thing to do for X11R6.3 is to delete the filesystem /usr/opt/X11
  and make a link /usr/opt/X11--->/usr/X11R6.3 , so that the libraries
  from dglib and /usr/lib point correctly to the new ones in /usr/X11r6.3/lib.
  Before you unmount this filesystem you need to do this:
<verb>
  cd /usr/opt/X11/include
  cp -r Mrm    /usr/X11R6.3/include
  cp -r uil    /usr/X11R6.3/include
  cp -r Xm     /usr/X11R6.3/include
  cd /usr/X11R6.3/include
  ln -s uil Uil
</verb>

  LIBRARIES:
<verb>
  and cd /usr/opt/X11/lib
  cp libXm.a       /usr/X11R6.3/lib
</verb>

  and similarly copy the following libraries:

<verb>
  libX11.so.2, libX11.so.5, libXIM.so.1, libXaw.so.1, libXaw.so.2,
  libXext.so.2, libXi.so.2, libXimp.so.1, libXm.so.2, libXmu.so.2,
  libXsess.so.1, libXsi.so.1, libXt.so.2, libXt.so.5.0, libMrm.a,
  libUil.a, libX11_s, libXR4sco_s 
</verb>

  into /usr/X11R6.3/lib.
<p>
  Then cd /usr/X11R6.3/lib and make links:

<verb>
  ln -s libXm.so.2 libXm.so
  ln -s libXm.so.2 libXm.so.1
  ln -s libXm.so.2 libXm.so.5.0

  ln -s libX11.so.5.0 libX11.so.1 

  ln -s libXIM.so.1 libXIM.so.5.0 

  ln -s libXaw.so.2 libXaw.so.5.0

  ln -s libXext.so.2 libXext.so.5.0
  ln -s libXext.so.2 libXext.so.1

  ln -s libXi.so.2 libXi.so.1
  ln -s libXi.so.2 libXi.so.5.0

  ln -s libXimp.so.1 libXimp.so.5.0

  ln -s libXmu.so.2 libXmu.so.5.0

  ln -s libXt.so.2 libXt.so.5.0

  ln -s libXsi.so.1 libXi.so.5.0

  cd /usr/X11R6.3/lib
  rm libXmu.so (to avoid undefs when building X software)
</verb>

  Also you need to correct the links in /usr/dglib at least!
  (the correct thing to do is modify also /usr/lib links to
  /usr/opt/X11 libs).
  Try 
<verb>
  cd /usr/
  tar -cvf dglib-orig.tar dglib
  gzip dglib-orig.tar 
</verb>
  (to minimize the space dglib-backup takes) then
<verb>
  cd /usr/dglib 
</verb>
  and delete ALL links to libraries in
  /usr/opt/X11. Then copy the script create_new_links_in_dglib (found
  in /usr/X11R6.3 to /usr/dglib and cd /usr/dglib execute script.
  This will create all new links with the X11R6.3 X window system.
<p>
  But remember to do in the end :
<p>
<verb>
  cd /usr/dglib
  rm *.a (no static libs links in dglib)
</verb>

  Then unmount (delete) the old X11 by giving "umount /usr/opt/X11".
<p>
  NOTE: If you compile programs in the X11R6 make sure that you
  unmount /usr/opt/X11 or you eliminate the links in /usr/lib
  to the OLD libX's in /usr/opt/X11/lib.
  Otherwise gcc will link these old libraries! and the binary will
  not run correctly.
  Always after an R6 compilation do "ldd prog" to make sure that the
  binary loads only R6 version libraries (except maybe the motif
  library libXm.so.2), --if you don't use the static libXm.a
<p>
  b:)
<verb>
  cd /usr/include
  tar -cvf old-X11headers.tar X11
  gzip old-X11headers.tar
</verb>
  so that you store your old headers in /usr/include.

  Then cd /usr/include/  and delete
<verb>
       rm -r X11
       rm Xm
       rm Mrm
       rm Uil
       rm uil
  Make new links as:
  cd /usr/include
  ln -s ../X11R6.3/include/X11 X11
  ln -s ../X11R6.3/include/uil Uil
  ln -s ../X11R6.3/include/uil uil
  ln -s ../X11R6.3/include/Xm  Xm
  ln -s ../X11R6.3/include/Mrm Mrm
</verb>
</itemize>

<sect> What is about:<p>
  This new X11R6 are not simply an upgrade of the servers to the latest ones.
  It is a new programming platform in your DG/UX system to allow you to import
  all this *FREE* or not software for the X window system.
  This software will not compile in the old (and ugly) X11 of Data General.
  The imake command that is implemented in almost all the (source) software
  for X11 (free or not) will not work with the totally broken "imake" command
  of /usr/opt/X11 of DG/UX.
<p>
  The imake of DG/UX X11R5 is badly broken:
  I have seen DG/UX releases R4.11,MU01, ...MU04, R420, R4.20MU02 ,R4.20MU03
  and nobody bother to look in all these releases the imake command...
<p>
  While until now DG was rather hostile to the prospect of a new X11 in DG/UX
  some new folks there they have turn their interest in X11R6 (XFree86) these
  days. That is good of course because the ultimate target is to make XFree86
  (3.3.5 or whatever version) to run in _their_ DG/UX Unix! I will be able to
  make a much better X11 in DG/UX if I could had some access to DG/UX sources
  (i.e. the original R5 sources , but not only --eg kernel driver sources as
  for example the DG/UX kernel console driver sources).
<p>
  I have compile almost anything that runs for Linux in DG/UX using this X11.
  In doing this work in XFree86 I would like to express my thanks to David Dawes
  that he help me all the time with several technical questions. Also D.T. is one
  of the people that offer valuable help.
  Finally I want to express my thanks to John H. for enlightening me in some syscall
  issues.


<verb>
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DGUX.sgml,v 1.2 2001/08/10 16:38:11 dawes Exp $
</verb>

</article>
