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 $