  Instructions for Installing XFree86 on an Intel Pentium Aviion machine with
                               DG/UX R4.20MU05

                          Takis Psarogiannakopoulos

                                February 20, 2000 


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 havent use
-mcpu=pentiumpro, so the executable will work on ALL PENTIUM machines.

   o  About Project Root: I choose as ProjectRoot for ix86 DG/UX the location
     /usr/X11R6.3. The default (in 3.3.6 sources) is the /usr/X11R6. To cover
     this we make a link in /usr as X11R6->X11R6.3 (read below) ;so dont for-
     get to do this link. I dont 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.

   o  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 dont send e-mails about this).
     The size of this filesystem should be around 175 MB(350000 blocks).

     The list of files is:

            X3363DL.tgz    3D_Labs XServer ... etc
            X3368514.tgz
            X336AGX.tgz
            X336I128.tgz
            X336Ma32.tgz   Mach32 Xserver
            X336Ma64.tgz   Mach64 Xserver
            X336Ma8.tgz
            X336Mono.tgz
            X336P9K.tgz
            X336S3.tgz
            X336S3V.tgz
            X336SVGA.tgz   SuperVGA Xserver (Supports AV3700 Cirrus)
            X336VG16.tgz   VGA16 Xserver (needed by XF86Setup)
            X336W32.tgz
            X336bin.tgz    BIN (you must have this)
            X336cfg.tgz
            X336doc.tgz
            X336f100.tgz
            X336fcyr.tgz
            X336fnon.tgz
            X336fnts.tgz
            X336fscl.tgz
            X336fsrv.tgz
            X336lib.tgz    LIB (you must have this)
            X336lkit.tgz   Linkkit (X development)
            X336man.tgz    Man pages
            X336nest.tgz
            X336prog.tgz
            X336prt.tgz
            X336set.tgz
            X336vfb.tgz
            preinst.sh    Install script
            extract        The XFree86 extract program (for ix86 DG/ux)

            SUMS.md5       CheckSums for the integrity of the files

     (Try compile the GNU textutils-1.22.tar.gz from prep.ai.mit.edu
     /pub/gnu. md5sum is there).

     You need at least:

            X336bin.tgz
            X336lib.tgz

     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 graph-
     ics device etc ... (mget *).  Generally it is good to have the full dis-
     tribution of the X11R6.3 window system ,it should make life easier in
     DG/UX.

     (Trivial:you must have root privilege).

   o  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 indi-
     cate in XF86 programs like XF86Setup where the new X11 window system is.

   o  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.

     **You NEED to re-login in order to make the new .profile active !**  **
     DO NOT GIVE "startx" AFTER THAT, READ Configuration below !**

   o  About Configuration: DG/UX has a program (actually a script) called
     xconfig that makes the configuration for you. Usually when you run xcon-
     fig 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 :
     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.

     Your best bet is to use XF86Setup for correct adjustments.

     Thats the reason that in this binary there is a mininum 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).

     Notice about XF86Setup: You will will see the message "The program is
     running on a different virtual" "Please switch to the correct virtual
     terminal"

     DG/UX does NOT have any virtual terminals. But XF86Setup uses a script
     that doesnt checks for this. So it is printing this message anyway.
     Ignore it and dont send e-mails asking how to set the virtual terminal!
     XF86Setup WORKS for SURE (if you use it correctly) to set your configu-
     ration.  Just remember:

       1.   make a link in /usr/X11R6.3/bin: ln -s XF86_VGA16 X

       2.   set mouse device in your XF86Config to /dev/mouse (this the mouse
           in DGUX)

       3.   set the correct mouse protocol. (usually for a typical AViiON
           PS/2).

     Or just cd /usr/X11R6.3/lib/X11 and copy XF86Config.eg.dgux to XF86Con-
     fig (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).

     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.

     Hand made configuration: I have an DG/ux Medium resolution (1280x1024)
     17 inch DG-26059,DA1765VA.  ONLY IF YOU HAVE THE ***EXACT SAME*** MONI-
     TOR 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 DONT HAVE THE SAME MOTINOR AS MINE. YOU CAN DAMAGE YOUR VIDEO
     MONITOR OR YOUR GRAPHICS CARD.

     An examble 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.  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 DONT HAVE THE SAME MOTINOR AS MINE. YOU CAN DAMAGE YOUR
     VIDEO MONITOR.

     Start with the file XF86Config.eg as a prototype. READ the REAME.Config
     .  In Cirrus chips you need to read the file README.cirrus located in
     /usr/X11R6.3 There is a problem with the accelarated XAA code ,so you
     need to try to put the following option in your XF86Config:

            Option "no_mmio" (in Section Screen ,subsection display).

     Look in the XF86Config_SVGA_DGUX to see how this can be done .  If this
     doesnt 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 XF86Con-
     fig in the sections mouse, keyboard, screen ...  After you have a cor-
     rect XF86Config in /usr/X11R6.3/lib/X11 give

            chmod 444 XF86Config.

     Supposing that you have already  re-login so that the new .profile is
     active and you have the correct XF86Config file (as your XdgConfig sug-
     gest) (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 dont 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#
     )

            X -verbose >& info1  or even
            X -verbose -verbose >& info2 for more messages.

     Then when the server is up press CONTROL+ALT+BACKSPACE to shutdown the
     Xserver. File info1 (or info2) have all relevant info about your graph-
     ics 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.

     If you have an ATI Rage XX (or Rage Pro) use the server XF86_Mach64
     make a link link X--->XF86_MACH64, or run xf86config, or use XF86Setup
     above).

   o  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:

     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:

            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

     LIBRARIES:

            and cd /usr/opt/X11/lib
            cp libXm.a       /usr/X11R6.3/lib

     and similarly copy the following libraries:

            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

     into /usr/X11R6.3/lib.

     Then cd /usr/X11R6.3/lib and make links:

            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)

     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

            cd /usr/
            tar -cvf dglib-orig.tar dglib
            gzip dglib-orig.tar

     (to minimize the space dglib-backup takes) then

            cd /usr/dglib

     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.

     But remember to do in the end :

            cd /usr/dglib
            rm *.a (no static libs links in dglib)

     Then unmount (delete) the old X11 by giving "umount /usr/opt/X11".

     Or use the dglib-R6-mu5.tar.gz for a sample dglib.

     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 dont use the
     static libXm.a

     b:)

            cd /usr/include
            tar -cvf old-X11headers.tar X11
            gzip old-X11headers.tar

     so that you store your old headers in /usr/include.

     Then cd /usr/include/  and delete

                 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

7.  What is about:

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 ungly) 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.

The imake of DG/UX X11R5 is badly broken.

While until recently 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 cource because the ultimate target is to make XFree86
(3.3.6 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 examble the DG/UX kernel console driver sources).
Especially as other big companies in UNIX open their sources to the public
(eg Sun - Solaris 8).

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 techical questions. Also D.T.
is one of the people that offer valuable help.  Finally I want to express my
thanks to John H. for enlight me in some syscall issues.

     Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DGux.sgml,v 1.1.2.3 1999/08/03 09:41:42 hohndel Exp $


$XFree86: xc/programs/Xserver/hw/xfree86/doc/README.DGux,v 1.1.2.3 1999/08/17 13:28:09 hohndel Exp $
