Xref: news1.cis.umn.edu comp.sys.sgi.misc:3358 comp.sys.sgi.admin:2226 comp.sys.sgi.apps:1081 comp.sys.sgi.bugs:1129 comp.sys.sgi.graphics:1615 comp.sys.sgi.hardware:1801 comp.answers:1302 news.answers:10321 Path: news1.cis.umn.edu!umn.edu!news-feed-1.peachnet.edu!darwin.sura.net!math.ohio-state.edu!usc!elroy.jpl.nasa.gov!ames!sgi!fido.asd.sgi.com!holodeck.csd.sgi.com!aschaffe From: aschaffe@holodeck.csd.sgi.com (Allan Schaffer) Newsgroups: comp.sys.sgi.misc,comp.sys.sgi.admin,comp.sys.sgi.apps,comp.sys.sgi.bugs,comp.sys.sgi.graphics,comp.sys.sgi.hardware,comp.answers,news.answers Subject: SGI apps Frequently Asked Questions (FAQ) Supersedes: Followup-To: comp.sys.sgi.misc Date: 15 Jul 1993 07:00:58 GMT Organization: Silicon Graphics, Inc., Mountain View, CA Lines: 525 Approved: news-answers-request@MIT.Edu Expires: 13 Aug 1993 07:01:01 GMT Message-ID: References: Reply-To: sgi-faq@archone.tamu.edu NNTP-Posting-Host: holodeck.csd.sgi.com Originator: aschaffe@holodeck.csd.sgi.com Archive-name: sgi/faq/apps SGI apps Frequently Asked Questions (FAQ) This information is freely distributable and wide circulation is encouraged. The contents are accurate as far as we know, but the usual disclaimers apply. This FAQ contains errors! Finding them is an exercise for alert readers. Please send additions and changes to sgi-faq@archone.tamu.edu. This FAQ is one of the SGI FAQ series, which consists of: SGI Admin FAQ - IRIX System Administration SGI Apps FAQ - Applications & Compilers SGI Graphics FAQ - Graphics & Windowing SGI Hardware FAQ - Hardware issues SGI Misc FAQ - Introduction & Miscellaneous Information Each FAQ is posted to each comp.sys.sgi.* group as well as the news.answers and comp.answers newsgroups (whose purpose is to store FAQs) every two weeks. If you can't find one of the FAQs with your news program, you can get it by anonymous FTP from one of these sites: rtfm.mit.edu:pub/usenet/news.answers/sgi/faq/apps rtfm.mit.edu:pub/usenet/comp.sys.sgi.misc/SGI_apps_Frequently_Asked_Questions archone.tamu.edu:ftp/pub/sgi/faq/apps rtfm.mit.edu:pub/usenet/comp.answers/sgi/faq/apps Note that rtfm.mit.edu is home to many other FAQs and informational documents, and is a good place to look if you can't find an answer here. Topics covered in this FAQ: -------------------------- -1- How can I quickly find the question I want in this FAQ? ! -2- What's a good graphic text editor for SGIs? -3- What about Explorer? ! -4- How can I make the 'install' program work like BSD 'install'? + -5- How can I convert ASCII to PostScript? ! -6- How can I preview PostScript? -7- How can I edit PostScript files? -8- How can I format unformatted manpages? ! -9- Why can't I compile application X? ! -10- Why does GNU Emacs not compile, or compile but not run? -11- Why doesn't Xarchie 1.3 work? + -12- What are the correct versions of the Irix Development Option (IDO) for current versions of IRIX? ! -13- What do I need to do to build gcc/g++? -14- Can I use dynamic shared libraries in IRIX? -15- How can I make Fortran load entirely from a library? -16- How can I make my 4.0.x Fortran program read binary data files written by a 3.3.x Fortran program? -17- Credits ---------------------------------------------------------------------- ~Subject: -1- How can I quickly find the question I want in this FAQ? ~Date: 27 May 93 00:00:01 EST - This FAQ follows the RFC1153 recommendations for message digests and thus can be viewed easily with newsreaders that understand message digests. - Each question has a Subject: line, so you can easily step through the answers with rn's ^G command. - Each question is marked with a "dash number dash" so that you can find any answer with a simple search pattern. - Questions marked with a '+' are new this posting; those marked with a '!' have significant new content since the last edition. ------------------------------ ~Subject: ! -2- What's a good graphic text editor for SGIs? ~Date: 13 Jun 93 00:00:01 EST The most popular graphic text editors on SGIs include: zip (by Tom Davis of SGI) is something like jot but is orders of magnitude faster and laden with nifty features. It doesn't run well remotely or at all on X-terminals, text terminals or non-SGI machines, but if most of your editing will be at an SGI console, read no further! FTP to ftp.sgi.com and look in /graphics/zip. GNU Emacs, a perennial favorite, isn't just an editor; it's a way of life. It has a X-windows mode and works on X-windows terminals as well as SGI consoles and text terminals. Its X-windows support, once rather lackluster, has improved in the recently released version 19. It may be FTPed from any GNU archive. Epoch is a derivative of GNU Emacs 18 with better X-windows support. It may be found at cs.uiuc.edu in /pub/epoch-files/epoch. Lucid Emacs is a derivative of GNU Emacs 19 with better X-windows support (than GNU Emacs 18). It may be found at labrea.stanford.edu in /pub/gnu/lucid. Finally, the comp.windows.x FAQ (found at rtfm.mit.edu in /pub/usenet/comp.windows.x) lists many more editors which run under X-windows, both free and commercial. ------------------------------ ~Subject: -3- What about Explorer? ~Date: 07 May 93 00:00:01 EST The IRIS Explorer data visualization system has its own newsgroup, comp.graphics.explorer. There is an FAQ, which can be found, along with many other Explorer goodies, at swedishchef.lerc.nasa.gov in the explorer directory. ------------------------------ ~Subject: ! -4- How can I make the 'install' program work like BSD 'install'? ~Date: 16 Jun 93 00:00:01 EST The BSD and System V versions of the 'install' command are incompatible; the BSD version is most often used by Makefiles. IRIX provides both the System V version (/etc/install) and the BSD version (/usr/bin/X11/bsdinst.sh). SGI's 'imake' defines INSTALL as /usr/bin/X11/bsdinst.sh, and the Install* rules use that definition, so Imakefile-generated Makefiles will use the BSD version. Michael Joosten points out that you can also use GNU install (available from any GNU archive), which emulates the BSD version. Unlike /usr/bin/X11/bsdinst.sh, it has a manpage. ------------------------------ ~Subject: + -5- How can I convert ASCII to PostScript? ~Date: 13 Jun 93 00:00:01 EST - IRIX 4.0.x includes 'lptops', which because it's called indirectly from 'lp', isn't as well known as it ought to be. Read the 'lptops' and 'gpsinterface' manpages. - Adobe Transcript, which includes 'enscript' (something like 'lptops') and 'psroff' (nroff/troff-to-PostScript) is available at extra cost from SGI. Most people manage without it. - Popular free converters include 'a2ps' (at imag.fr in /pub/archives/postscript), 'lwf' (in volume 15 of comp.sources.unix) and 'psf' (in volume 35 of comp.sources.misc). The comp.lang.postscript FAQ (at rtfm.mit.edu in /pub/usenet/comp.lang.postscript) has a much longer list of such programs, unfortunately no longer including reviews or FTP sites. ------------------------------ ~Subject: ! -6- How can I preview PostScript? ~Date: 07 May 93 00:00:01 EST Display Postscript (DPS), which includes the 'xpsview' PostScript previewer, is an extra-cost option from SGI. Happily, Robert Keller of SGI has made available GNU's GhostScript previewer, compiled *and* in SGI 'inst' installable form. FTP it from ftp.sgi.com in /sgi/ghost. ------------------------------ ~Subject: -7- How can I edit PostScript files? ~Date: 07 May 93 00:00:01 EST Ivan Bach collected some testimonials from a number of SGIers: - Adobe Illustrator and Corel Draw can edit PS files of type AI (a simplified version of PS that facilitates editing). - If you have DPS extensions on your server and a DPS compile time environment you can do this quite well with xfig. Check out the version on crocus.medicine.rochester.edu. - The InterViews tool `idraw' allows manipulation of EPS (Encapsulated PostScript) files, and has a `mac-type' interface. - Island Draw 3.0 has an option to import Postscript, and it seems to accept arbitrary Postscript. I have fed it single page Postcript files from Illustrator, Corel, Ventura, Designer, Eroff, and hand-coded files, and it made Island Draw objects out of them. The file initially opens as one grouped object, but if you ungroup, you get editible objects. I was quite impressed. I don't doubt there are ways to fool the interpreter, but it works for output from drawing and publishing packages, which is what I need it for. ------------------------------ ~Subject: -8- How can I format unformatted manpages? ~Date: 07 May 93 00:00:01 EST SGI provides manpages in formatted form, and does not therefore need to provide us all with the formatting software. Most FTPable software, however, comes with unformatted manpages. Manpages are most often formatted with Documenter's Workbench (DWB), which SGI has had to license separately from USL and we have to buy separately from SGI. SGI's DWB is based on version 2.1; the current version from USL is 3.3. Public domain alternatives to DWB include 'groff' and 'awf': 'groff' is by the Free Software Foundation and can be had from any GNU archive. Compilers beware: it must be compiled with g++ (or another C++ compiler?). However, there are compiled binaries on cb-iris.stanford.edu. David Hinds gives this advice for installing groff so that it can format manpages on the fly: Create a script called 'eqn': > #!/bin/sh > if [ ${1:-""} = /usr/pub/eqnchar ] ; then shift ; fi > geqn $* and a script called 'neqn': > #!/bin/sh > if [ ${1:-""} = /usr/pub/eqnchar ] ; then shift ; fi > geqn -Tascii $* and do: > ln -s gnroff nroff and edit the end of the gnroff script to be: > rest=`echo ${1+"$@"} | sed -e 's+/usr/lib/tmac+/usr/local/lib/groff/tmac+'` > exec groff -Wall -mtty-char $T $opts $rest To get PostScript output from 'man -t', you also need to create a 'psroff' script similar to 'nroff'. Here are the context diffs: *** /usr/local/bin/nroff Sat Feb 13 15:51:09 1993 --- /usr/local/bin/psroff Sat Feb 13 17:45:46 1993 *************** *** 1,8 **** #!/bin/sh ! # Emulate nroff with groff. prog="$0" ! T=-Tascii opts= for i --- 1,8 ---- #!/bin/sh ! # Emulate psroff with groff. prog="$0" ! T=-Tps opts= for i *************** *** 25,30 **** --- 25,33 ---- -Tascii|-Tlatin1) T=$1 ;; + -t) + # ignore -- default is send to stdout + ;; -T*) # ignore other devices ;; *************** *** 49,53 **** rest=`echo ${1+"$@"} | sed -e 's+/usr/lib/tmac+/usr/local/lib/groff/tmac+'` # This shell script is intended for use with man, so warnings are # probably not wanted. Also load nroff-style character definitions. ! exec groff -Wall -mtty-char $T $opts $rest --- 52,56 ---- rest=`echo ${1+"$@"} | sed -e 's+/usr/lib/tmac+/usr/local/lib/groff/tmac+'` # This shell script is intended for use with man, so warnings are ! # probably not wanted. ! exec groff -Wall $T $opts $rest The binaries on cb-iris.stanford.edu have these changes already made. Henry Spencer's awf ("Amazingly Workable Formatter") is written in 'awk', which we all have, and does a pretty good job, considering. It can be FTPed from fresnel.stanford.edu in /pub/4D. ------------------------------ ~Subject: ! -9- Why can't I compile application X? ~Date: 13 Jun 93 00:00:01 EST Plenty of reasons, but here are some of the most common: - SGI's C compiler is ANSI C by default in IRIX 4.0.x. Use the '-cckr' option to compile K&R C. You can do this most easily by setting the environment variable SGI_CC to "-cckr" or by editing the application's Makefile, often by adding "-cckr" to the CFLAGS variable. - A related problem is that Makefiles generated by 'imake' most often use 'cc -cckr -prototypes'; missing or incorrect prototypes usually just generate pages of warnings but may cause an unrecoverable error. This can often be worked around by removing "-prototypes" from the line where it appears in the Makefile (not the Imakefile). - If you run NIS (aka Yellow Pages), programs which access files served by NIS need to be linked with -lsun. The functions in libc.a which deal with these files are not NIS-aware; the NIS versions are in libsun.a. Using libsun.a usually means adding '-lsun' to the variable LIBS or LDFLAGS in one's Makefile. ------------------------------ ~Subject: ! -10- Why does GNU Emacs not compile, or compile but not run? ~Date: 14 Jun 93 00:00:01 EST Emacs 18.59 is the last release of Emacs version 18, and builds and runs correctly under IRIX 4.0.x. Some earlier versions failed to compile (because cc now needs -cckr for K&R C compatibility) or failed to run when stripped (because of object file format changes). For the same reasion, the file unexmips.c in some versions of Epoch and Lucid Emacs should be replaced with the same-named file from the GNU Emacs 18.59 distribution. Emacs 19.13 is the most recent release of Emacs version 19. The following patch, from Thomas Eberhardt , fixes a problem with setpgrp wihich breaks subprocess calling: ---- cut here ---------- cut here ---------- cut here ---------- cut here ---- *** callproc.c- Tue May 25 08:38:06 1993 --- callproc.c Tue Jun 8 21:40:50 1993 *************** *** 520,526 **** --- 520,528 ---- close (err); #ifdef USG + #ifndef IRIX /* This would kill the controlling tty set up in create_process */ setpgrp (); /* No arguments but equivalent in this case */ + #endif #else setpgrp (pid, pid); #endif /* USG */ ---- cut here ---------- cut here ---------- cut here ---------- cut here ---- Karsten Kuenne has patched Emacs 18.59 to work with IRIX 5.0's new object file format. The patches are at ftp.desy.de in /pub/gnu/emacs/emacs-irix5.0-patches. Emacs version 19 is not yet known to work under IRIX 5.0. ------------------------------ ~Subject: -11- Why doesn't Xarchie 1.3 work? ~Date: 07 May 93 00:00:01 EST The app-defaults file supplied with Xarchie 1.3 used fonts which did not exist on some versions of IRIX, resulting in invisible text and sometimes program lockups. You can either replace the "fixed" and "fixed*bold" fonts with "screen13" and "screen-bold13" everywhere they appear in the Xarchie.ad file, or better yet upgrade to Xarchie 2.0, in which this problem has been fixed. The current version of Xarchie can be found on export.lcs.mit.edu in the contrib directory. ------------------------------ ~Subject: + -12- What are the correct versions of the Irix Development Option (IDO) for current versions of IRIX? ~Date: 13 Jun 93 00:00:01 EST IDO 4.1.1, which includes the 3.10.1 back-end, is the most recent version of IDO suitable for IRIX 4.0.5x. Earlier versions compatible with IRIX 4.0.5x include IDO 4.0.1, which includes the 2.40 back-end, and IDO 4.1, which includes the 3.10 back-end. IRIX 5.0 requires IDO 5.0. ------------------------------ ~Subject: ! -13- What do I need to do to build gcc/g++? ~Date: 16 Jun 93 00:00:01 EST Before you start, remember that you need the headers and runtime libraries from SGI's extra-cost development option both to compile and use gcc. (glibc does not yet work on SGIs.) Of course if you buy the development option you'll get SGI's compiler anyway; this is comp.sys.sgi.*'s most popular Catch-22. Don't forget to install the dev.cmplrs_hdr.internal subsystem, which contains needed headers and is not installed by default. You'll also need some way to read the manpages (see above) and up to 80Mb of free disk space. You can manage with as little as 50Mb by compiling without "-g", stripping binaries and pruning after each build stage. First, FTP, unzip and untar gcc-2.4.x.tar.gz and libg++-2.3.x.tar.gz from aeneas.mit.edu in /pub/gnu. (You'll need 'gunzip', described in the README in the same directory.) The current versions at this writing are gcc 2.4.3.1 (!) and libg++ 2.3.1. If you're starting over from a failed build, do 'make distclean' to get rid of previous botches. Read the INSTALL document and follow the directions. Michael Joosten provides these specifics for gcc-2.4.3: Run 'configure mips-sgi-irix4loser' instead of mips-sgi-irix4, that allegedly fixes some bugs with the assembler's instruction reordering (see the INSTALL file for some more details). You can use mips-sgi-irix4 if you already have the GNU assambler, 'gas'. Start with [g]make LANGUAGES=c for the first run. Since 2.4.0, fixincludes is run automatically now. Then '[g]make stage1', [g]make CC="stage1/xgcc -Bstage1/" CFLAGS=-O LANGUAGES="c c++ proto" and repeat that for stage2. Some hours later 8-) you can run '[g]make compare' to check if the objects of stage2 and the last make doesn't differ. Finally, you can install it all with [g]make install'. READ the INSTALL file if you are unsure: IRIX is mentioned with other MIPS machines near the end! Now to libg++-2.3.1. Run 'configure mips-sgi-irix4 [-srcdir=] [-prefix=]'. To build it without debugging symbols, enter '[g]make CFLAGS=-O CC=gcc CXXFLAGS=-O LDFLAGS='. If you haven't installed gcc yet, you must give a 'CXX=....', too. This should take 30-45 minutes. If you are still brave, you can then make all tests, but be warned! This will make every subdirectory of libg++/etc, too, and it takes lots of space: without debugging I needed ca 20MB! Furthermore you need two patches for libg++-2.3.1, that fixes problems in libg++/etc/trie-gen: ===8<=== snip ===8<=== *** Makefile.in- Wed Jun 16 13:46:41 1993 --- Makefile.in Wed Jun 16 13:46:57 1993 *************** *** 101,111 **** out.cc: trie-gen @echo "Generating a compacted minimal-prefix trie for files in /bin" ! /bin/ls -1 /bin | ./trie-gen -c > out.cc check: out.o test.o $(CXX) out.o test.o $(LIBS) ! /bin/ls -1 /bin | ./a.out -v run_tests: check --- 101,111 ---- out.cc: trie-gen @echo "Generating a compacted minimal-prefix trie for files in /bin" ! /bin/ls /bin | ./trie-gen -c > out.cc check: out.o test.o $(CXX) out.o test.o $(LIBS) ! /bin/ls /bin | ./a.out -v run_tests: check *** compact.cc- Wed Jun 16 14:00:39 1993 --- compact.cc Wed Jun 16 14:01:02 1993 *************** *** 332,338 **** ; printf ("\n};\n\nstatic const %s yy_next[%d] = \n{\n ", ! max_number < MAX_SIGNED_CHAR ? "char" : max_number < MAX_SIGNED_SHORT ? "short" : "int", compressed_len + 1); for (i = 0; i <= compressed_len; ) --- 332,338 ---- ; printf ("\n};\n\nstatic const %s yy_next[%d] = \n{\n ", ! max_number < MAX_SIGNED_CHAR ? "signed char" : max_number < MAX_SIGNED_SHORT ? "short" : "int", compressed_len + 1); for (i = 0; i <= compressed_len; ) ===8<=== snip ===8<=== Note that gcc 2.4.x, unlike gcc 2.3.x, can be compiled with optimization, and has a 'fixincludes' which works properly. All of the above applies to IRIX 4.0.x; gcc is not known to deal with 5.x. ------------------------------ ~Subject: -14- Can I use dynamic shared libraries in IRIX? ~Date: 07 May 93 00:00:01 EST IRIX 5.0 supports SVR4-style dynamic shared libraries. IRIX 4.0.x does not, but Jack Jansen has written a package to do it anyway. Get the file /pub/dl-1.3.tar.Z from ftp.cwi.nl by anonymous FTP. ------------------------------ ~Subject: -15- How can I make Fortran load entirely from a library? ~Date: 07 May 93 00:00:01 EST Bron Nelson writes: > Is there any way to tell f77 to load entirely from a library? When using ld > for C, it is possible to use -u symname to force the loader to start its > work. This makes it possible to load entirely from a library. The same trick works for Fortran, but (like all things Fortranish) you have to do a little dance to make things work out. The trouble is that the Fortran compiler has an "-u" option, so you have to arrange to pass the "-u symname" option directly to the loader, by-passing the Fortran front end. Try adding the incantation "-Wl,-u,MAIN__" to the link line. e.g.: f77 -Wl,-u,MAIN__ -o myprog myprog.a The "-W" option is described in the man page. ------------------------------ ~Subject: -16- How can I make my 4.0.x Fortran program read binary data files written by a 3.3.x Fortran program? ~Date: 07 May 93 00:00:01 EST You must compile your program with the -old_rl flag (described in the f77 manpage) _and_ open the file with the option "form='unformatted'", for example: open(1, file='filename', access='direct', recl=1, form='unformatted') ------------------------------ ~Subject: -17- Credits ~Date: 6 May 93 00:00:01 EST The comp.sys.sgi FAQs are the collective effort of Dale Chayes dale@ldeo.columbia.edu Steve Rikli steve@archone.tamu.edu Allan Schaffer aschaffe@sgi.com Dave Schweisguth dcs@neutron.chem.yale.edu Special thanks are due to Tom Davis Author of 'zip' Harry Mangalam Maintainer of the comp.sys.sgi.* WAIS database Finally, much thanks to all of the SGI employees on Usenet, all of whom have provided gigabytes of help and information. Credits for individual contributions are given in the answers. ------------------------------ -- Allan Schaffer aschaffe@sgi.com -- Allan Schaffer aschaffe@sgi.com Xref: news1.cis.umn.edu comp.sys.sgi.misc:3357 comp.sys.sgi.admin:2225 comp.sys.sgi.apps:1080 comp.sys.sgi.bugs:1128 comp.sys.sgi.graphics:1614 comp.sys.sgi.hardware:1800 comp.answers:1301 news.answers:10320 Path: news1.cis.umn.edu!umn.edu!news-feed-1.peachnet.edu!darwin.sura.net!howland.reston.ans.net!agate!ames!sgi!fido.asd.sgi.com!holodeck.csd.sgi.com!aschaffe From: aschaffe@holodeck.csd.sgi.com (Allan Schaffer) Newsgroups: comp.sys.sgi.misc,comp.sys.sgi.admin,comp.sys.sgi.apps,comp.sys.sgi.bugs,comp.sys.sgi.graphics,comp.sys.sgi.hardware,comp.answers,news.answers Subject: SGI graphics Frequently Asked Questions (FAQ) Supersedes: Followup-To: comp.sys.sgi.misc Date: 15 Jul 1993 07:00:55 GMT Organization: Silicon Graphics, Inc., Mountain View, CA Lines: 1503 Approved: news-answers-request@MIT.Edu Expires: 13 Aug 1993 07:01:01 GMT Message-ID: References: Reply-To: sgi-faq@archone.tamu.edu NNTP-Posting-Host: holodeck.csd.sgi.com Originator: aschaffe@holodeck.csd.sgi.com Archive-name: sgi/faq/graphics SGI graphics Frequently Asked Questions (FAQ) This information is freely distributable and wide circulation is encouraged. The contents are accurate as far as we know, but the usual disclaimers apply. This FAQ contains errors! Finding them is an exercise for alert readers. Please send additions and changes to sgi-faq@archone.tamu.edu. This FAQ is one of the SGI FAQ series, which consists of: SGI Admin FAQ - IRIX System Administration SGI Apps FAQ - Applications & Compilers SGI Graphics FAQ - Graphics & Windowing SGI Hardware FAQ - Hardware issues SGI Misc FAQ - Introduction & Miscellaneous Information Each FAQ is posted to each comp.sys.sgi.* group as well as the news.answers and comp.answers newsgroups (whose purpose is to store FAQs) every two weeks. If you can't find one of the FAQs with your news program, you can get it by anonymous FTP from one of these sites: rtfm.mit.edu:pub/usenet/news.answers/sgi/faq/graphics rtfm.mit.edu:pub/usenet/comp.sys.sgi.misc/SGI_graphics_Frequently_Asked_Questions archone.tamu.edu:ftp/pub/sgi/faq/graphics rtfm.mit.edu:pub/usenet/comp.answers/sgi/faq/graphics Note that rtfm.mit.edu is home to many other FAQs and informational documents, and is a good place to look if you can't find an answer here. Topics covered in this FAQ: -------------------------- -1- How can I quickly find the question I want in this FAQ? -2- What books about the X Window System and OSF/Motif do you recommend? -3- Sun XView applications like "mailtool" are hanging my X server in 4.0.5. They come up fine, but as soon as I click on them the server freezes. ! -4- Why do I get DGL errors when trying to run Jot, Workspace, or other IRIS GL applications on an X terminal or other non-SGI workstation? -5- After running a few programs, the colors change as the cursor moves. The colors are usually all wrong in other windows. -6- How can I change my X Server to use a 12-bit PseudoColor, 12-bit TrueColor, or 24-bit TrueColor visual by default? -7- The library /usr/lib/libgl_s.a isn't on my R4000 Indigo. Where is it? -8- How do I run a program on one machine and display it on another? -9- Does the DISPLAY environment variable work for GL applications? -10- The DISPLAY variable doesn't seem to work. Why? -11- I'm getting DGL errors when I display an Iris GL application to another SGI machine. -12- Can I save my screen layout? -13- Sometimes an extra 4Dwm is running, using a lot of the CPU. Is this necessary? -14- I'm running IRIX 4.0.1, and can't log in correctly. After logging in the screen turns blue then goes back to Pandora. -15- How do I run 'xinit' manually, (not automatically from 'xdm')? -16- How do I start X on a remote host with no users logged in? -17- What do the errors in my 'xdm-errors' file mean? -18- How do I log into pandora without bringing up graphics? -19- How do I start and stop the graphics system? -20- Pandora won't come up, and /usr/adm/SYSLOG says "helvetica font missing" -21- How do I restart the console? -22- What are resources? -23- How do I set resources? -24- How do I know what resources I can set for an application? -25- How do I run the same program twice with different attributes? -26- Does the GL recognize resources? -27- How do I find out what fonts are available? -28- Does SGI provide any tools to help with the customization process? -29- What is a good approach to take in looking for resources? -30- What is the precedence for resource files? -31- What files affect the window manager and what is their relationship to each other? -32- Do I need my own .4Dwmrc file? -33- Can I run different window managers? -34- How do I choose a different window manager as the default? -35- Where can I learn more about the Window Manager behavior? -36- How do I recover from a failed customization attempt? -37- What is the difference between .xsession and .sgisession? -38- After copying /usr/lib/X11/xdm/Xsession to .xsession, I can't login. -39- What are the important login and resource files for IRIX 4D1-4.0? -40- What is the sequence of events that occur at login time? -41- How can I convert RGB Bitmaps to & from other formats? -42- Can I compress RGB bitmaps? -43- How can I look at a Postscript file? -44- How do I make a screen dump? -45- Can I use 4Dgifts code in my application? -46- What does ERR_WMANIPC mean? -47- How can I translate screen (x,y) coords into world (x,y,z) coords? -48- How can I translate world (x,y,z) coords into screen (x,y) coords? -49- I call mapcolor(index, R, G, B) but nothing happens. Why? ! -50- What's wrong with blink()? -51- When I try to run UIM/X uxserverd, I get an error message saying, "license file has been modified, cannot start the UIM/X license server". + -52- What is a GL widget? + -53- I'm using the GlxMDraw widget and it doesn't seem that colors are being installed correctly. Overlays in the GlxMDraw widget are displayed in red and gray instead of the colors I specify. What is the problem? + -54- I get a "Broken Pipe" error when I close the window of an X client, such as xman or xterm. What does this error mean? Is there something wrong with my system? + -55- Is there a way to switch on the fly between single and double buffering within a GL widget? + -56- Why doesn't SGI's xlock lock my screen? + -57- Why do I get compilation errors when compiling the Inventor C++ examples, using C++ 3.0? -58- Credits ---------------------------------------------------------------------- ~Subject: -1- How can I quickly find the question I want in this FAQ? ~Date: 27 May 93 00:00:01 EST - This FAQ follows the RFC1153 recommendations for message digests and thus can be viewed easily with newsreaders that understand message digests. - Each question has a Subject: line, so you can easily step through the answers with rn's ^G command. - Each question is marked with a "dash number dash" so that you can find any answer with a simple search pattern. - Questions marked with a '+' are new this posting; those marked with a '!' have significant new content since the last edition. ------------------------------ ~Subject: -2- What books about the X Window System and OSF/Motif do you recommend? ~Date: 07 May 93 00:00:01 EST Introductory Texts on the X Window System - O'Reilly and Associates Inc., "The Definitive Guides to the X Window System", by Valerie Quercia and Tim O'Reilly. Vol. 3, "X Window System User's Guide", Sebastopol, CA., 1988, 1989. Discusses being an end user of the X window system. Covers topics like window manages, font specifications, standard X clients and resources. Texts on X Window System Programming - O'Reilly and Associates, Inc. "The Definitive Guides to the X Window System", by Adrian Nye. Vol. 1, "Xlib Programming Manual", Sebastopol, CA., 1990. Contains the introductory elements for programming with the Xlib, the lowest level of the X window system. Discusses concepts such as X color capacities, windows, events, drawing primitives. - Young, Douglas A., "X Window Systems Programming and Applications with Xt" (OSF/Motif Edition). Prentice Hall. Englewood Cliffs, NJ. 1990. A thorough book starting with the basics of programming with a toolkit though advanced topics. Contains source code for several small complete applications. (Source code for this book is also available on line in the /usr/src directory of the Motif Development option.) - O'Reilly and Associates Inc., "The Definitive Guides to the X Window System", by Adrian Nye and Tim O'Reilly. Vol. 4, "X Toolkit Intrinsics Programming Manual", Sebastopol, CA., 1990. Another reference for programming with the OSF/Motif toolkit. Covers topics including basic programming, widgets, resources, and more advanced topics. Reference Texts for the X Window System : - O'Reilly and Associates Inc., "The Definitive Guides to the X Window System", by Adrian Nye. Vol. 2, "Xlib Reference Manual", Sebastopol, CA., 1988. Complete reference for Xlib library routines. - Scheifler, Robert and James Gettys, X Window System, Second Edition, Digital Press, 1990. ISBN 1-55558-050-5. Referred to as "the Bible" of Xlib and X Protocol reference. Reference Texts for the OSF/Motif Toolkit : - Open Software Foundation, "OSF/Motif Programmer's Guide". Release 1.1, Prentice Hall. Englewood Cliffs, NJ. 1990. Exhaustive reference of every widget in the OSF/Motif library. - Asente, Paul J. and Ralph R. Swick. "X Window System Toolkit". X Version 11, Release 4. Digital Press. 1990. Very in-depth reference to the structure and operation of an X window system toolkit. ------------------------------ ~Subject: -3- Sun XView applications like "mailtool" are hanging my X server in 4.0.5. They come up fine, but as soon as I click on them the server freezes. ~Date: 07 May 93 00:00:01 EST Any XView application run under the Xsgi X11-server shipped in IRIX versions 4.0.5A through 4.0.5G will lock the X Server on the first mouse click and will not release it until killed from somewhere else. Fortunately there is a workaround: a) Run the application with '-Wfsdb' on the command line. Alternatively you could use '-fullscreendebug'. For example: % mailtool -Wfsdb b) If you have the sources, add extern int fullscreendebug; before main() and fullscreendebug = 1; after the xv_init() call. This forces the program to set this flag in any case - even when run with non-SGI X servers. It releases you of the danger of omitting -Wfsdb and locking your screen. c) if the program uses the 'fullscreen' package, you might add Fullscreen.Debug: True in $HOME/.Xresources or specify this resource on the command line. This flag currently disables grabs in both the 'window' and the 'fullscreen' package, but is only set from resources in the 'fullscreen' package. ------------------------------ ~Subject: ! -4- Why do I get DGL errors when trying to run Jot, Workspace, or other IRIS GL applications on an X terminal or other non-SGI workstation? ~Date: 07 May 93 00:00:01 EST This occurs because X Terminals and other vendors X servers only understand X protocols. The above applications use Iris GL, which is not an X server extension. It is not currently possible to display IRIS GL-based applications on X terminals or other non-SGI workstations. Typically the error message resembles the following: dgl error (TCP connect): Connection refused dgl error (default init): default dglopen(host:0,4) returned -127 When OpenGL is available from other vendors, then you will be able to do OpenGL rendering to those servers that export the GLX extension. OpenGL is a normal X extension and the transport happens automatically via the X transport stream. ------------------------------ ~Subject: -5- After running a few programs, the colors change as the cursor moves. The colors are usually all wrong in other windows. ~Date: 07 May 93 00:00:01 EST This is known as colormap flashing. It is caused by the server maintaining 2 seperate colormaps, one for GL windows and one for X windows. As the cursor moves around, the window manager will install the correct colormap for each window. This will cause colors to be wrong in other windows. For more information on colormaps and installation please see the Xlib Programming manual, chapter 7 (Vol I of the O'Reilly series). You can sometimes avoid colormap flasing by configuring your X Server to use a 12-bit or 24-bit visual by default. ------------------------------ ~Subject: -6- How can I change my X Server to use a 12-bit PseudoColor, 12-bit TrueColor, or 24-bit TrueColor visual by default? ~Date: 07 May 93 00:00:01 EST By default, the SGI X Server is configured to use an 8-bit PseudoColor visual. X-based applications can request other visuals directly if they are available. Alternatively, you can change the default visual by performing the following steps: a) Run "/usr/bin/X11/xdpyinfo" and check that your server is capable of using a 12-bit or 24-bit visual. If it is, you will see lines similar to the following: visual id, max buffers, depth: 0x28, 0, 12 visual id, max buffers, depth: 0x29, 0, 12 visual id, max buffers, depth: 0x2a, 0, 24 The last number on each line represents the number of bits available for that visual. b) Log in as root c) Edit the file /usr/lib/X11/xdm/Xservers. By default it will contain the string: :0 secure /usr/bin/X11/X -bs -c -pseudomap 4sight for a 24-bit TrueColor visual change it to: :0 secure /usr/bin/X11/X -bs -c -class TrueColor -depth 24 for a 12-bit PseudoColor visual change it to: :0 secure /usr/bin/X11/X -bs -c -class PseudoColor -depth 12 d) Restart your X server. You can do this by invoking either of the following commands: % killall -TERM Xsgi % /usr/gfx/stopgfx; /usr/gfx/startgfx Note: X Server visuals are an advanced topic; before making the above changes you should be aware that some 3rd-party and freeware applications might not gracefully adapt to an X Server which supplies anything but an 8-bit PseudoColor visual by default. ------------------------------ ~Subject: -7- The library /usr/lib/libgl_s.a isn't on my R4000 Indigo. Where is it? ~Date: 07 May 93 00:00:01 EST It's in the "maint" software, in the maint_gl_x_dev package. ------------------------------ ~Subject: -8- How do I run a program on one machine and display it on another? ~Date: 07 May 93 00:00:01 EST Use the DISPLAY environment variable to specify the remote host on which you want the X client to be displayed; then invoke the appplication. To specify the remote host: setenv DISPLAY :0 where is the name or IP address of the remote host. To specify the local host (console): setenv DISPLAY :0 ------------------------------ ~Subject: -9- Does the DISPLAY environment variable work for GL applications? ~Date: 07 May 93 00:00:01 EST Yes. Iris GL programs display on the machine specified by the DISPLAY environment variable. This occurs because the GL now uses the Distributed Graphics Library (DGL) capabilities by default. It is important to remember that only Silicon Graphics' machines can display GL. For networks running NIS (formerly yellow pages), it is sometimes necessary to add the flag "-lsun" when compiling. ------------------------------ ~Subject: -10- The DISPLAY variable doesn't seem to work. Why? ~Date: 07 May 93 00:00:01 EST There are several possibilities. First, check your DISPLAY variable to make sure it is syntactically correct. For example, to display applications on a machine named "enterprise" whose IP address is 123.45.678.90, it should be set to "enterprise:0" or "123.45.678.90:0". Also, try to "ping" the machine to which your DISPLAY variable is set. If this does not work, you have either specified an invalid hostname, the host is down, or you are having network problems. Sometimes, when trying to display to a remote server, you see messages like "permission denied" or "can't connect to server". To solve permission problems, you need to disable access control on the remote server using the xhost command. By default, access control is disabled on Silicon Graphics' machines. For more information see Chapter 3 of the X Window System User's Guide, (Vol. 3 of the O'Reilly series) If NIS is used, make sure the client is linked with "-lsun". ------------------------------ ~Subject: -11- I'm getting DGL errors when I display an Iris GL application to another SGI machine. ~Date: 07 May 93 00:00:01 EST Commonly the errors will look like: dgl error (TCP connect): Connection refused dgl error (default init): default dglopen(enterprise:0) returned -127 If this is the case, check the files /etc/services and /usr/etc/inetd.conf on both machines. Make sure neither of the lines below have been commented out. The services file should contain a line which reads: sgi-dgl 5232/tcp inetd.conf should contain a line which reads: sgi-dgl stream tcp nowait root /usr/etc/dgld dgld -IM -tDGLTSOCKET ------------------------------ ~Subject: -12- Can I save my screen layout? ~Date: 07 May 93 00:00:01 EST Not very easily. You must run "xwininfo" to find the X and Y position of each window, then use that information to customize your .sgisession or .xsession files. There is also a tool called "xtoolplaces" that was posted to comp.sources.x in volume14. For more information see Chapter 3 of the X Window System User's Guide, (Vol. 3 of the O'Reilly series) ------------------------------ ~Subject: -13- Sometimes an extra 4Dwm is running, using a lot of the CPU. Is this necessary? ~Date: 07 May 93 00:00:01 EST No, there should only be one. This multiple window manager problem usually is triggered by the "kill" feedback of the window manager when a user logs out. The workaround for the problem is to remove the "kill" feedback. The "kill" feedback is controlled by the resource "showFeedback." For 4Dwm, this resource is defined in /usr/lib/X11/app-defaults/4DWm as: *showFeedback: behavior restart quit kill Modify the resource to read: *showFeedback: behavior restart quit For mwm, set a "showFeedback" resource that does not include the "kill" feedback in /usr/lib/X11/app-defaults/Mwm. A sample setting is: Mwm*showFeedback: move placement resize behavior restart quit ------------------------------ ~Subject: -14- I'm running IRIX 4.0.1, and can't log in correctly. After logging in the screen turns blue then goes back to Pandora. ~Date: 07 May 93 00:00:01 EST The problem is caused by an incorrect shutdown. When you log out, xdm runs /usr/sbin/gamma and writes the current value to /etc/config/system.glGammaVal. IRIX buffers this data in main memory in the buffer cache. If the system is powered off right after logout, the data is not written to the file. a) Login to your system as root, either via the network or by taking the machine down to single-user mode. b) enter these commands at the # prompt: # cd /etc/config # cat system.glGammaVal If the cat command returns a value of 1.7000, contact your technical support provider for additional troubleshooting. If the command returns nothing (empty file) or "0", it means the problem can be fixed by entering the following command: # /bin/rm system.glGammaVal # /bin/echo "1.7" > system.glGammaVal Check your work: # cat system.glGammaVal The command above should now return 1.7. Your login should now be successful. If you edited the file while Pandora was running, you'll find the first login attempt will fail, but any later attempts will be successful. After the first login attempt, Pandora will read in the correct gamma value. ------------------------------ ~Subject: -15- How do I run 'xinit' manually, (not automatically from 'xdm')? ~Date: 07 May 93 00:00:01 EST Note that this change would affect all users. 1) log in as root 2) Type: /usr/gfx/stopgfx chkconfig xdm off. 3) all users need to copy /usr/bin/X11/X to their home directory (renaming the file to .xserverrc), removing the if test for windowsystem, OR be familiar enough with xinit to have an alternate command line. 4) transfer all startup programs from .xsession/.sgisession to .xinitrc. 5) the last program to start from .xinitrc must not exit. When this one exits, the session terminates. ------------------------------ ~Subject: -16- How do I start X on a remote host with no users logged in? ~Date: 07 May 93 00:00:01 EST This example starts up an xclock on the remote system. The easy way to test this for now is to rlogin to the system and type the commands. Once something works you can write some shell scripts and use rsh to run them: hydra is being used to login to oscar and start graphics on oscar. oscar is displaying the pandora login when this is done: hydra 2% rlogin oscar -l root oscar 1# /usr/gfx/stopgfx (screen blanks) oscar 2# chkconfig windowsystem on oscar 3# setenv DISPLAY :0.0 (display on local screen) oscar 4# /usr/bin/X11/X & (start Xsgi) oscar 5# xclock & (clock is displayed) To clean up: oscar 6# /usr/gfx/stopgfx (screen blanks) oscar 7# /usr/gfx/startgfx (re-start pandora) ------------------------------ ~Subject: -17- What do the errors in my 'xdm-errors' file mean? ~Date: 07 May 93 00:00:01 EST It depends on the error message, obviously. Some are: unable to load display mode, rnid = 196614, errno = 22 Failed to unbind rn from clip, rnid = 3,errno = 22 bogus window id in rrm request type(2) These are messages related to the communication between the rrm layer in the kernel and the X server. The messages usually occur when a GL window is being destroyed in a sequence that the X server did not expect. They are quite benign. ------------------------------ ~Subject: -18- How do I log into pandora without bringing up graphics? ~Date: 07 May 93 00:00:01 EST In IRIX 3.3 you could specify the "NOGRAPHICS" option on the login screen. The "NOGRAPHICS" option has been replaced with the keyword "failsafe" that is typed after the users name on the login screen. However, this command no longer brings up a "textport" window without graphics. Instead, it now starts a single xwsh on the center of the screen with no window manager. Example login: login: root failsafe ------------------------------ ~Subject: -19- How do I start and stop the graphics system? ~Date: 07 May 93 00:00:01 EST Use /usr/gfx/startgfx and /usr/gfx/stopgfx. Be aware that stopgfx will kill any active windows and log you out. Under IRIX 3.* use /etc/gl/restartgl. ------------------------------ ~Subject: -20- Pandora won't come up, and /usr/adm/SYSLOG says "helvetica font missing" ~Date: 07 May 93 00:00:01 EST It appears that the subsystem, "eoe2.sw.fonts" did not get loaded. Re-install the subsystem using the following sequence from 'inst': 1) type "inst" or boot the mini-root, as documented in Section 4.5 of the "IRIS Software Installation Guide" 2) keep * 3) set neweroverride on 4) install eoe2.sw.fonts 5) exit ------------------------------ ~Subject: -21- How do I restart the console? ~Date: 07 May 93 00:00:01 EST Use /usr/sbin/startconsole. In IRIX 3.*, use /etc/gl/startconsole. ------------------------------ ~Subject: -22- What are resources? ~Date: 07 May 93 00:00:01 EST Basically, resources are "attributes" that control the look and feel of an application. Resources include color, fonts, size, location, and more. Resources can have a complex format for binding strengths. For a complete description of resources, including a description of "loose" and "tight" bindings, consult a book listed in the bibliography for question #25. ------------------------------ ~Subject: -23- How do I set resources? ~Date: 07 May 93 00:00:01 EST There are many ways to set resources. Resources may be listed in files or contained in a data base. It is recommended that you consult a Book on X as well as the man page for "xrdb" for detailed descriptions. Generally speaking, if xrdb is not used, resource files are specified through environment variables. Question #14 addresses the precedence of these files and variables. For some examples, see the file /usr/tutor/Customize/example.Xdefaults. ------------------------------ ~Subject: -24- How do I know what resources I can set for an application? ~Date: 07 May 93 00:00:01 EST The most common place to find resource variables for a particular application is in the man page for that application. For example, take a look at the man page for `xwsh'. Look for the section heading called `RESOURCES'. This section lists each resource for `xwsh', and in some cases, the valid values for that resource. Also, many major applications are built on top of the Xt toolkit. There are standard resources that these applications recognize. For a more complete description, see one of the books on Xt listed in the bibliography. ------------------------------ ~Subject: -25- How do I run the same program twice with different attributes? ~Date: 07 May 93 00:00:01 EST To accomplish this task, you need to take advantage of the "instance vs class" concept. This concept is explained further in most books on Xt. Many applications have a resource that lets you to give it a unique name. For example, from the xwsh man page : -name instance-name Provide a unique name for an xwsh window. This name becomes the instance name of the specific xwsh, with the class name always being "XWsh". Using the -name option allows you to give "names" to different instances of xwsh and assign different resources to each one. So if you want two different xwsh's with different resource sets, give them two different names, say howdymom and howdydoody, for example. Add the following to your ~/.Xdefaults file (if you use .Xdefaults) : howdymom*foreground: SeaGreen howdydoody*foreground: SGIBeet Now all you have to do is start them up : xwsh -name howdymom& xwsh -name howdydoody& ------------------------------ ~Subject: -26- Does the GL recognize resources? ~Date: 07 May 93 00:00:01 EST Yes. In IRIX 4.0 and later, the GL responds to several X resources, allowing run-time control over some aspects of GL programs. The man page assumes you are somewhat familiar with X resources, if you are not, you should read some X documentation such as Volume 3 of the O'Reily X books. The GL uses resources names with the prefixes appname.gl. (instance prefix) Appname.GL. (class prefix) where appname and Appname are derived from the argument to the GL program's first call to winopen(3G) upper case. For complete information see the man page for GLRESOURCES. ------------------------------ ~Subject: -27- How do I find out what fonts are available? ~Date: 07 May 93 00:00:01 EST The xfontsel and xlsfonts utilities help you find appropriate fonts. xlsfonts lists the fonts; xfontsel provides an interface for selecting a desired font. To use xfontsel, choose "Font Names" from the Customization rollover menu in the Toolchest. Please see the man pages and the IRIS Utilities Guide for further information. ------------------------------ ~Subject: -28- Does SGI provide any tools to help with the customization process? ~Date: 07 May 93 00:00:01 EST Yes. The Customization rollover menu in the Toolchest contains three entries: Window Info, Color Names, and Font Names. Please refer to the man pages on these commands for details: xfontsel, xlsfonts, xwininfo, xdpyinfo, xprop, appres, listres, and xrdb. Also, see the "WorkSpace User's Guide" and the example files in /usr/tutor/Customize. ------------------------------ ~Subject: -29- What is a good approach to take in looking for resources? ~Date: 07 May 93 00:00:01 EST The following is a recommended list of steps to take when searching for a resource, binding, behavior, etc. 1) Look in the 4.0 Transition Guide. 2) Look in /usr/tutor/Customize. 3) Look in /usr/demos. 4) Look in ~4Dgifts. (Available with the development option.) 5) If the client you are interested in is a GL client, see the man page for GLRESOURCES. 6) Look in /usr/lib/X11/app-defaults/ClientName. 7) Look in /usr/lib/X11/system.* . 8) Look through the man page for the client you are interested in. 9) Look in O'Reilly & Associates Vol. III. It has many gems pertaining to standard X clients. 10) Look in the documentation that came with your application. 11) Look in the OSF Motif manuals. 12) Post to comp.windows.x if you can not find an answer using steps 1 through 11. ------------------------------ ~Subject: -30- What is the precedence for resource files? ~Date: 07 May 93 00:00:01 EST The following list indicates the weight of set resources. Items at the top have the greatest weight. 1) Hard coded values for resources. 2) Command line arguments. 3) Resources pointed to by $XENVIRONMENT. 4) Resource values loaded into the Resource Data Base via xrdb. 5) Resources pointed to by other environment variables : IF $XUSERFILESEARCHPATH is set then it contains a list of directories to search. ELSE IF $XAPPLRESDIR is set it contains a single directory, and a short list of related directories (e.g. adjusted for language) is where resource files must be found. ELSE Look in a short list of places related to $HOME (e.g. language adjusted). This includes files in $HOME that have the name of the class of the application. 6) Resource values set in $HOME/.Xdefaults, provided that the RESOURCE_MANAGER property hasn't been set via the xrdb command. (see the third paragraph in the xrdb man page) 7) Values set in /usr/lib/X11/app-defaults/*. 8) Values set through through the application's fall back mechanism. ------------------------------ ~Subject: -31- What files affect the window manager and what is their relationship to each other? ~Date: 07 May 93 00:00:01 EST 1)~/.4Dwmrc, if you have one 2)/usr/lib/X11/system.4Dwmrc 3)/usr/bin/X11/4Dwm 4)/usr/lib/X11/app-defaults/4Dwm 5)~/.Xdefaults (or wherever you set resources) When 4Dwm is started, it looks for ~/.4Dwmrc. If it does not exist, it looks at /usr/lib/X11/system.4Dwmrc. The definitions for button bindings, menus, etc are contained in these files. For a better description of bindings, look in /usr/tutor/Customize/example.4Dwmrc and /usr/people/ 4Dgifts/.4Dwmrc. Also see the man pages for 4Dwm. The resource set for the bindings will actually "choose" which binding definition is set. ------------------------------ ~Subject: -32- Do I need my own .4Dwmrc file? ~Date: 07 May 93 00:00:01 EST Not necessarily. As mentioned in the previous question, actual bindings are determined by resource names. If there is a binding definition in /usr/lib/X11/system.4Dwmrc that you like, you may choose it by setting the appropriate resource. ------------------------------ ~Subject: -33- Can I run different window managers? ~Date: 07 May 93 00:00:01 EST In Irix 4D1-4.0, you may choose 4Dwm, mwm, twm, or uwm. Note that GL programs are guaranteed to work only under 4Dwm. ------------------------------ ~Subject: -34- How do I choose a different window manager as the default? ~Date: 07 May 93 00:00:01 EST You must use a .xsession file and explicitly invoke the window manager and any other applications you want to use, such as 'toolchest' and 'xwsh'. After making this change, you may only be able to log out by using the "Log Out" selection in the toolchest, or by executing /usr/bin/X11/endsession. Here are the contents a sample .xsession file: xhost + & toolchest -name ToolChest > /dev/console 2&>1 & winterm -bg red & winterm -bg blue & mwm > /dev/console 2&>1 & /usr/bin/X11/reaper Note that 'reaper' is not put into the background. When 'reaper' exits you will be logged out. Alternatively, you can do the following steps: 1. cp /usr/lib/X11/xdm/Xsession ~/.xsession 2. Remove the lines in ~/.xsession that say: if [ -r $xsession -a "$0" != $xsession ]; then if [ -x $xsession ]; then exec $xsession else exec /bin/sh $xsession fi fi 3. Change the line that says: /usr/bin/X11/4Dwm >/dev/console 2>&1 & to: /usr/bin/X11/mwm > /dev/console 2>&1 & ------------------------------ ~Subject: -35- Where can I learn more about the Window Manager behavior? ~Date: 07 May 93 00:00:01 EST The man pages for 4Dwm and mwm contain a wealth of information on the window manager. There are also online files. You may want to read /usr/tutor/Customize/example.4Dwmrc as well as /usr/people/4Dgifts/.4Dwmrc (if you have the IDO option). The OSF/Motif manuals listed in the bibliography are also good places to find information. (4Dwm is based on mwm). ------------------------------ ~Subject: -36- How do I recover from a failed customization attempt? ~Date: 07 May 93 00:00:01 EST If your attempt at customization leaves you in a state where buttons and menus are no longer recognized, you can recover by pressing the keys simultaneously. A menu appears that will let you choose Motif, Iris, or user defaults. Choose either Motif or Iris defaults and then push OK. This restarts the window manager to a usable state. ------------------------------ ~Subject: -37- What is the difference between .xsession and .sgisession? ~Date: 07 May 93 00:00:01 EST The system Xsession file (/usr/lib/X11/xdm/Xsession or Xsession-remote) starts up a number of important things when you log in, eg. 4Dwm, toolchest, loads resources, sets your XUSERFILESEARCHPATH, sets your root background, etc. One of the last things it does is look in your home directory for a .sgisession file. This allows you to start additional programs at login time. This is the file that you would use to start a mailbox, additional window, a calendar, etc. ADVANTAGES OF $HOME/.sgisession : 1) You don't need to read through yet another system file to see what you need or don't need. 2) You can override some of the defaults the system default has given you. DISADVANTAGES OF $HOME/.sgisession : 1) You cannot override ALL of the defaults set for you. 2) Some things you can't change from a .sgisession file : A) You can't start a different window manager. B) You can't change the way the console starts. C) You can't change toolchest output redirection to the console. 3) Users of other vendors equipment are used to seeing a .xsession file. After checking for a "failsafe" (ie. no graphics) login, one of the first things that /usr/lib/X11/xdm/Xsession does is check for $HOME/.xsession. If it exists, Xsession will exec your .xsession file. This means that if you are REALLY sure you know what you are doing, you can login with a different window manager, xterm as a console, or xwsh not already iconified, etc. You can also turn off the toolchest output redirection, and start anything else you might have done in $HOME/.sgisession. There is a discussion on xsession files in volume 3 of the O'Reilly series. This next part might be redundant From the login event sequence mentioned earlier, you will note that /usr/lib/X11/xdm/Xsession tries to exec $HOME/.xsession if it exists. This is how you would go about changing programs started by default. An example is the start of the window manager. There is a discussion on xsession files in volume 3 of the O'Reilly series. For examples of alternate xsession files look at /usr/people/4Dgifts/.xsession or /usr/demos/.xsession. If you don't have a $HOME/.xsession file, /usr/lib/X11/xdm/Xsession starts things for you and eventually looks for $HOME/.sgisession. This is a good way to start additional programs without changing what is started by default. ------------------------------ ~Subject: -38- After copying /usr/lib/X11/xdm/Xsession to .xsession, I can't login. ~Date: 07 May 93 00:00:01 EST After copying this file to your home directory, you need to remove all references to "xsession". References to xsession cause the system to try to execute $HOME/.xsession, which will create an infinite loop. Remove the lines in ~/.xsession that say: if [ -r $xsession -a "$0" != $xsession ]; then if [ -x $xsession ]; then exec $xsession else exec /bin/sh $xsession fi fi ------------------------------ ~Subject: -39- What are the important login and resource files for IRIX 4D1-4.0? ~Date: 07 May 93 00:00:01 EST The following three file groupings indicate where files that affect your login session reside. 1) /usr/lib/X11/* - This is THE starting place. Here you find the system default bindings for Motif, 4Dwm, and the Toolchest. The xdm directory lives here as well as the app-defaults directory. xdm controls the session management.Many application defaults are set in the app-defaults directory. 2) $HOME/[.Xdefaults, .4Dwmrc, .chestrc, .xsession, .sgisession] Here you find the files that control your system set-up. You create these files; they don't exist when you first log in. 3) /usr/bin/X11 - This is where the binaries live. It makes life nice to include this directory in your path. ------------------------------ ~Subject: -40- What is the sequence of events that occur at login time? ~Date: 07 May 93 00:00:01 EST This is a bare bones synopsis of the events that occur when you log in to the console via xdm (xdm is the default method of logging in). 1) Provide a "failsafe" (nographics) login if required/requested. 2) Exec $HOME/.xsession if it exists. If it exists, the remaining steps should normally be included in the users .xsession file as well. 3) Load $HOME/.Xresources if it exists. 4) Set XUSERFILESEARCHPATH. 5) Incorporate a "shell" environment into the "session". (man userenv) 6) Set the root background and cursor. 7) Start 4Dwm. 8) Wait for 4Dwm to come up. 9) Disable display access control (xhost +). (man xhost) 10) Execute $HOME/.sgisession if it exists. 11) Start WorkSpace if the user wants it. 12) Put a Toolchest on each screen. 13) Start the console. 14) Exec the "reaper". (man reaper / endsession) ------------------------------ ~Subject: -41- How can I convert RGB Bitmaps to & from other formats? ~Date: 07 May 93 00:00:01 EST Several bitmap conversion tools are shipped with IRIX. The executables are part of the eoe2.sw.imagetools subsystem, and include: fromalias - convert an Alias image to an IRIS image frombin - create an RGB IRIS image file from a binary dump of image data fromcmap - convert a color map into an image with one scanline fromcube - convert a Cubicomp/Vertigo image file to IRIS format fromdi - convert an old .di dithered image into an IRIS image fromface - convert a UNIX faceserver image into an IRIS image fromgif - convert a GIF image into an IRIS image frommac - convert a MacPaint image into an IRIS image frompic - convert a MOVIE BYU .PIC image to an IRIS image fromppm - convert an image in Jef Poskanzer's format into an IRIS image fromrla - convert a Wavefront image to an IRIS image fromsun - convert a sun image into an IRIS image fromtarga - convert a targa image into an IRIS image fromxbm - convert an X Bitmap image into an IRIS image fromxud - convert an xwd file into an IRIS image fromxwd - convert an xwd file into an IRIS image fromyuv - convert an Abekas yuv image into an IRIS image toalias - convert an IRIS image to an Alias image toascii - convert an IRIS image to text characters tobin - convert an IRIS image to binary dump of pixel data tobw - convert an IRIS image to black and white togif - convert an IRIS image to a Compuserve GIF image tomac - convert an IRIS image to MacPaint format tonews - convert an IRIS image into NeWS format topict - convert an IRIS image to Macintosh PICT format toppm - convert an IRIS image file into Jef Poskanzer's ppm image format tops - convert an IRIS image to PostScript toscitex - Convert IRIS images into Scitex CT2T images tosun - convert an IRIS image to a sun raster file totarga - convert an IRIS image to a type 2 targa image toyuv - convert an IRIS image to yuv format The source for each of these tools is shipped in the 4Dgifts dev.dev_sw.giftsfull package and placed in the directory /usr/people/4Dgifts/iristools/imgtools. Each also has a man page. ------------------------------ ~Subject: -42- Can I compress RGB bitmaps? ~Date: 07 May 93 00:00:01 EST Yes. Use /usr/sbin/rle, which is part of eoe2.sw.imagetools ------------------------------ ~Subject: -43- How can I look at a Postscript file? ~Date: 07 May 93 00:00:01 EST Use xpsview or Ghostscript. xpsview is in dps_eoe. If you have upgraded from 3.3, you will need to purchase this product. Ghostscript, combined with Ghostview, allows you to preview PostScript documents in an X window, without the need for Display PostScript (DPS). This allows you to preview PostScript from your SGI machine on any device that supports the X protocol (like X terminals, Suns, etc..) There are ghostscript/ghostview inst'able images for IRIX 4.0.1+ available via anonymous FTP to ftp.sgi.com in /sgi/ghost. ------------------------------ ~Subject: -44- How do I make a screen dump? ~Date: 07 May 93 00:00:01 EST Use the utilities /usr/sbin/snapshot or /usr/sbin/scrsave. Both have a man page. You need to make sure that you have eoe2.sw.gltools loaded to get the program and eoe2.man.gltools for the man page. From within a GL program, you should call readdisplay(). For an example look at ~4Dgifts/iristools/imgtools/scrsave.c ------------------------------ ~Subject: -45- Can I use 4Dgifts code in my application? ~Date: 07 May 93 00:00:01 EST Yes. The 4Dgifts are a "gift" and developers are welcome to use the code. However, SGI does not support the code in 4Dgifts. Note that certain restrictions apply. Please read the copyright statement in ~4Dgifts/README.Copyright. ------------------------------ ~Subject: -46- What does ERR_WMANIPC mean? ~Date: 07 May 93 00:00:01 EST The "WMAN" in that message means "window manager." However, this no longer means "window manager" such as 4Dwm, but rather the entire X Window system. The error means that the GL program triggered a fatal X error. A GL program can get an X error, because all GL programs are actually X clients. When a GL program does a winopen(), libgl actually calls XCreateWindow, etc.) When a GL program gets an X error, libgl prints out these X errors using this error message: GL: X request = maj.min, error code = ercode where maj = major request code that caused the error min = minor request code ercode = X error code This turns out to be easy to interpret, so long as the request was a core X protocol request (e.g., a CreateWindow request). In that case: 1. You can look up the major code in /usr/include/X11/Xproto.h. 2. The minor code is not used. 3. The X error code can be found in /usr/include/X11/X.h. As you can see in Xproto.h, the core X protocol requests have request codes <= 127. However, ... if maj > 127, then the request is an X extension request. Unfortunately, it can be difficult to interpret this unless you built your program with a debugging libgl.a (compiled with -g). The reason is that for an X extension, the major request code and the starting error code are copied from the X server during client startup, and these codes are saved in variables inside libgl. With a debugging libgl, these variables can be printed out from within a debugger, such as dbx. If the major code indicates an X Input extension request, then the minor numbers then tell the X input request type, and these are found in /usr/include/X11/extensions/XIproto.h. Finally, the X Input Extension uses 132 as its "starting error code." The possible errors are found in /usr/include/X11/extensions/XI.h, where they're defined like this: #define XI_BadDevice 0 #define XI_BadEvent 1 #define XI_BadMode 2 #define XI_DeviceBusy 3 #define XI_BadClass 4 If you add 132 to these numbers, you get the error that's reported by the libgl error message. ------------------------------ ~Subject: -47- How can I translate screen (x,y) coords into world (x,y,z) coords? ~Date: 07 May 93 00:00:01 EST Check the manual page for mapw(3G) or mapw2(3G). mapw() returns a line into (x,y,z) space. ------------------------------ ~Subject: -48- How can I translate world (x,y,z) coords into screen (x,y) coords? ~Date: 07 May 93 00:00:01 EST There are two methods. The first method is detailed in ~4Dgifts/examples/grafix/world2scrn.c, which is part of the dev.dev_sw.giftsfull package. It multiplies the (x,y,z) vector into the current modeling and projection matrixes, and uses the result to interpolate based on the window size and position. The second method uses the current cursor position as a trick and is much simpler. Use cmov() to set the cursor position to the point of interest in world space, then call getcpos() to return the cursor position in screen coordinates. Note that if your entire viewport is off-screen, the results are undefined and you'll have to use the first method. float x,y,z; short x1, y1; cmov (x,y,z); getcpos (&x1, &y1); ------------------------------ ~Subject: -49- I call mapcolor(index, R, G, B) but nothing happens. Why? ~Date: 07 May 93 00:00:01 EST You either need to call glcompat(GLC_SLOWMAPCOLORS, TRUE) at the beginning of your program, or call gflush() after calling mapcolor. See the NOTES section in "man mapcolors" and also "man glcompat" for further info. (This may also be in the GL release notes) ------------------------------ ~Subject: ! -50- What's wrong with blink()? ~Date: 10 Jun 93 00:00:01 EST - blink() is broken all the way up through 4.0.5F, where blink() only blinks to black. - you can work-around this blink() problem by doing the following: blink(rate, index, red<<8, green<<8, blue<<8) - ~4Dgifts/examples/glpg/ch04/blinker.c has three main problems: - it doesn't do the above work-around. - it doesn't do a gflush after mapping colors. - it doesn't turn blinking off initially. - what happens is that if a program starts anything blinking and exits without ever turning blinking off with blink(-1, 0, 0, 0, 0) then the next program to attempt blinking will not be able to blink. this happens if for instance you close the blinker window before its 10 second sleep() has completed. - a simple idea for a work-around for this problem: programs which do blinking should turn their blinking on when they have focus; they should turn all blinking off when they lose focus. This is not perfect but is a plausible attempt at sharing the 20 blinking system-wide colormap entries. Here is a copy of ~4Dgifts/examples/glpg/ch04/blinker.c that contains the above workarounds, except for input-focus: #include #define MAXBLINKS 20 /* maximum number of blinking entries */ #define FIRSTBLINKCI 64 /* avoid the first 64 colors */ main() { int i; prefsize(400, 400); winopen("blinker"); ortho2(-0.5, 20.0*MAXBLINKS + 9.5, -0.5, 500.5); color(BLACK); clear(); /* always turn blinking off before calling 'blink' */ blink (-1, 0, 0, 0, 0); for (i = MAXBLINKS - 1; i >= 0 ; i--) { mapcolor(i + FIRSTBLINKCI, 255, 255, 255); /* always call gflush() after mapcolors() */ gflush(); color(i + FIRSTBLINKCI); sboxfi(i*20 + 10, 10, i*20 + 20, 490); /* GL bug in blink -- must left-shift r,g,b values */ blink(i + 1, i + FIRSTBLINKCI, 255 << 8, 0 << 8, 0 << 8); } sleep(10); blink(-1, 0, 0, 0, 0); /* stop all blinking */ gexit(); return 0; } ------------------------------ ~Subject: -51- When I try to run UIM/X uxserverd, I get an error message saying, "license file has been modified, cannot start the UIM/X license server". ~Date: 07 May 93 00:00:01 EST You probably have been given a bad key. The most frequent causes of incorrect keys have been incorrect capitalization and incorrect IP addresses. The program that generates the UIM/X key requires that the "host ID" (or IP address) be in hexadecimal format. If you feed it the standard form of IP address (i.e., 123.45.678.90) it will generate the wrong key and will not complain. To ensure that you are is giving the correct information when requesting a UIM/X key, please do the following: Hostname: Type in 'hostname' at the prompt, and be sure to say exactly what it says (including capitalization, if any). Host ID: Type in 'hostid' at the prompt, and be sure to say exactly what it says. You will be reading back a series of numbers of the form 0xc030c844. The leading 0x indicates that the following number is hexadecimal. The key generating script is highly sensitive to capital letters. Make sure you confirm the case of the letters, both when getting the hostname/hostid and when having your key read back to you. If this still doesn't fix the problem, you may have mixed files between UIM/X 1.0 and 2.0. Completely remove UIM/X, re-install it, and reproduce a Uimx2_0.license file with the correct information. ------------------------------ ~Subject: + -52- What is a GL widget? ~Date: 10 Jun 93 00:00:01 EST GL widget refers to the GlxDraw (generic) and GlxMDraw (Motif) widgets that allow you to embed GL windows in Xt-based programs. To embed a GL windows in X-based programs is frequently called "Mixed-model" or "GLX" programming. There are several examples of mixed-model programming in the directory /usr/people/4Dgifts/examples/GLX. ------------------------------ ~Subject: + -53- I'm using the GlxMDraw widget and it doesn't seem that colors are being installed correctly. Overlays in the GlxMDraw widget are displayed in red and gray instead of the colors I specify. What is the problem? ~Date: 10 Jun 93 00:00:01 EST The window manager must be directed to install all appropriate colormaps. Use the XSetWMColormapWindows() call to do this -- list one window for each colormap to be installed plus the top level window. If using overlays, include the overlay window as well as the normal GL window. If your window is TrueColor, you should still install the appropriate colormap, as Indigo TrueColor is simulated using a colormap. ------------------------------ ~Subject: + -54- I get a "Broken Pipe" error when I close the window of an X client, such as xman or xterm. What does this error mean? Is there something wrong with my system? ~Date: 10 Jun 93 00:00:01 EST Typically the error message resembles the following: XIO: fatal IO error 32 (Broken pipe) on X server ":0.0" after 214 requests (214 known processed) with 0 events remaining. The connection was probably broken by a server shutdown or KillClient. The Window Manager is reporting that the pipe for your X client has been broken. This is normal when an X client exits. There is nothing wrong with your system. This message will also occur when the system is shut down. This is not an error condition and no core files are produced. ------------------------------ ~Subject: + -55- Is there a way to switch on the fly between single and double buffering within a GL widget? ~Date: 10 Jun 93 00:00:01 EST There is no way to switch between single and double buffered mode within the same window. (In X, this would mean changing the depth, which is not allowed.) To simulate this, you can create two GL widgets: a double buffered GL widget and a single buffered GL widget. When it is time to change the buffering mode, restack the windows so that the appropriate one is on top. If the two windows are created with a common parent, they move together when the parent is moved. For non-mixed mode applications, the GL performs this switching when you call gconfig(). ------------------------------ ~Subject: + -56- Why doesn't SGI's xlock lock my screen? ~Date: 10 Jun 93 00:00:01 EST If you or the super-user do not have a password, xlock will not lock. Also, in IRIX 4.x, xlock is set up by default to act as if invoked with the "-nolock" option, which tells it not to lock the screen. If you want force xlock to lock, do either of the following: a) Use the "+nolock" option when invoking xlock. This means "not nolock" (the opposite of "-nolock"). For example: % xlock +nolock b) Add the following line to your ~/.Xdefaults file: XLock.nolock: False In IRIX 5.x, the default behavior of xlock has been reversed, so xlock does indeed lock by default. If you wish to keep the IRIX 4.x behavior, invoke xlock with the -nolock option. ------------------------------ ~Subject: + -57- Why do I get compilation errors when compiling the Inventor C++ examples, using C++ 3.0? ~Date: 10 Jun 93 00:00:01 EST Inventor 1.0 and 1.0.1 were built using the 2.1.1 version of the C++ compiler. If you are using C++ 3.0, you must add the "-v2" switch to the Makefile's LC++OPTS line. It would then look like the following: # Options to C++; see the CC manual page for what they do LC++OPTS = -v2 +p -Wf,-XNp10000 ------------------------------ ~Subject: -58- Credits ~Date: 6 May 93 00:00:01 EST The comp.sys.sgi FAQs are the collective effort of Dale Chayes dale@ldeo.columbia.edu Steve Rikli steve@archone.tamu.edu Allan Schaffer aschaffe@sgi.com Dave Schweisguth dcs@neutron.chem.yale.edu Special thanks are due to Tom Davis Author of 'zip' Harry Mangalam Maintainer of the comp.sys.sgi.* WAIS database Finally, much thanks to all of the SGI employees on Usenet, all of whom have provided gigabytes of help and information. Credits for individual contributions are given in the answers. ------------------------------ -- Allan Schaffer aschaffe@sgi.com -- Allan Schaffer aschaffe@sgi.com Xref: news1.cis.umn.edu comp.sys.sgi.misc:3356 comp.sys.sgi.admin:2224 comp.sys.sgi.apps:1079 comp.sys.sgi.bugs:1127 comp.sys.sgi.graphics:1613 comp.sys.sgi.hardware:1799 comp.answers:1300 news.answers:10319 Path: news1.cis.umn.edu!umn.edu!news-feed-1.peachnet.edu!darwin.sura.net!howland.reston.ans.net!agate!ames!sgi!fido.asd.sgi.com!holodeck.csd.sgi.com!aschaffe From: aschaffe@holodeck.csd.sgi.com (Allan Schaffer) Newsgroups: comp.sys.sgi.misc,comp.sys.sgi.admin,comp.sys.sgi.apps,comp.sys.sgi.bugs,comp.sys.sgi.graphics,comp.sys.sgi.hardware,comp.answers,news.answers Subject: SGI misc Frequently Asked Questions (FAQ) Supersedes: Followup-To: comp.sys.sgi.misc Date: 15 Jul 1993 07:00:51 GMT Organization: Silicon Graphics, Inc., Mountain View, CA Lines: 279 Approved: news-answers-request@MIT.Edu Expires: 13 Aug 1993 07:01:01 GMT Message-ID: Reply-To: sgi-faq@archone.tamu.edu NNTP-Posting-Host: holodeck.csd.sgi.com Originator: aschaffe@holodeck.csd.sgi.com Archive-name: sgi/faq/misc SGI misc Frequently Asked Questions (FAQ) This information is freely distributable and wide circulation is encouraged. The contents are accurate as far as we know, but the usual disclaimers apply. This FAQ contains errors! Finding them is an exercise for alert readers. Please send additions and changes to sgi-faq@archone.tamu.edu. This FAQ is one of the SGI FAQ series, which consists of: SGI Admin FAQ - IRIX System Administration SGI Apps FAQ - Applications & Compilers SGI Graphics FAQ - Graphics & Windowing SGI Hardware FAQ - Hardware issues SGI Misc FAQ - Introduction & Miscellaneous Information Each FAQ is posted to each comp.sys.sgi.* group as well as the news.answers and comp.answers newsgroups (whose purpose is to store FAQs) every two weeks. If you can't find one of the FAQs with your news program, you can get it by anonymous FTP from one of these sites: rtfm.mit.edu:pub/usenet/news.answers/sgi/faq/misc rtfm.mit.edu:pub/usenet/comp.sys.sgi.misc/SGI_misc_Frequently_Asked_Questions archone.tamu.edu:ftp/pub/sgi/faq/misc rtfm.mit.edu:pub/usenet/comp.answers/sgi/faq/misc Note that rtfm.mit.edu is home to many other FAQs and informational documents, and is a good place to look if you can't find an answer here. Topics covered in this FAQ: -------------------------- -1- How can I quickly find the question I want in this FAQ? -2- What are the various comp.sys.sgi.* groups? ! -3- What are some related FAQ lists? -4- What number do I call for information about SGI products? -5- What is the latest release of.. ! -6- What is the most current release of IRIX for my machine? -7- Is there an easy way to determine which release of IRIX I'm running? ! -8- Can I get a list of known bugs? -9- Where can I get used SGI machines? ! -10- Where can I find software for my SGI? -11- Credits ---------------------------------------------------------------------- ~Subject: -1- How can I quickly find the question I want in this FAQ? ~Date: 27 May 93 00:00:01 EST - This FAQ follows the RFC1153 recommendations for message digests and thus can be viewed easily with newsreaders that understand message digests. - Each question has a Subject: line, so you can easily step through the answers with rn's ^G command. - Each question is marked with a "dash number dash" so that you can find any answer with a simple search pattern. - Questions marked with a '+' are new this posting; those marked with a '!' have significant new content since the last edition. ------------------------------ ~Subject: -2- What are the various comp.sys.sgi.* groups? ~Date: 07 May 93 00:00:01 EST The active SGI newsgroups are comp.sys.sgi.announce Announcements for the SGI community. (Moderated) comp.sys.sgi.admin System administration on Silicon Graphics's Irises. comp.sys.sgi.apps Applications which run on the Iris. comp.sys.sgi.bugs Bugs found in the IRIX operating system. comp.sys.sgi.graphics Graphics packages and issues on SGI machines. comp.sys.sgi.hardware Base systems and peripherals for Iris computers. comp.sys.sgi.misc General discussion about SGI's machines. The original comp.sys.sgi newsgroup is obsolete. Please don't post to it, so the rest of us won't miss anything. To submit an article for posting in comp.sys.sgi.announce, send mail to Matthew Wicks at sgi-announce-request@dcdmjw.fnal.gov. ------------------------------ ~Subject: ! -3- What are some related FAQ lists? ~Date: 15 Jun 93 00:00:01 EST Silicon Graphics-specific lists: SGI Anonymous FTP archives Posted monthly to comp.sys.sgi, news.answers FTP from rtfm.mit.edu in /pub/usenet/news.answers/sgi Contact billh@hampton.sgi.com (Bill Henderson) Known SGI User Groups (SUMMARY) Posted monthly to comp.sys.sgi.misc FTP from archone.tamu.edu in /pub/sgi Contact syscrc@gsusgi1.gsu.edu (Randy Carpenter) Iris 2000 & 3000 systems FAQ (note that this refers to old SGI models, not MIPS R2000/R3000 chips) Contact jonathan@vort.cuc.ab.ca (Jonathan Levine). Jonathan may also start a mailing list for Iris 2000/3000 owners if there is interest. Explorer FAQ Posted ??? to comp.graphics.explorer FTP from swedishchef.lerc.nasa.gov in explorer/FAQ Contact explorer-request@castle.ed.ac.uk Inventor FAQ FTP from archone.tamu.edu in /pub/sgi/faq/inventor Contact gavin@sgi.com (Gavin Bell) Third-party hardware vendor lists (disks, memory, and magneto-optical drives) FTP from archone.tamu.edu in /pub/sgi/3rd-party Contact blbates@aero36.larc.nasa.gov (Brent L. Bates) Other lists of interest to SGI users: comp.graphics Frequently Asked Questions (FAQ) Posted monthly to comp.graphics, news.answers Contact grieggs@jpl-devvax.jpl.nasa.gov (John T. Grieggs) comp.windows.x Frequently Asked Questions (FAQ) Posted monthly to comp.windows.x,news.answers,alt.answers,comp.answers Contact faq%craft@uunet.uu.net (X FAQ maintenance address) comp.windows.x: Getting more performance out of X FAQ Posted monthly to comp.windows.x, news.answers Contact art@cs.ualberta.ca (Art Mulder) Motif FAQ Posted monthly to comp.windows.x.motif,news.answers Contact jan@ise.canberra.edu.au (Jan Newmarch) Unix - Frequently Asked Questions Posted monthly to comp.unix.questions, comp.unix.shell, news.answers Contact tmatimar@empress.com (Ted M A Timar) All of these may be FTPed from various directories on rtfm.mit.edu. ------------------------------ ~Subject: -4- What number do I call for information about SGI products? ~Date: 07 May 93 00:00:01 EST For product information, call SGI Express or your local SGI sales office. SGI Express can be reached at: 1-800-800-SGI1 (1-800-800-7441). For SGI Technical Support call 1-800-800-4SGI (1-800-800-4744). Customers outside of North America must call their regional sales office. ------------------------------ ~Subject: -5- What is the latest release of.. ~Date: 07 May 93 00:00:01 EST This changes quite often. The best way to get up-to-date information about SGI products is to call SGI Express. ------------------------------ ~Subject: ! -6- What is the most current release of IRIX for my machine? ~Date: 20 May 93 00:00:01 CST As of this writing: Indigo (R3000/R4000): IRIX 4.0.5IOP (Indigo-Only Patch) Indigo2: IRIX 4.0.5H Onyx/Challenge: IRIX 5.0.1 RealityEngine: IRIX 4.0.5G RealityEngine w/ MCO: IRIX 4.0.5H others: IRIX 4.0.5C ------------------------------ ~Subject: -7- Is there an easy way to determine which release of IRIX I'm running? ~Date: 20 May 93 00:00:01 CST 'uname -a' gives you all the kernel info; see 'man uname' for other options. Of more general use, since kernels don't always reflect installed software, is the 'versions' command. 'versions' with no arguments lists all the installed software subsystems. ------------------------------ ~Subject: ! -8- Can I get a list of known bugs? ~Date: 15 Jun 93 00:00:01 EST Yes. In addition to known bugs that are documented in Product Release Notes, the IRIS InSight Support Library includes a collection of customer reported software, document problems, and requests for enhancements in the Software Status Update (SSU) binder. The IRIS InSight Subscription Service (SC4-INS-2.0) is an annually renewed service which can be purchased from SGI. ------------------------------ ~Subject: -9- Where can I get used SGI machines? ~Date: 26 May 93 00:00:01 CST The SGI Systems Remarketing group makes used SGI machines available to sales representatives. If you want to buy a used SGI machine, ask your local sales rep or call SGI Express at 1-800-800-7441. wgbhres@world.std.com (Boris Levitin) writes, Sun Valley (408)224-6261 Joe Ferris Minicomputer Exchange (408)733-4400 XS International (404)874-1212 Security Computer Sales (612)227-5683 ------------------------------ ~Subject: ! -10- Where can I find software for my SGI? ~Date: 15 Jun 93 00:00:01 EST Silicon Graphics can tell you about their own and third-party commercial software. Call SGI Express (800-800-SGI1) for more information. The best general reference for finding sources on the Internet is Jonathan Kamens' "Finding Sources" document. It can be FTPed from rtfm.mit.edu in /pub/usenet/news.answers/finding-sources. Read it carefully before you post a question about finding software ... because half of your answers will be "look in Archie" anyway, and "Finding Sources" tells you how to do that. Useful general archive sites include export.lcs.mit.edu for X software (and X itself), aeneas.mit.edu for GNU software, and wuarchive.wustl.edu and ftp.uu.net for nearly anything, including archives of many Usenet sources newsgroups and mirrors of the aforementioned GNU and X archives. The best SGI-specific reference is Bill Henderson's SGI anonymous FTP list. Good places to look, if you just feel like looking, are ftp.sgi.com, where are kept any number of freebies from the folks at SGI and swedishchef.lerc.nasa.gov, a particularly well-stocked SGI site. Bill Henderson's list is a good place to look for compiled software if you've had trouble compiling it yourself or don't have a compiler. However, many of these binaries won't be the latest version, and it's worth checking the latest version to see if SGI support has improved. SGI's presence has increased markedly in recent years and the trend is definitely toward better IRIX support. ------------------------------ ~Subject: -11- Credits ~Date: 6 May 93 00:00:01 EST The comp.sys.sgi FAQs are the collective effort of Dale Chayes dale@ldeo.columbia.edu Steve Rikli steve@archone.tamu.edu Allan Schaffer aschaffe@sgi.com Dave Schweisguth dcs@neutron.chem.yale.edu Special thanks are due to Tom Davis Author of 'zip' Harry Mangalam Maintainer of the comp.sys.sgi.* WAIS database Finally, much thanks to all of the SGI employees on Usenet, all of whom have provided gigabytes of help and information. Credits for individual contributions are given in the answers. ------------------------------ -- Allan Schaffer aschaffe@sgi.com -- Allan Schaffer aschaffe@sgi.com Xref: news1.cis.umn.edu comp.sys.sgi.misc:3360 comp.sys.sgi.admin:2228 comp.sys.sgi.apps:1083 comp.sys.sgi.bugs:1131 comp.sys.sgi.graphics:1617 comp.sys.sgi.hardware:1803 comp.answers:1304 news.answers:10323 Path: news1.cis.umn.edu!umn.edu!news-feed-2.peachnet.edu!darwin.sura.net!math.ohio-state.edu!usc!elroy.jpl.nasa.gov!ames!sgi!fido.asd.sgi.com!holodeck.csd.sgi.com!aschaffe From: aschaffe@holodeck.csd.sgi.com (Allan Schaffer) Newsgroups: comp.sys.sgi.misc,comp.sys.sgi.admin,comp.sys.sgi.apps,comp.sys.sgi.bugs,comp.sys.sgi.graphics,comp.sys.sgi.hardware,comp.answers,news.answers Subject: SGI admin Frequently Asked Questions (FAQ) Supersedes: Followup-To: comp.sys.sgi.misc Date: 15 Jul 1993 07:01:00 GMT Organization: Silicon Graphics, Inc., Mountain View, CA Lines: 539 Approved: news-answers-request@MIT.Edu Expires: 13 Aug 1993 07:01:01 GMT Message-ID: References: Reply-To: sgi-faq@archone.tamu.edu NNTP-Posting-Host: holodeck.csd.sgi.com Originator: aschaffe@holodeck.csd.sgi.com Archive-name: sgi/faq/admin SGI admin Frequently Asked Questions (FAQ) This information is freely distributable and wide circulation is encouraged. The contents are accurate as far as we know, but the usual disclaimers apply. This FAQ contains errors! Finding them is an exercise for alert readers. Please send additions and changes to sgi-faq@archone.tamu.edu. This FAQ is one of the SGI FAQ series, which consists of: SGI Admin FAQ - IRIX System Administration SGI Apps FAQ - Applications & Compilers SGI Graphics FAQ - Graphics & Windowing SGI Hardware FAQ - Hardware issues SGI Misc FAQ - Introduction & Miscellaneous Information Each FAQ is posted to each comp.sys.sgi.* group as well as the news.answers and comp.answers newsgroups (whose purpose is to store FAQs) every two weeks. If you can't find one of the FAQs with your news program, you can get it by anonymous FTP from one of these sites: rtfm.mit.edu:pub/usenet/news.answers/sgi/faq/admin rtfm.mit.edu:pub/usenet/comp.sys.sgi.misc/SGI_admin_Frequently_Asked_Questions archone.tamu.edu:ftp/pub/sgi/faq/admin rtfm.mit.edu:pub/usenet/comp.answers/sgi/faq/admin Note that rtfm.mit.edu is home to many other FAQs and informational documents, and is a good place to look if you can't find an answer here. Topics covered in this FAQ: -------------------------- -1- How can I quickly find the question I want in this FAQ? -2- Is it possible to use a system with graphics to run the Visual System Manager ('vadmin') on a system without graphics? -3- Is it possible to boot from a CD-ROM? -4- Is it possible to remotely install IRIX over a network? -5- What is the most current release of IRIX for my machine? -6- How can I track failed login attempts on my system? -7- I've configured 'tftp' in /usr/etc/inetd.conf--why isn't it working? -8- Is 'pcnfsd' available for the SGI? -9- Is there an easy way to determine which release of IRIX I'm running? -10- How do I set the number of processes allowed on my machine? -11- I think I've found a security hole in IRIX; who do I notify at SGI? -12- I want to install a termcap for 'iris-ansi-net' on my non-SGI system, but I can't find a termcap file on the SGI. Where can I get one? -13- My SGI crashed and generated a file, /usr/adm/crash/vmcore.1 . How can I examine this file to see what crashed my system? -14- Why can't I export an NFS-mounted filesystem? -15- Why is my network license daemon ('netlsd') exiting? -16- How do I log anonymous ftp sessions? -17- How can I determine my SGI's unique ethernet hardware address? -18- Security problem with pre-IRIX4.0.5 'lp' ! -19- Why isn't /usr/adm/SYSLOG being updated? + -20- Why is 'rusers' showing users who aren't really logged in? + -21- How do I make a bootable tape from an IRIX 4.0.X CD? -22- Credits ---------------------------------------------------------------------- ~Subject: -1- How can I quickly find the question I want in this FAQ? ~Date: 27 May 93 00:00:01 EST - This FAQ follows the RFC1153 recommendations for message digests and thus can be viewed easily with newsreaders that understand message digests. - Each question has a Subject: line, so you can easily step through the answers with rn's ^G command. - Each question is marked with a "dash number dash" so that you can find any answer with a simple search pattern. - Questions marked with a '+' are new this posting; those marked with a '!' have significant new content since the last edition. ------------------------------ ~Subject: -2- Is it possible to use a system with graphics to run the Visual System Manager ('vadmin') on a system without graphics? ~Date: 20 May 93 00:00:01 CST Yes. Make sure the DISPLAY environment variable is set correctly, and the shared libraries must be installed on the graphic-less system (which is the default installation), along with all the eoe2.sw.vadmin stuff. ------------------------------ ~Subject: -3- Is it possible to boot from a CD-ROM? ~Date: 20 May 93 00:00:01 CST Yes, for systems with new PROMs, such as Indigo and Crimson, it can be done. For older systems it can be done with the SGI CD-ROM drive, but it can get frustrating in some cases. For some older systems, it may be necessary to use either a local tape drive, or boot them over the network. ------------------------------ ~Subject: -4- Is it possible to remotely install IRIX over a network? ~Date: 20 May 93 00:00:01 CST Yes. There are several different ways to do this: - from a remote machine with a CD-ROM - from a remote machine with a tape drive - from a remote machine with an IRIX distribution directory All of these scenarios (and several others) are described in detail in the "IRIS Software Installation Guide". Examples are provided. ------------------------------ ~Subject: -5- What is the most current release of IRIX for my machine? ~Date: 20 May 93 00:00:01 CST This changes quite often. As of this writing: Indigos: IRIX 4.0.5f Onyx/Challenge: IRIX 5.* others: IRIX 4.0.5a ------------------------------ ~Subject: -6- How can I track failed login attempts on my system? ~Date: 20 May 93 00:00:01 CST Put syslog=all in /etc/cofig/login.options, as described in 'man login'. Add logging arguments to lines in /usr/etc/inetd.conf, as directed by the man pages for the daemons in question. ------------------------------ ~Subject: -7- I've configured 'tftp' in /usr/etc/inetd.conf--why isn't it working? ~Date: 20 May 93 00:00:01 CST The command in /usr/etc/inetd.conf that starts up tftpd is: tftp dgram udp wait guest /usr/etc/tftpd tftpd -s /usr/local/boot Or something similar. Changes made to this line will NOT take effect until you do (as root) 'killall -HUP inetd', or reboot. ------------------------------ ~Subject: -8- Is 'pcnfsd' available for the SGI? ~Date: 20 May 93 00:00:01 CST Yes. A binary and man page are available via anonymous ftp from sgi.com, in /pub/pcnfsd.tar . It is unsupported, as the included README disclaimer will tell you. ------------------------------ ~Subject: -9- Is there an easy way to determine which release of IRIX I'm running? ~Date: 20 May 93 00:00:01 CST 'uname -a' gives you all the kernel info; see 'man uname' for other options. Of more general use, since kernels don't always reflect installed software, is the 'versions' command. 'versions' with no arguments lists all the installed software subsystems. ------------------------------ ~Subject: -10- How do I set the number of processes allowed on my machine? ~Date: 20 May 93 00:00:01 CST Change /usr/sysgen/master.d/kernel, run '/etc/autoconfig -f', reboot. ------------------------------ ~Subject: -11- I think I've found a security hole in IRIX; who do I notify at SGI? ~Date: 20 May 93 00:00:01 CST In general, if you find a security problem (or think you have), you can send it to postmaster@sgi.com . You can also notify CERT (cert@cert.org), and they will contact the appropriate people from their contact list. ------------------------------ ~Subject: -12- I want to install a termcap for 'iris-ansi-net' on my non-SGI system, but I can't find a termcap file on the SGI. Where can I get one? ~Date: 20 May 93 00:00:01 CST SGIs use the system 5 style terminfo stuff. What you want can be done though. See 'man infocmp', and the documentation about -r. This should do the job: 'infocmp -Cr iris-ansi'. If you don't have infocmp, you have to install eoe2.sw.terminf, which is not installed by default. ------------------------------ ~Subject: -13- My SGI crashed and generated a file, /usr/adm/crash/vmcore.1 . How can I examine this file to see what crashed my system? ~Date: 20 May 93 00:00:01 CST dbx -k /usr/adm/crash/{unix,vmcore}.# t &putbuf/1000s Is a reasonable starting sequence. The Technical Assistance Center (TAC) has some scripts that they have customers run to provide more info in some cases. ------------------------------ ~Subject: -14- Why can't I export an NFS-mounted filesystem? ~Date: 20 May 93 00:00:01 CST This is known as multi-hop NFS and is not allowed/supported in (Sun's) NFS. SGI decided in IRIX 4.0.X it was better to prevent attempts to export NFS-mounted filesystems than to catch the error on client access. ------------------------------ ~Subject: -15- Why is my network license daemon ('netlsd') exiting? ~Date: 20 May 93 00:00:01 CST For netlsd to run, you need to have 'llbd' and 'glbd' installed and running. A complete debugging procedure is in the netls release notes, which can be read with 'relnotes netls_eoe 5'. ------------------------------ ~Subject: -16- How do I log anonymous ftp sessions? ~Date: 20 May 93 00:00:01 CST The IRIX 4.0.X 'ftpd' will make additional entries to the syslog with the '-l' option. 'ftpd -ll' will keep an accounting of how many times a file is requested and by whom, and 'ftpd -lll' will log the number of bytes transferred as well. 'man ftpd' for more details. ------------------------------ ~Subject: -17- How can I determine my SGI's unique ethernet hardware address? ~Date: 20 May 93 00:00:01 CST There are several ways to do this. Many thanks to miguel@oasis.csd.sgi.com, for providing this robust answer and discussion: Determining Your System's Address(es): Ethernet versus Internet Protocol The physical Ethernet address of your system is the unique number assigned to the Ethernet hardware on your system and is not to be confused with the IP address which can be set. This unique number is assigned to the manufacturer of your Ethernet hardware by the IEEE, (previously assigned by Xerox, one of the original developers of Ethernet). Every system on an Ethernet network must have a unique Ethernet address for the network to operate properly. You may need to determine your system's Ethernet address if your network manager requires it before connecting your system to a network. There are several ways to obtain the Ethernet address, depending on whether IRIX is running and what operating system version is loaded. Methods 1 and 2 will only provide the Ethernet address of the Primary interface. If you have multiple Ethernet interfaces (boards) in a system, use Method 3 or Method 4 to determine the address(es) of any other interface(s). METHOD 1: eaddr If IRIX is not running, and the system is an Indigo (4DRPC) or Personal IRIS (4D20, 4D25, 4D30, 4D35), you may obtain the Ethernet address by typing eaddr at the prom monitor prompt. Instead of booting the system, press the escape key to go to the System Maintenance menu. Select 5 for the Command Monitor mode. At the >> prompt type eaddr. The number returned is your Ethernet address. METHOD 2: sysinfo If IRIX 3.3.X or 4.0.X is running, you can use the sysinfo command. This command will return a series of numbers that will provide all or part of the Ethernet address depending on the type of system. On Indigo and Personal IRIS systems (4DRPC, 4D20, 4D25, 4D30, 4D35) sysinfo will return part of the Ethernet address. For example: % /etc/sysinfo System ID: 69 06 0c 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 In this case, the last 4 parts of the address are displayed. The first 2 parts are 08 and 00 (since this is the block of addresses assigned to Silicon Graphics). This system's Ethernet address is 08:00:69:06:0c:40. On Power Series systems (4D50, 4D60, 4D70, 4D80, 4D1xx, 4D2xx, 4D3xx, 4D4xx), sysinfo will return the entire Ethernet address but it is intermixed with other numbers. For example: % /etc/sysinfo System ID: 08 2c 00 3e 69 50 02 62 10 74 d1 86 8f 98 a1 aa b3 bc c5 ce d7 e0 e9 f2 fb 04 0d 16 1f 28 31 3a 43 4c 55 5e 67 70 79 82 8b 94 9d a6 af b8 c1 ca d3 dc e5 ee f7 00 09 12 1b 24 2d 36 3f 48 51 5a Reading the first column and every other column reveals the Ethernet address 08:00:69:02:10:d1 for this system. METHOD 3: arp You can obtain the Ethernet address of a Silicon Graphics system by using another system on your network. From that system ping the system you want the Ethernet address of. Stop the ping and issue /usr/etc/arp where is the name of the system you want to obtain the Ethernet address of. This will return the Ethernet address as in the following example: % /usr/etc/ping luey6 PING luey6.sgi.com (192.48.200.250): 56 data bytes 64 bytes from 192.48.200.250: icmp_seq=0 ttl=255 time=0 ms 64 bytes from 192.48.200.250: icmp_seq=1 ttl=255 time=0 ms 64 bytes from 192.48.200.250: icmp_seq=2 ttl=255 time=0 ms ^c ----luey6.sgi.com PING Statistics---- 3 packets transmitted, 3 packets received, 0% packet loss round-trip (ms) min/avg/max = 0/0/0 % /usr/etc/arp luey6 luey6 (192.48.200.250) at 8:0:69:6:c:40 % METHOD 4: netstat If you are running version 4.0.X of IRIX, you can use the netstat command to obtain your Ethernet address. For example: % /usr/etc/netstat -ia Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll ec0 1500 siligrph luey7 7765678 21648 384477 0 30338 192.48.200.251 192.0.0.1 08:00:69:06:17:c2 lo0 32880 loopback localhost 41438 0 41438 0 0 192.0.0.1 In the preceding example the Ethernet address of the system luey7 is 08:00:69:06:17:c2 as seen on the fourth address line for the primary Ethernet interface ec0. 4DDN: A Special Case 4DDN is Silicon Graphics' DECnet interconnection product. The Ethernet address of an IRIS running 4DDN will change when 4DDN is started. DECnet uses a one-to-one relationship between the DECnet node ID and the Ethernet address. If the DECnet address is changed the Ethernet address is changed. DECnet Ethernet addresses always start with aa: to allow you to identify systems running DECnet when you use the arp -a command. will return the original Ethernet address for the system. Methods 3 and 4 will show the Ethernet address currently in use. ------------------------------ ~Subject: -18- Security problem with pre-IRIX4.0.5 'lp' ~Date: 20 May 93 00:00:01 CST Ref: Cert Advisory CA-92:08 Thanks to Dave Olson (olson@anchor.esd.sgi.com) for this one: Attached please find a patch for a security problem found in all versions of IRIX. This vulnerability is *not* present in any version of the Trusted IRIX/B product. The problem was found (by SGI employees) by inspection of the lp spooling system in response to recent postings on comp.sys.sgi. Note that this is not inherently a problem in having an open lp account (no password), but rather a configuration problem on the part of Silicon Graphics. I have heard (shortly after we found it ourselves) from only one customer who has independently found this problem, so presumably it isn't widely known yet. Other Unix versions derived from early S5R3 releases may (or may not) have similar problems. No files need to be replaced, just modes changed to remove set[gu]id bits, and writability of some files. The commands to do so are part of the attachment below. The body of the attachment below has also been submitted to CERT (Computer Emergency Response Team) for publication by them; it may be published in an altered form. To those who have been discussing security problems on comp.sys.sgi, I (personally, not speaking for SGI) apologize for not being able to disclose this earlier in my replies. We have only known about this for a matter of days, and needed to do some testing to be sure we weren't introducing any problems by the use of this fix. I hope that my postings over the last few days will be interpreted as they were written, and not as an attempt to lull people into believing that no problems existed. =========================================================================== I. DESCRIPTION: A vulnerability exists such that IRIX pre-4.0.5 systems with the basic system software ("eoe1.sw.unix") or the system manager software ("eoe2.sw.vadmin") installed can allow unauthorized access to the superuser account, by exploiting a configuration error in standard system utilities. Due to the ease of exploiting this vulnerability and the simplicity of the corrective action, the CERT/CC urges all sites to install the patch given below. II. IMPACT: Anyone who can login as (or su to) the user "lp" can become root on any pre-IRIX 4.0.5 system. As Irix is normally distributed, this includes any ordinary user III. SOLUTION: As "root", execute the following commands: cd /usr/lib chmod a-s,go-w lpshut lpmove accept reject lpadmin chmod go-ws lpsched vadmin/serial_ports vadmin/users vadmin/disks cd /usr/bin chmod a-s,go-w disable enable chmod go-ws cancel lp lpstat If the eoe2.sw.vadmin software is not installed, you may get messages like: "chmod: WARNING: can't access vadmin/serial_ports" These can be ignored if they occur. If system software should ever be reloaded from pre-4.0.5 media or from a backup tape created before the patch was applied, repeat the above procedure immediately after the software has been reloaded, before enabling logins by normal users. [ Fixed in IRIX 4.0.5 ] ------------------------------ ~Subject: ! -19- Why isn't /usr/adm/SYSLOG being updated? ~Date: 05 Jul 93 00:00:01 CST Thanks to Vernon Schryver (vjs@rhyolite.wpd.sgi.com) here. Popular causes include: -running out of disk space. Once syslogd is unable to write to /usr/adm/SYSLOG, it won't try again until it is `killall -HUP syslogd`. -installing IRIX 4.0.X and failing to heed the nagging from the system when it is rebooted to run 'versions changed' and combine new and old configuration files. In this case, the trouble is in /usr/spool/cron/crontabs/root. ------------------------------ ~Subject: + -20- Why is 'rusers' showing users who aren't really logged in? ~Date: 05 Jul 93 00:00:01 CST This is a well-known bug in IRIX 4.0.X wherein /etc/utmp is not being updated properly after a user logout. 'rusers' (and other programs) are simply reporting the non-updated contents of /etc/utmp. Several user-contributed fixes are available. Our thanks for this one goes to jer@blaise.cif.rochester.edu, and it may be obtained at: archone.tamu.edu:/pub/sgi/fixes/cleanutmp.tar.Z Thanks to David Hinds (dhinds@allegro.stanford.edu) for this fix: archone.tamu.edu:/pub/sgi/fixes/fixutmp.tar.Z And also to Patrick M. Ryan (pat@gsfc.nasa.gov) for this version: archone.tamu.edu:/pub/sgi/fixes/utmpfix.tar.Z Compilation and installation instructions are included. Note that there are others available; if authors of similar (or other) fixes would like to provide them to the SGI community, please contact sgi-faq@archone.tamu.edu, and we would be only too happy to include it in the FAQ and the anonymous FTP archive. ------------------------------ ~Subject: + -21- How do I make a bootable tape from an IRIX 4.0.X CD? ~Date: 05 Jul 93 00:00:01 CST Thanks to Dave Olson for this summary: Take a look at the distcp(1M) man page. tapehost# mount -o ro cdhost:/CDROM /mnt tapehost# distcp /mnt/dist /dev/nrtape Note that fx, ide, and sash for all machines are in the dist/sa file. sa is an image of the first part of the tape; use 'mkbootape -f sa -l' to see the contents. ------------------------------ ~Subject: -22- Credits ~Date: 6 May 93 00:00:01 EST The comp.sys.sgi FAQs are the collective effort of Dale Chayes dale@ldeo.columbia.edu Steve Rikli steve@archone.tamu.edu Allan Schaffer aschaffe@sgi.com Dave Schweisguth dcs@neutron.chem.yale.edu Special thanks are due to Tom Davis Author of 'zip' Harry Mangalam Maintainer of the comp.sys.sgi.* WAIS database Finally, much thanks to all of the SGI employees on Usenet, all of whom have provided gigabytes of help and information. Credits for individual contributions are given in the answers. ------------------------------ -- Allan Schaffer aschaffe@sgi.com -- Allan Schaffer aschaffe@sgi.com Xref: news1.cis.umn.edu comp.sys.sgi.misc:3359 comp.sys.sgi.admin:2227 comp.sys.sgi.apps:1082 comp.sys.sgi.bugs:1130 comp.sys.sgi.graphics:1616 comp.sys.sgi.hardware:1802 comp.answers:1303 news.answers:10322 Path: news1.cis.umn.edu!umn.edu!news-feed-2.peachnet.edu!gatech!howland.reston.ans.net!agate!ames!sgi!fido.asd.sgi.com!holodeck.csd.sgi.com!aschaffe From: aschaffe@holodeck.csd.sgi.com (Allan Schaffer) Newsgroups: comp.sys.sgi.misc,comp.sys.sgi.admin,comp.sys.sgi.apps,comp.sys.sgi.bugs,comp.sys.sgi.graphics,comp.sys.sgi.hardware,comp.answers,news.answers Subject: SGI hardware Frequently Asked Questions (FAQ) Supersedes: Followup-To: comp.sys.sgi.misc Date: 15 Jul 1993 07:01:02 GMT Organization: Silicon Graphics, Inc., Mountain View, CA Lines: 636 Approved: news-answers-request@MIT.Edu Expires: 13 Aug 1993 07:01:01 GMT Message-ID: References: Reply-To: sgi-faq@archone.tamu.edu NNTP-Posting-Host: holodeck.csd.sgi.com Originator: aschaffe@holodeck.csd.sgi.com Archive-name: sgi/faq/hardware SGI hardware Frequently Asked Questions (FAQ) This information is freely distributable and wide circulation is encouraged. The contents are accurate as far as we know, but the usual disclaimers apply. This FAQ contains errors! Finding them is an exercise for alert readers. Please send additions and changes to sgi-faq@archone.tamu.edu. This FAQ is one of the SGI FAQ series, which consists of: SGI Admin FAQ - IRIX System Administration SGI Apps FAQ - Applications & Compilers SGI Graphics FAQ - Graphics & Windowing SGI Hardware FAQ - Hardware issues SGI Misc FAQ - Introduction & Miscellaneous Information Each FAQ is posted to each comp.sys.sgi.* group as well as the news.answers and comp.answers newsgroups (whose purpose is to store FAQs) every two weeks. If you can't find one of the FAQs with your news program, you can get it by anonymous FTP from one of these sites: rtfm.mit.edu:pub/usenet/news.answers/sgi/faq/hardware rtfm.mit.edu:pub/usenet/comp.sys.sgi.misc/SGI_hardware_Frequently_Asked_Questions archone.tamu.edu:ftp/pub/sgi/faq/hardware rtfm.mit.edu:pub/usenet/comp.answers/sgi/faq/hardware Note that rtfm.mit.edu is home to many other FAQs and informational documents, and is a good place to look if you can't find an answer here. Topics covered in this FAQ: -------------------------- -1- How can I quickly find the question I want in this FAQ? -2- Can I mix 1MB and 2MB SIMMS in my 4d/20 & 4d/25 Personal IRISes? -3- Can I add 4MB SIMMS to my 4d/20 or 4d/25 PI? -4- How many 4MB SIMMS can be put into an Indigo? -5- Can I have 2 graphics displays on my Indigo? -6- Can I use a 3rd-party cartridge tape drive on my Indigo? -7- How fast is the Indigo parallel port? -8- What kind of DAT drive does SGI sell for the Indigo? -9- How many SCSI devices can I have on an Indigo? -10- Can I use a non-SGI CD-ROM with my Indigo? -11- What is my old SGI machine worth? -12- Which Exabyte drives work with SGI systems? -13- How do I install external SCSI disks on my SGI? -14- What is "/dev/tport" used for? ! -15- How long can my monitor/keyboard/mouse cables be? + -16- Can I use a cheap CD-ROM drive on my Indigo? + -17- What do I do when I get checksum error reading a tar tape. + -18- What are the differences between the Indigo R4000 and Indigo2 + -19- What high speed interfaces are available for Onyx? + -20- What do I need to do stereo on an Onyx/RE2? + -21- What new (higher performace) video options are available? -22- Credits ---------------------------------------------------------------------- ~Subject: -1- How can I quickly find the question I want in this FAQ? ~Date: 27 May 93 00:00:01 EST - This FAQ follows the RFC1153 recommendations for message digests and thus can be viewed easily with newsreaders that understand message digests. - Each question has a Subject: line, so you can easily step through the answers with rn's ^G command. - Each question is marked with a "dash number dash" so that you can find any answer with a simple search pattern. - Questions marked with a '+' are new this posting; those marked with a '!' have significant new content since the last edition. ------------------------------ ~Subject: -2- Can I mix 1MB and 2MB SIMMS in my 4d/20 & 4d/25 Personal IRISes? ~Date: 20 May 93 00:00:01 CST To cite from PIPELINE March/April 1992, page 18: You can use either 1MB or 2MB SIMMs in these systems. If you mix 1MB and 2MB SIMMs, all sixteen memory slots must be filled. ------------------------------ ~Subject: -3- Can I add 4MB SIMMS to my 4d/20 or 4d/25 PI? ~Date: 20 May 93 00:00:01 CST The short answer is "maybe". Read on. Thanks to Michael Portuesi (portuesi@tweezers.esd.sgi.com) for this helpful summary: The 4D/2* has 16 memory slots. You get access to them by removeing the right plastic cover and the metal shield underneath (box seen from the front). The slots are in the upper, left corner (box now seen from the right). The slots have to be populated by SIMMs (some kind of industry standard). I think 80 or even 100ns is allright, but take a look at the speed of your own SIMMs. SIMMs should always be mounted in groups of four. In a plain 8MB 4D/20 you have eight 1MB SIMMs. They are placed in slots A and B in this figure: ABCD ABCD ABCD ABCD If you upgrade to 16MB using eight more 1MB SIMMs you simply insert the new SIMMs in slots C and D. If you are going to mix different SIMMs you should always have the the same type of SIMM in slots with the same letter. As far as I know, the SGI 32MB memory upgrade is sixteen 2MB SIMMs, and they are mounted in all the slots. Now, I have been told (but haven't tried it) that it is possible to mix 1 and 2MB SIMMs. The important point is that the 2MB SIMMs should be in the lowest numbered slots. To get 24MB you should populate the slots as shown (signatures are, 1 = 1MB SIMM, 2 = 2MB SIMM, 4 = 4MB SIMM, . = empty slot): 2211 2211 2211 2211 The good news is that you can get 4MB SIMMs from third-party vendors outpricing the 2MB SIMMs available from SGI. To get 32MB you mount 8 4MB SIMMs like this: 44.. 44.. 44.. 44.. The bad news is that you cannot mix 4MB SIMMs with 1 or 2MB SIMMs (leaving a lot of spare SIMMs) and even worse, not all 4MB SIMMs will function properly. Among the "good" SIMMs are those from Toshiba. They should look something like this (information I got from a news aritcle posted by Chris Miller (eagle!news@ucbvax.berkeley.edu)): module ID tags: chip numbers: -------------- --------- TOSHIBA | TOSHIBA | | 9025AAA | TC514100J-80 | THM94000S-80 | | JAPAN | JAPAN 9020HDK -------------- --------- Among the "bad" SIMMs are those from Hitachi: chip numbers: JAPAN R200 9026 2NN HM514100JP8H Other memory configurations that we have tried are: (0 = empty slot, 1 = 1MB SIMM, 2 = 2MB SIMM, H = 4MB Hitachi SIMM, T = 4MB Toshiba SIMM) 1100 1100 Came up as 8MB (correct) 1100 1100 1111 1111 Came up as 16MB (correct) 1111 1111 TT11 TT11 Came up as 64MB (wrong) TT11 TT11 T000 T000 Came up as 16MB (correct) T000 T000 TT00 TT00 Came up as 32MB (correct) TT00 TT00 HH00 HH00 Came up as 0MB (wrong!!) HH00 HH00 TH00 TH00 Came up as 32MB (correct) TH00 TH00 TTH0 TTH0 Came up as 48MB (correct) TTH0 TTH0 TTHH TTHH Came up as 64MB (correct) TTHH TTHH 11TT 11TT Comes up as 16MB 11TT 11TT It appears as though the machine checks the first bank of chips (port 0) to determine the chip size and assumes that the rest are the same. The Hitachi 4MB SIMMs are NOT correctly detected. It is important that the 4MB SIMMs in slot A are 'good'. Then you are free to use "bad" 4MB SIMMs in the rest of the slots (this is my experience), and it is possible to upgrade to 64 MB populating all the slots with 4MB SIMMs. When you do the actual seating of the SIMMs you should take precautions (wear a static strap, work on a static pad) not to damage the memory. Sometimes you will have to reseat a module. If a SIMM is not properly seated it will probably show up on the diagnostics terminal (if you have one attached) during power on. After a succesful power on you should enter the PROM monitor and issue the 'hinv' command. This should tell you how much memory you have (or how much the 4D/2* believes it has). If this is correct you are ready to boot. ------------------------------ ~Subject: -4- How many 4MB SIMMS can be put into an Indigo? ~Date: 20 May 93 00:00:01 CST One (1) set. According to Dave Olson (olson@anchor.esd.sgi.com): Due to a design flaw, only one set of 4MB SIMMs (16 MB per bank) can be used in an R3000 Indigo, 4D/30 and 4D/35. This limitation doesn't apply to the 2 MB or 8 MB SIMMs. ------------------------------ ~Subject: -5- Can I have 2 graphics displays on my Indigo? ~Date: 20 May 93 00:00:01 CST The Dual Headed IRIS Indigo with Entry Graphics (W-RPC-DH) sounds like what you want. It has two Entry Graphics subsystems and two 16" monitors. Contact SGI Express (1-800-800-7441) for more information. ------------------------------ ~Subject: -6- Can I use a 3rd-party cartridge tape drive on my Indigo? ~Date: 26 May 93 00:00:01 CST The Tandberg and Archive QIC24 and QIC-150 drives both work just fine on the Indigo (both come in external versions), as do the Wangtek and Tandberg QIC-1000 drives (as of this quarter, and 4.0.5F or later). ------------------------------ ~Subject: -7- How fast is the Indigo parallel port? ~Date: 26 May 93 00:00:01 CST Default rate is about 200Kbytes/sec. This can be bumped up to at least 400, and perhaps higher by changing the strobe length, assuming the other side can handshake fast enough. See 'man plp'. ------------------------------ ~Subject: -8- What kind of DAT drive does SGI sell for the Indigo? ~Date: 26 May 93 00:00:01 CST The Indigo DAT drive is an ArDAT Python 4320. The drive SGI sells is completely standard 3.5" form factor hardware (no compression), but has firmware that so far ARDAT is selling only to SGI to provide audio over SCSI support, and to fix some bugs. ------------------------------ ~Subject: -9- How many SCSI devices can I have on an Indigo? ~Date: 26 May 93 00:00:01 CST You can have 7 SCSI devices, and as long as you have clean cabling, and one (and only one!) SCSI terminator at the end of the chain, and keep total cable length under 6 meters, there should be no problems, as far as the Indigo's bus itself goes. On an Indigo2, you can have 7 devices on the external SCSI bus, and up to 3 devices on the internal bus. ------------------------------ ~Subject: -10- Can I use a non-SGI CD-ROM with my Indigo? ~Date: 26 May 93 00:00:01 CST Dave Olson (olson@anchor.esd.sgi.com) says: We sell a modified Toshiba 3301B (special firmware and hardware). I've heard people say that they were able to use the Sun CD-ROM to boot the Indigo from, but can't confirm it. The basic requirement as far as Indigo goes is that the drive somehow be set to use a 512 byte block size. Since Indigo doesn't reset the SCSI bus on reboot or halt, you *might* be able to set the blocksize with a devscsi program while the system is up on non-SGI CD's, and then install from them, but I won't swear to it. ------------------------------ ~Subject: -11- What is my old SGI machine worth? ~Date: 26 May 93 00:00:01 CST Thanks to Thomas Sippel - Dau (cmaae47@imperial.ac.uk) for this summary: Since Computer technology has been improving so rapidly, this is difficult to answer generally. But you can take the following approches to get somewhere near a realistic estimate. 1. The Book Value. This assumes the computer is an investment object which is written down over a certain time. At the end of this time it is assumed that the residual value will pay for scrapping the object, so you do not have to pay someone to take it away. About 5 years seems reasonable for computers. Value the current value Price the original price n the age of the machine in months p depreciation rate 1.6% (for 62.5 months useful life) 1.1 Linear method: Value = Price * ( 1 - n * p ) 1.2 Degressive method: Value = Price * ( 1 - 2 * p ) ** n In the first 4 years the degressive method will give lower values. Once the degressive monthly depreciation is lower than the linear one, you should sell the machine and buy a new one, otherwise you pay more tax than you need to (talk to your accountants first, they should know the exact depreciation rate and method). 2. Comparative method. Get the new price of a similar current machine. Multiply the current price by any usefulness multipliers. For example: An Indigo R3000 server costs $8000 (N.B. NOT the real price) An Iris 4D/25 is about half the speed of it Then the current value of the 4D/25 cannot be more than $4000 regardless of what the book value says. For this you must strip or enhance the machine to a current standard. Say you take the price of an Indigo with 432 disk Mbyte and 16 Mbyte memory to assess the residual value of a 4D/25 with eight Mbyte memory and 330 Mbyte hard disk. You will arrive at the price after you have upgraded the the 4D/25 to 16 Mbyte. Since both machines are not very useful (stand alone) with so little disk space, you can allow for the difference in disk space when you calculate the price of the whole running system. For this method the old system must be able to run current software usefully. A system that does not run current software has no value, but see below. You should also take account of the maintenance cost for about three years, which is when a system you buy now would be due for replacement according to the book value method. 3. Components and options. You can view the system as an assembly of useful parts, such as monitor, keyboard, disk drives, system box, electronics module. If you have extra memory or disks (over and above the currently useful minimum), you can value them at about 80% of the price you currently have to pay third party suppliers. 4. Residual use value. If you can find a dedicated use for an old general purpose machine, then this could give you a final number. However, you need to allow for any work you have to put in to get to that state, and to keep the system there. You will also find that only reasonably large organisations have such dedicated uses. Finally, a word about maintenance: If you have one system only, and you cannot afford to lose it, you need to take maintenance, regardless of how much it is. From about 5 systems you can save yourself maintenance if you can afford to lose the odd system and load its uses onto the remaining ones. But remember that rescheduling people often meets resistance, and keeping people idle because of a system failure is extremely expensive. ------------------------------ ~Subject: -12- Which Exabyte drives work with SGI systems? ~Date: 26 May 93 00:00:01 CST Dave Olson (olson@anchor.esd.sgi.com) says: First, the 8200 (2.3 Gb). The original version we qualified was 100% stock from Exabyte. It had some problems on the ESD machines at power on, because of the somewhat non-standard way it handled the send-diag SCSI command. The current rev (252T) we ship is also standard firmware from Exabyte (to the best of my knowledge), and fixes that problem, and is also more robust in the face of servo problems. The 8500 (5 Gb) isn't fully qualified (by SGI) yet, and there is some argument over whether we will ask for custom firmware; I think we are definitely slanting towards standard firmware. The gotcha here is that Exabyte has released so many firmware revs for the 8500, that the word 'standard' is somewhat of a joke. I've lost touch with that effort a bit, so I don't know what firmware rev we are currently working with. 4.0.1 is the first IRIX release with support for the 8500, earlier releases will work to varying degrees with different 8500 firmware. ------------------------------ ~Subject: -13- How do I install external SCSI disks on my SGI? ~Date: 26 May 93 00:00:01 CST The Disk and File tool assumes you bought your drive from SGI, in which case it is already formatted, labelled, and mkfs'ed. Oh, and it also assumes you want to use the entire drive as a single partition. The basic procedure is to use 'fx' to format and label the drive (the label contains the partition layout), then use 'mkfs' to create the empty filesystem, and then create the mounts points and put the proper entries into /etc/fstab. The info you are looking for is in the IRIX Site Administrator's Guide. They are a two volume set that you have to order, but they are an absolute necessity for anyone doing IRIX system administration. Look in chapter 10 and chapter 6. ------------------------------ ~Subject: -14- What is "/dev/tport" used for? ~Date: 26 May 93 00:00:01 CST Mark Stadler (mds@sgi.com) says: /dev/tport is a streams based tty device driver which can be in one of 2 modes: - when X is not running, /dev/tport gets its input from the graphics keyboard and images in the frame buffer (textport mode). This mode is only intended to be used in single-user mode or during transitional periods when the X server is not running. - when X is running, /dev/tport doesn't get any input and generates no output. Any programs or shells using /dev/tport hang on reads and toss writes. Kind of a strange device. But it makes more sense with a clear understanding of how /dev/console works. /dev/console is kind of like a terminal switch box. Rather than switching physical rs232 cables, we direct console output onto the output stream of other streams-based devices who request such behavior with TIOCCONS ioctl. By default, /dev/console directs its output to /dev/tport. In the absence of a windowing system this causes console output (including kernel prints) to show up on the textport in front of you. Once the window system is started, the /dev/tport is no longer visible. Thus the console is no longer visible. At this point, a terminal emulation window (using streams based ttys) can issue the TIOCCONS ioctl to cause console output (including kernel printfs) to show up in the emulation in the window in front of you. Note that when you bring the window system down, /dev/tport is still there with the same session it started with and the console output redirected back to it again. ------------------------------ ~Subject: ! -15- How long can my monitor/keyboard/mouse cables be? ~Date: 26 May 93 00:00:01 CST Dave Olson (olson@anchor.esd.sgi.com) writes: SGI has (or had at one time) a 75 foot monitor cable on the price list. With a decent cable, this is about as far as you can get without getting pretty fuzzy; I've heard that with an extremely high quality cable, you can get to about 100 feet. Your limits may vary. EIA 423 should have no problems with up to 100 feet either, since the mouse is at 4800 baud, and the keyboard at 600. For really long runs, Rick McLeod( mcleod@esprit.esd.sgi.com) suggests: There are two companies that provide a long distance extension for keyboard, mouse and monitor. Both use fiber optics to do this. The keyboard, mouse and monitor can be located up to a couple of thousand feet away. The companies are: Lightwave Communications PH: (203) 878-9838 Meret Optical Communications PH: (310) 828-7496 ----------------------------- ~Subject: + -16- Can I use a cheap CD-ROM drive on my Indigo? ~Date: 12 Jun 93 17:57:03 EDT Rob Silvers reports that he has been sucessfully using a Toshiba TXM3401E1 from a third party on an Indigo: * Inst works * It is double speed * It is multi-session photo-cd * cdromd works * BOOTING (a very important aspect) is UNTESTED as of 12 June '93 * It will record music from a music CD to the hard disk with CDman * He paid about $760 for the drive. * It is physically larger than an external Apple or Next drive. ----------------------------------- ~Subject: + -17- What do I do when I get checksum error reading a tar tape. ~Date: 11 Jun 93 00:00:01 EST Glenn Randers-Pehrson (glennrp@BRL.MIL) says: You are probably trying to read a non-byte-swapped tape on a byte-swapping device, or vice versa. Tar tapes written on SGI's QIC cartridge drive, using the default device name "/dev/tape" are in byte-swapped format. SUN tapes are usually non-byte-swapped. On the IRIS, you can read non-byte-swapped tapes with tar -xvf /dev/tapens and you can write non-byte-swapped tapes destined for a Sun with tar -cvf /dev/tapens [directory_or_filename[s]] On the SUN, you can read byte-swapped tapes with dd if=/dev/rmt0 conv=swab | tar -xvf - Read "man tar" (DIAGNOSTICS section) and "man tps" for the gory details. ----------------------------------- ~Subject: + -18- What are the differences between the Indigo R4000 and Indigo2 ~Date: 9 Jun 93 Jamie Riotto (jamie@origami.esd.sgi.com) writes: An Indigo R4000 has two daughter board expansions which use our GIO-32BIS bus design. These cards are about the size of an index card. An Indigo2 has a 4-slot backplane design. All four slots have EISA connectors so you can have a graphics-less server with four EISA cards. Three of the slots have GIO-64 bus connectors, BUT ONLY TWO CONNECTORS CAN BE USED SIMULTANEOUSLY!. Graphics board sets take up one logical GIO-64 connection, but can take up more physical slots. The current Extreme graphics takes up one logical GIO-64 connection, but uses three slots. That means the other slot can be used for either EISA or GIO-64 expansion. Note that since not all slots have both EISA and GIO-64 connectors, you might have to shift the Extreme graphics board set up or down a slot if you want to use the fourth slot with GIO-64 expansion. GIO-64 by the way is similar to GIO-32 but is twice as wide, uses a different DMA protocol (pipelined), and used EISA form factor (with the connector moved of course :-). ----------------------------------- ~Subject: + -19- What high speed interfaces are available for Onyx? ~Date: 11 Jun 93 Robert van Liere (robertl@cwi.nl) writes: SGI have FDDI boards for the Onyx. These boards preform quite well although the Indigo FDDI broad preforms slightly better. I'm not sure about SGI ATM, although I guess all vendors are preparing for it. FORE systems make ATM boards for the GIO bus. Maybe they have something for the HIO as well. FORE systems, Inc 1000 Gamma Drive Pittsburgh, PA 15238-2940 412-967-4040 Fax 412-967-4044 info@fore.com GIA-100/125A (100 Mbps GIO Bus) GIA-100/175A (140 Mbps GIO Bus) and Yechezkal-Shimon Gutfreund (sgutfreund@gte.com) adds: Fore Systems, Pittsburgh PA, selles a 150Mbit/s ATM adapter card that you can use to connect to their ATM switch (using multi-mode fiber). ----------------------------------- ~Subject: + -20- What do I need to do stereo on an Onyx/RE2? ~Date: 14 Jun 93 Paul Spencer (spencer@hailwood.asd.sgi.com) illuminates us with: You just need the shutter glasses (and the emitter, which comes with the glasses). This is available as a kit from SGI. The standard SGI RealityEngine monitor can do stereo; you don't need a special CRT. Demo programs and sample source code is part of every IRIX release. ----------------------------------- ~Subject: + -21- What new (higher performace) video options are available? ~Date: Stan Jensen (stanj@corp.sgi.com) points out: At the NAB show in April SGI announced three video products: Galileo: a video I/O option for the "non-Entry" Indigoes Cosmo: a JPEG compression board for the Indigoes Sirius: a video I/O option for the Reality Engine and Onyx Stan also reminds us to call SGI Express when ever we are in doubt! ------------------------------ ~Subject: -22- Credits ~Date: 6 May 93 00:00:01 EST The comp.sys.sgi FAQs are the collective effort of Dale Chayes dale@ldeo.columbia.edu Steve Rikli steve@archone.tamu.edu Allan Schaffer aschaffe@sgi.com Dave Schweisguth dcs@neutron.chem.yale.edu Special thanks are due to Tom Davis Author of 'zip' Harry Mangalam Maintainer of the comp.sys.sgi.* WAIS database Finally, much thanks to all of the SGI employees on Usenet, all of whom have provided gigabytes of help and information. Credits for individual contributions are given in the answers. ------------------------------ -- Allan Schaffer aschaffe@sgi.com -- Allan Schaffer aschaffe@sgi.com