*** xc/config/cf/DGUX.cf.ORIG Wed Feb 23 17:06:13 2000 --- xc/config/cf/DGUX.cf Wed Feb 23 17:09:43 2000 *************** *** 1,8 **** XCOMM platform: $XFree86: xc/config/cf/DGUX.cf,v 1.1.1.3.2.13 1999/08/17 07:39:16 hohndel Exp $ /* Copyright Takis Psarogiannakopoulos * This is the DG/ux configuration file of X11R6.3 ! * XFree86 Version 3.3.5 ix86 DG/ux Release 4.20 MU04 ! * July 17 1999 (Connections type changes) */ #ifndef OSName #define OSName DefaultOSName --- 1,8 ---- XCOMM platform: $XFree86: xc/config/cf/DGUX.cf,v 1.1.1.3.2.13 1999/08/17 07:39:16 hohndel Exp $ /* Copyright Takis Psarogiannakopoulos * This is the DG/ux configuration file of X11R6.3 ! * XFree86 Version 3.3.6 ix86 DG/UX Release 4.20 MU05 ! * Janualry 12 2000 (Connections type changes) */ #ifndef OSName #define OSName DefaultOSName *************** *** 19,25 **** /* Fallbacks */ #ifndef OSName ! #define OSName DG/ux R4.20MU04 #endif #ifndef OSMajorVersion #define OSMajorVersion 4 --- 19,25 ---- /* Fallbacks */ #ifndef OSName ! #define OSName DG/UX R4.20MU05 #endif #ifndef OSMajorVersion #define OSMajorVersion 4 *************** *** 28,46 **** #define OSMinorVersion 20 #endif #ifndef OSTeenyVersion ! #define OSTeenyVersion 4 #endif ! #ifndef OSVendor ! #define OSVendor Data General Corporation ! #endif XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion) #define i386Architecture #define BootstrapCFlags -DDGUX ! /* Some stuff that all SVR4s ,so and DG/ux, should have */ #define SystemV4 YES #ifndef HasLdRunPath --- 28,45 ---- #define OSMinorVersion 20 #endif #ifndef OSTeenyVersion ! #define OSTeenyVersion 5 #endif ! #undef OSVendor ! #define OSVendor EMC Corp./Data General division XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion) #define i386Architecture #define BootstrapCFlags -DDGUX ! /* Some stuff that all SVR4s ,so and DG/UX, should have */ #define SystemV4 YES #ifndef HasLdRunPath *************** *** 55,60 **** --- 54,63 ---- #endif #define Malloc0ReturnsNull YES /* in case -lmalloc used */ + #define MallocLibraries -L/usr/lib -lmalloc + + + /* * Here are the default paths to use tools for building. * Use links to make these tools visible as below, *************** *** 99,105 **** #endif ! /* Added for 3.3.5 */ #define HasMktemp YES #define HasPutenv YES --- 102,108 ---- #endif ! /* Added for 3.3.5 , 3.3.6 */ #define HasMktemp YES #define HasPutenv YES *************** *** 114,123 **** #define HasGcc2ForCplusplus YES #define HasCplusplus YES #define HasGnuMake YES /* Added for 3.2Xc */ - #define UseGnuMalloc YES - #define GnuMallocLibrary -L/usr/local/lib -lmalloc - #define Malloc0ReturnsNull YES /* Added for 3.2Xh,i... GNU does return 0 */ - #define Malloc0ReturnsNullDefines -DMALLOC_0_RETURNS_NULL /* define for GNU malloc X3.2i */ /*******TCL TK DEFINITIONS ***********/ #define HasTk YES /* Comment out if you dont have this */ #define TkLibDir /usr/X11R6.3/lib --- 117,122 ---- *************** *** 135,142 **** #define StandardDefines -DDGUX -DSVR4 -Di386 -D__ix86 -D_DGUX_SOURCE -D_LITTLE_ENDIAN -DPENTIUM_CHANGE #ifndef HasGcc2 ! #define HasGcc2 YES /* We suppose that your DG/ux has gcc-dg.2.8.1.3 */ ! #endif /* Do NOT use native DG/ux gcc, it is faulty in general */ #ifndef HasGcc #define HasGcc HasGcc2 #endif --- 134,141 ---- #define StandardDefines -DDGUX -DSVR4 -Di386 -D__ix86 -D_DGUX_SOURCE -D_LITTLE_ENDIAN -DPENTIUM_CHANGE #ifndef HasGcc2 ! #define HasGcc2 YES /* We suppose that your DG/ux has gcc-dg.2.95.2 rev DG18 */ ! #endif /* Do NOT use native DG/UX gcc, it is faulty in general */ #ifndef HasGcc #define HasGcc HasGcc2 #endif *** xc/programs/Xserver/hw/xfree86/common/xf86Events.c.ORIG Wed Feb 23 17:08:10 2000 --- xc/programs/Xserver/hw/xfree86/common/xf86Events.c Wed Feb 23 17:10:27 2000 *************** *** 657,662 **** --- 657,673 ---- specialkey = scanCode; #endif /* ASSUME_CUSTOM_KEYCODES */ + #if defined(DGUX) + if (ModifierDown(ControlMask | AltMask | ScrollLockMask)) + { + + if (specialkey == KEY_T) + { + GiveUp(0); + } + } + #endif + if ((ModifierDown(ControlMask | AltMask)) || (ModifierDown(ControlMask | AltLangMask))) { *** xc/programs/Xserver/hw/xfree86/doc/Imakefile.ORIG Wed Feb 23 17:07:08 2000 --- xc/programs/Xserver/hw/xfree86/doc/Imakefile Wed Feb 23 17:09:52 2000 *************** *** 39,45 **** OSREADME = /* README.Mach */ #endif #ifdef DguxArchitecture ! OSREADME = README.DGux #endif #ifdef LinuxArchitecture OSREADME = README.Linux --- 39,45 ---- OSREADME = /* README.Mach */ #endif #ifdef DguxArchitecture ! OSREADME = README.DGUX #endif #ifdef LinuxArchitecture OSREADME = README.Linux *** xc/programs/Xserver/hw/xfree86/doc/README.DGux.ORIG Wed Feb 23 17:07:26 2000 --- xc/programs/Xserver/hw/xfree86/doc/README.DGux Wed Feb 23 17:07:35 2000 *************** *** 1,694 **** - Instructions for Building XFree86 on an Intel Pentium Aviion machine with - DG/ux R4.20MU04 - - Takis Psarogiannakopoulos - - July 27, 1999 - - 1. Whats new - - July 27, 1999 - - 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 conntact DG for an upated - /usr/lib/tcpip.so in /usr/lib (patch for your MU04,5). - - DG/ux at the moment lacks the sysi86 syscall and the definition of SYSI86IOPL - (that is in 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/pro- - grams/Xserver/hw/xfree86/etc/scanpci.c xc/programs/Xserver/hw/xfree86/os-sup- - port/dgux/dgux_video.c and eliminate DG_NO_SYSI86 flag by changing - DG_NO_SYSI86 1-->0. - - July 25, 1999 - - 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 attension initially but was too bussy then to look at it - in detail... Perhaps I should have... - - We now use sockets intead of ioctls. But I 've fix and tested the STREAMS - also. - - David thanks for making me realize that this was indeed a problem in DG/ux. - - 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 - - gdb /usr/X11R6/bin/X location of core/core - gdb: where - - and send me what you see. (I suppose that the Xserver executable is in - /usr/X11R6.3/bin) - - 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 ver- - sion). 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. - - Default ProjectRoot in 3.3.5 is /usr/X11R6 (except if you set this specifi- - cally in DGUX.cf either as /usr/X11R6.3-- --my choice, or in whatever you - like). - - 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_ converstation about gcc compiler if you already run a - gcc-2.8.1 in your machine. - - 2. GENERAL: - - Get from ftp.xfree86.org the XFree 3.3.x source code: - - 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 - - Get also the contributed X software - - cd /pub/XFree86/3.3.5/source - X335contrib.tgz - - If you have the source tarballs of 3.3.3 go to /pub/XfFree86/3.3.5/bina- - ries/DGUX-ix86/SOURCE get the DGUX source patch - - 3.3.3-3.3.5-DGUX.diff.gz - X335contrib-DGUX.diff.gz (patch for the contrib software). - - to avoid downloading all the source code again. - - Sorry some DGUX changes they didnt 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... - - 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). - - Using a big filesytem (I use a virtual disk "xf86work" mounted on /xf86work - of size 1400000 blocks) copy the source as: - - 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 - - (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) - - And maybe the contributed software: - - cp X335contrib.tgz /xf86work - - (cp X335contrib-DGUX.diff.gz /xf86work). - - 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 doesnt have!? This program is in BuildX- - tools.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 filesys- - tem usr_local under /usr/local with size 200000 blocks. Then copy the BuildX- - tools file in /usr and give: - - gzip -d < BuildXtools.tar.gz | tar xvf - - - It will unfold in the new filesytem /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. - - What you need is like that: (vi .profile) - - 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 - - then exit and re-login so that your new modified .profile will take effect. - - Now do the following: - - 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) - - Usually giving -v,-V or --version will give you build info on all the tools - in /usr/local/bin (try it). - - **Look the discussion for gcc before you build (below)** - - Now untarr the source tree: In /xf86work (or whatever name you gave to the - big filesystem for the build) - - gzip -d < X335src-1.tar.gz | tar xvf - - gzip -d < X335src-2.tar.gz | tar xvf - - gzip -d < X335src-3.tar.gz | tar xvf - - - (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 - - gzip -d < 3.3.3-3.3.5-DGUX.diff.gz | patch -p0 -E). - - The directory xc in now present in your build filesystem. - - 3. Configuration for the build: - - 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 over- - writes 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: - - #if 0 - #define ProjectRoot /usr/X11R6.3 - #endif - - Eliminate the #if 0 , #endif. Then change this to whatever you prefer. (I - prefer the above for the precompiled binaries) - - The DG/ux malloc is crap and keeps bringing problems with some X software so - I dont use it. Instead there is a port of GNU malloc in /usr/local (it came - with the BuildXtools file). Dont try to build with the /lib/libmalloc.a of - DG/ux and then send me e-mails that some programs they dont work properly. - In my build I use tcl8.0 and tk8.0 since the xconfig of R4.20MU03 is report- - ing incorrect values for the monitors and XF86Setup need to be build in order - to manage to adjust the display. If you dont have this (or dont want this) - comment out the lines about tcl,tk, (in DGUX.cf) - - /*******TCL TK DEFINITIONS ***********/ - #define HasTk YES-->NO - ... - #define HasTcl YES-->NO - - Also 'GNU make' is required for the correct X11R6.3 build. (it is in Buildx- - tools file). If you decide yes to tcl,tk obtain the files - - tcl8.0.3.tar.gz - tk8.0.3.tar.gz (from some ftp) - - (or newer versions) and compile them before the building of X11R6.3 (Build - first tcl8.0.3 then tk8.0.3). - - 4. DISCUSSION ABOUT GCC - - 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 dont 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). - - 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: - - 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) - - 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) - - rm gcc - ln -s gcc-2 gcc - - /usr/bin/gcc -v should report the version that you have. To build succes- - fully this version of X11 gcc is a *MUST*. - - Dynamic loading Servers: Edit xc/config/cf/DGUX.cf and change the entry - - #ifndef BuildDynamicLoading #define BuildDynamicLoading NO --->YES. #endif - - Remeber when you build you will see lots of errors and the servers will NOT - build! This is because the dynamic linker doesnt know the locatios of the - newly created R6 libX's. So after the (seem faulty) building do a - - make DESTDIR=ProjectRoot/lib install - - (look below for install, ProjectRoot the location that you choose in the file - xc/config/cf/DGUX.cf above) - - So that all your new libXR6 libraries will go there. (do a cd Project- - Root/lib to make sure). - - Then go to your home dir and declare the path ProjectRoot/lib dir in you - LD_LIBRARY_PATH (your profile) as: - - LD_LIBRARY_PATH=ProjectRoot/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH - - Then relogin! - - Now just _rebuild_ A FULL XFree86-3.3.5 with the entry - - #define BuildDynamicLoading YES in your DGUX.cf. - - This time you will build _all_ XFree86-3.3.5 correctly. - - 5. BUILD - - In the usual X11R5 of DG (mwm) open an xterm and give: (/bin/sh = Bourne - shell) - - cd xc - make World > Build-dg.log - - In that way you will get all the error meggages in your screen. Dont worry - with messages about -znodefs. - - Note: the old command - - make World BOOTSTRAPCFLAGS="-DDGUX" > Build-dg.log - - 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. - - And in another xterm give cd xc tail -f Build-dg.log to watch the building - progress. - - To install X11R6.3 XFree 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 - - make install - make install.man (install the man pages) - - 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 instal- - lation 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. Ajust first - the mouse device then everything else. (You need to read really the file - README-DGUX.INSTALL-> look in the end of this file). - - To build the contributed software with XFree86-3.3.5 get the X335contrib.tgz - and do - - gzip -d < X335contrib.tgz | tar xvf - - - (Or for 3.3.3 sources unpack X333contrib.tgz and apply the DGUX patch as - - gzip -d < X335contrib-DGUX.diff.gz | patch -p0 -E ). - - 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 Xwindow system. After that you could do: - - cd contrib - xmkmf -a - make - make install - make install.man (for installing the man pages) - - 6. INSTALLATION OF THE BINARY: - - 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.5 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: - - 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 - - (Try compile the GNU textutils-1.22.tar.gz from prep.ai.mit.edu - /pub/gnu. md5sum is there). - - You need at least: - - X335bin.tgz - X335lib.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. 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. - - 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 II (or RageII+) 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". - - 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: 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... - - 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 cource 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 examble the DG/ux kernel console driver sources). - - 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 $ --- 0 ---- *** xc/programs/Xserver/hw/xfree86/etc/scanpci.c.ORIG Wed Feb 23 17:06:54 2000 --- xc/programs/Xserver/hw/xfree86/etc/scanpci.c Wed Feb 23 17:10:18 2000 *************** *** 996,1002 **** { 0x0001, "PT86C52x Vesuvius", NF }, { 0x0000, (char *)NULL, NF } } }, { 0x1069, "Mylex", { ! { 0x0010, "AccelRAID 250", NF }, { 0x0000, (char *)NULL, NF } } }, { 0x106B, "Apple", { { 0x0001, "Bandit", NF }, --- 996,1002 ---- { 0x0001, "PT86C52x Vesuvius", NF }, { 0x0000, (char *)NULL, NF } } }, { 0x1069, "Mylex", { ! { 0x0010, "RAID Controller", NF }, { 0x0000, (char *)NULL, NF } } }, { 0x106B, "Apple", { { 0x0001, "Bandit", NF }, *************** *** 1375,1381 **** #endif #if defined(DGUX) ! printf("Scanpci for Intel ix86 DG/ux R4.20MU04...MUxx\n\n"); #endif enable_os_io(); --- 1375,1381 ---- #endif #if defined(DGUX) ! printf("Scanpci for Intel DG/UX Release 4.20MU05...MUxx\n\n"); #endif enable_os_io(); *** xc/programs/Xserver/hw/xfree86/os-support/dgux/dgux_tty.c.ORIG Wed Feb 23 17:06:38 2000 --- xc/programs/Xserver/hw/xfree86/os-support/dgux/dgux_tty.c Wed Feb 23 17:10:06 2000 *************** *** 18,24 **** * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * */ ! /* BSD (POSIX) Flavor tty for ix86 DG/ux R4.20MU03 */ #define NEED_EVENTS #include "X.h" --- 18,24 ---- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * */ ! /* BSD (POSIX) Flavor tty for ix86 DG/ux R4.20MU04 */ #define NEED_EVENTS #include "X.h" *************** *** 161,171 **** } } ! /* ADDED FOR X 3.3.2.3 */ int xf86FlushInput(fd) int fd; { ! return tcflush(fd, TCIFLUSH); } --- 161,189 ---- } } ! /* ADDED FOR X 3.3.5 */ int xf86FlushInput(fd) int fd; { ! fd_set fds; ! struct timeval timeout; ! char c[4]; ! ! if (tcflush(fd, TCIFLUSH) == 0) ! return 0; ! ! timeout.tv_sec = 0; ! timeout.tv_usec = 0; ! FD_ZERO(&fds); ! FD_SET(fd, &fds); ! while (select(FD_SETSIZE, &fds, NULL, NULL, &timeout) > 0) ! { ! read(fd, &c, sizeof(c)); ! FD_ZERO(&fds); ! FD_SET(fd, &fds); ! } ! return 0; } + *** /dev/null Wed Feb 23 15:00:02 2000 --- xc/programs/Xserver/hw/xfree86/doc/README.DGUX Wed Feb 23 17:09:33 2000 *************** *** 0 **** --- 1,680 ---- + Instructions for Building XFree86 on an Intel Pentium Aviion machine with + DG/UX R4.20MU05 + + Takis Psarogiannakopoulos + + February 20, 2000 + + 1. Whats new + + From 3.3.5 and below: + + July 27, 1999 + + 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 DG/UX 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 upated + /usr/lib/tcpip.so in /usr/lib (patch for your MU04,5). + + DG/UX at the moment lacks the sysi86 syscall and the definition of SYSI86IOPL + (that is in 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/pro- + grams/Xserver/hw/xfree86/etc/scanpci.c xc/programs/Xserver/hw/xfree86/os-sup- + port/dgux/dgux_video.c and eliminate DG_NO_SYSI86 flag by changing + DG_NO_SYSI86 1-->0. + + July 25, 1999 + + 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 attension initially but was too bussy then to look at it + in detail... Perhaps I should have... + + We now use sockets intead of ioctls. But I 've fix and tested the STREAMS + also. + + David thanks for making me realize that this was indeed a problem in DG/UX. + + I 've also take the trouble to port gdb-4.18 and ddd (X inter) in + pub/XFree86/3.3.6/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 + + gdb /usr/X11R6/bin/X location of core/core + gdb: where + + and send me what you see. (I suppose that the Xserver executable is in + /usr/X11R6.3/bin) + + 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 ver- + sion). 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. + + Default ProjectRoot in 3.3.6 is /usr/X11R6 (except if you set this specifi- + cally in DGUX.cf either as /usr/X11R6.3-- --my choice, or in whatever you + like). + + 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_ converstation about gcc compiler if you already run a + gcc-2.8.1 in your machine. + + Febraury 2000: + We will soon make available a port of latest GCC-2.95.2 to ix86 DG/UX. + With that compiler we have build 3.3.6. Also DG/UX native GCC-2.7.2.9 + seems OK. + + 2. GENERAL: + + Get from ftp.xfree86.org the XFree 3.3.6 source code: + + ftp ftp.xfree86.org + login: ftp + passwd: your e-mail address + cd pub/XFree86/3.3.6/source + You need the files: + X336src-1.tgz + X336src-2.tgz + X336src-3.tgz + + Get also the contributed X software + + cd /pub/XFree86/3.3.6/source + X336contrib.tgz + + When you got the source tarballs of 3.3.6 go to /pub/XFree86/3.3.6/bina- + ries/DGUX-ix86/SOURCE and get also the small DG/UX source patch + + 3.3.6-3.3.6-DGUX.diff.gz + X336contrib-DGUX.diff.gz (patch for the contrib software). + + + 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.6/binaries/DGUX- + ix86/SOURCE/BUILD-TOOLS/ BuildXtools.tar.gz). + + Using a big filesytem (I use a virtual disk "xf86work" mounted on /xf86work + of size 1400000 blocks) copy the source as: + + cp X336src-1.tgz /xf86work/X336src-1.tar.gz + cp X336src-2.tgz /xf86work/X336src-2.tar.gz + cp X336src-3.tgz /xf86work/X336src-3.tar.gz + + And maybe the contributed software: + + cp X336contrib.tgz /xf86work + + (cp X336contrib-DGUX.diff.gz /xf86work). + + If you get the patches from DGUX-ix86, to build from source 3.3.6 your first + problem is that in order to apply the source patch you need "patch" a very + common GNU program that DG/UX doesnt have!? This program is in BuildX- + tools.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 filesys- + tem usr_local under /usr/local with size 200000 blocks. Then copy the BuildX- + tools file in /usr and give: + + gzip -d < BuildXtools.tar.gz | tar xvf - + + It will unfold in the new filesytem /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. + + What you need is like that: (vi .profile) + + 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 + + then exit and re-login so that your new modified .profile will take effect. + + Now do the following: + + 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.78.1 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) + + Usually giving -v,-V or --version will give you build info on all the tools + in /usr/local/bin (try it). + + **Look the discussion for gcc before you build (below)** + + Now untarr the source tree: In /xf86work (or whatever name you gave to the + big filesystem for the build) + + gzip -d < X336src-1.tar.gz | tar xvf - + gzip -d < X336src-2.tar.gz | tar xvf - + gzip -d < X336src-3.tar.gz | tar xvf - + + + gzip -d < 3.3.6-3.3.6-DGUX.diff.gz | patch -p0 -E. + + The directory xc in now present in your build filesystem. + + 3. Configuration for the build: + + 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 over- + writes site.def. The default ProjectRoot for XFree86-3.3.6 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: + + #if 0 + #define ProjectRoot /usr/X11R6.3 + #endif + + Eliminate the #if 0 , #endif. Then change this to whatever you prefer. (I + prefer the above for the precompiled binaries) + + In my build I use tcl8.0 and tk8.0 since the xconfig of R4.20MU05 is report- + ing incorrect values for the monitors and XF86Setup need to be build in order + to manage to adjust the display. If you dont have this (or dont want this) + comment out the lines about tcl,tk, (in DGUX.cf) + + /*******TCL TK DEFINITIONS ***********/ + #define HasTk YES-->NO + ... + #define HasTcl YES-->NO + + Also 'GNU make' is required for the correct X11R6.3 build. (it is in Buildx- + tools file). If you decide yes to tcl,tk obtain the files + + tcl8.0.3.tar.gz + tk8.0.3.tar.gz (from some ftp) + + (or newer versions) and compile them before the building of X11R6.3 (Build + first tcl8.0.3 then tk8.0.3). + + 4. DISCUSSION ABOUT GCC + + Use GCC-2.7.2.9 as is coming with R4.20MU04/MU05. + Fo for any reason it doesnt work for you then use GCC-2.8.1 or even the latest + GNU GCC-2.95.2 (port to DG/UX available from ftp.xfree86.org, DG/UX dir) + + To install this new gcc do the following: Collect all gcc files from + from the standard /usr/local to a single dir, say gcc-dgux. + + 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) + + 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) + + rm gcc + ln -s gcc-2 gcc + + /usr/bin/gcc -v should report the version that you have. To build succes- + fully this version of X11 gcc is a *MUST*. + + Dynamic loading Servers: Edit xc/config/cf/DGUX.cf and change the entry + + #ifndef BuildDynamicLoading #define BuildDynamicLoading NO --->YES. #endif + + Remeber when you build you will see lots of errors and the servers will NOT + build! This is because the dynamic linker doesnt know the locatios of the + newly created R6 libX's. So after the (seem faulty) building do a + + make DESTDIR=ProjectRoot/lib install + + (look below for install, ProjectRoot the location that you choose in the file + xc/config/cf/DGUX.cf above) + + So that all your new libXR6 libraries will go there. (do a cd Project- + Root/lib to make sure). + + Then go to your home dir and declare the path ProjectRoot/lib dir in you + LD_LIBRARY_PATH (your profile) as: + + LD_LIBRARY_PATH=ProjectRoot/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH + + Then relogin! + + Now just _rebuild_ A FULL XFree86-3.3.6 with the entry + + #define BuildDynamicLoading YES in your DGUX.cf. + + This time you will build _all_ XFree86-3.3.6 correctly. + + 5. BUILD + + In the usual X11R5 of DG (mwm) open an xterm and give: (/bin/sh = Bourne + shell) + + cd xc + make World > Build-dg.log + + In that way you will get all the error meggages in your screen. Dont worry + with messages about -znodefs. + + Note: the old command + + make World BOOTSTRAPCFLAGS="-DDGUX" > Build-dg.log + + 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. + + And in another xterm give cd xc tail -f Build-dg.log to watch the building + progress. + + To install X11R6.3 XFree version 3.3.6 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 + + make install + make install.man (install the man pages) + + 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- + X336.DGUX in this ftp site (located in the binaries) about the whole instal- + lation 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. Ajust first + the mouse device then everything else. (You need to read really the file + README-DGUX.INSTALL-> look in the end of this file). + + To build the contributed software with XFree86-3.3.6 get the X336contrib.tgz + and do + + gzip -d < X336contrib.tgz | tar xvf - + + (Or for 3.3.3 sources unpack X333contrib.tgz and apply the DGUX patch as + + gzip -d < X336contrib-DGUX.diff.gz | patch -p0 -E ). + + 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 Xwindow system. After that you could do: + + cd contrib + xmkmf -a + make + make install + make install.man (for installing the man pages) + + 6. INSTALLATION OF THE BINARY: + + 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 $