home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / sgi / faq / graphics < prev    next >
Encoding:
Internet Message Format  |  2001-07-06  |  76.8 KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!nycmny1-snh1.gtei.net!news.gtei.net!newsfeed.gamma.ru!Gamma.RU!newshub2.rdc1.sfba.home.com!news.home.com!enews.sgi.com!news.tamu.edu!sgi-faq
  2. From: sgi-faq@viz.tamu.edu (The SGI FAQ group)
  3. Newsgroups: comp.sys.sgi.misc,comp.answers,news.answers
  4. Subject: SGI graphics Frequently Asked Questions (FAQ)
  5. Supersedes: <graphics_993016817@viz.tamu.edu>
  6. Followup-To: comp.sys.sgi.misc
  7. Date: 6 Jul 2001 05:59:44 GMT
  8. Organization: Visualization Lab, Texas A&M University
  9. Lines: 2013
  10. Approved: news-answers-request@mit.edu
  11. Expires: 3 Aug 2001 06:00:15 GMT
  12. Message-ID: <graphics_994399215@viz.tamu.edu>
  13. Reply-To: sgi-faq@viz.tamu.edu (The SGI FAQ group)
  14. NNTP-Posting-Host: viz.tamu.edu
  15. NNTP-Posting-Date: 6 Jul 2001 05:59:44 GMT
  16. Originator: sgi-faq@viz.tamu.edu
  17. Xref: senator-bedfellow.mit.edu comp.sys.sgi.misc:57366 comp.answers:46111 news.answers:210663
  18.  
  19. Archive-name: sgi/faq/graphics
  20. Last-modified: Wed Oct 20  1:00:04 CDT 1999
  21. Posting-Frequency: Twice monthly
  22. URL: http://www-viz.tamu.edu/~sgi-faq/
  23.  
  24.     SGI graphics Frequently Asked Questions (FAQ)
  25.  
  26. This is one of the Silicon Graphics FAQ series, which consists of:
  27.  
  28.     SGI admin FAQ - IRIX system administration
  29.     SGI apps FAQ - Applications and miscellaneous programming
  30.     SGI audio FAQ - Audio applications and programming
  31.     SGI diffs FAQ - Changes to the other FAQs since the last posting
  32.     SGI graphics FAQ - Graphics and user environment customization
  33.     SGI hardware FAQ - Hardware
  34.     SGI impressario FAQ - IRIS Impressario
  35.     SGI inventor FAQ - IRIS Inventor
  36.     SGI misc FAQ - Introduction & miscellaneous information
  37.     SGI movie FAQ - Movies
  38.     SGI performer FAQ - IRIS Performer
  39.     SGI pointer FAQ - Pointer to the other FAQs
  40.     SGI security FAQ - IRIX security
  41.  
  42. Read the misc FAQ for information about the FAQs themselves. Each FAQ is
  43. posted to comp.sys.sgi.misc and to the news.answers and comp.answers
  44. newsgroups (whose purpose is to store FAQs) twice per month. If you
  45. can't find one of the FAQs with your news program, you can get it from
  46.  
  47.     ftp://viz.tamu.edu/pub/sgi/faq/
  48.     ftp://rtfm.mit.edu/pub/usenet/news.answers/sgi/faq/
  49.  
  50. (rtfm.mit.edu is home to many other FAQs and informational documents,
  51. and is a good place to look if you can't find an answer here.) The FAQs
  52. are on the World Wide Web at
  53.  
  54.     http://www-viz.tamu.edu/~sgi-faq/
  55.  
  56. If you can't use FTP or WWW, send mail to mail-server@rtfm.mit.edu with
  57. the word 'help' on a line by itself in the text, and it will send you a
  58. document describing how to get files from rtfm.mit.edu by mail. Send the
  59. command 'send usenet/news.answers/sgi/faq/misc' to get the SGI misc FAQ,
  60. and similarly for the other FAQs. Send the command 'send
  61. usenet/news.answers/internet-services/access-via-email' to get the
  62. "Accessing the Internet by E-Mail FAQ".
  63.  
  64. You may distribute the SGI FAQs freely and we encourage you to do so.
  65. However, you must keep them intact, including headers and this notice,
  66. and you must not charge for or profit from them. Contact us for other
  67. arrangements. We can't be responsible for copies of the SGI FAQs at
  68. sites which we do not control, and copies published on paper or CD-ROM
  69. are certain to be out of date. The contents are accurate as far as we
  70. know, but the usual disclaimers apply. Send additions and changes to
  71. sgi-faq@viz.tamu.edu.
  72.  
  73. Topics covered in this FAQ:
  74. ---------------------------
  75.    -1- DISPLAYS AND DGL
  76.    -2- How can I run a program on one machine and display it on another?
  77.    -3- Does the DISPLAY environment variable work for GL applications?
  78.    -4- Why doesn't the DISPLAY environment variable seem to work?
  79.    -5- Why do I get DGL errors when I try to run a GL program?
  80.    -6- CUSTOMIZING
  81.    -7- What tools does SGI provide to help with the customization
  82.        process?
  83.    -8- What are the important login and resource files for IRIX 4.0.x?
  84.    -9- What is the sequence of events that occur at login time in IRIX
  85.        4.0.x?
  86.   -10- What is the difference between .xsession and .sgisession in IRIX
  87.        4.0.x?
  88.   -11- Why do 4Dwm, toolchest, Workspace, etc. not recognize an
  89.        environment variable I set in my shell's startup files in IRIX
  90.        4.0.x?
  91.   -12- How can I change desktops without using the mouse and Desks
  92.        Overview?
  93.   -13- How can I turn off the IRIX 5.2 Magic user environment?
  94.   -14- How can I display my own background image under Indigo Magic?
  95.   -15- Where is the default value of PATH set?
  96.   -16- Why can't I log in after copying /usr/lib/X11/xdm/Xsession to
  97.        .xsession?
  98.   -17- How can I find out what fonts are available?
  99.   -18- How can I use the Alt key as a Meta key in an xwsh window?
  100.   -19- How can I configure my keyboard like a VT100?
  101.   -20- Can I put a single large picture in the 'clogin' display?
  102.   -21- How can I change clogin's background to an image?
  103.   -22- RESOURCES
  104.   -23- What are resources?
  105.   -24- How can I set resources?
  106.   -25- How can I use resources to run the same program twice with
  107.        different attributes?
  108.   -26- Does the GL recognize resources?
  109.   -27- How can I know what resources I can set for an application?
  110.   -28- What is a good approach to take in looking for resources?
  111.   -29- What is the precedence for resource files?
  112.   -30- Why do long resources cause X to crash mysteriously in IRIX 5.2?
  113.   -31- 4DWM
  114.   -32- Where can I learn more about the Window Manager?
  115.   -33- What files affect the window manager and what is their
  116.        relationship to each other?
  117.   -34- Do I need my own .4Dwmrc file?
  118.   -35- Can I run a different window manager?
  119.   -36- How can I choose a different window manager as the default?
  120.   -37- How can I recover from a failed window manager customization
  121.        attempt?
  122.   -38- ADMINISTRATION
  123.   -39- How can I log into pandora/clogin without bringing up graphics?
  124.   -40- How can I restart the console?
  125.   -41- How can I start and stop the graphics system?
  126.   -42- How can I restart the X server?
  127.   -43- How can I run 'xinit' manually, rather than automatically from
  128.        'xdm'?
  129.   -44- How can I start X on a remote host with no users logged in?
  130.   -45- IMAGE FILES
  131.   -46- How can I convert images to and from other formats?
  132.   -47- How can I convert models to and from other formats?
  133.   -48- What is the format of SGI's RGB files?
  134.   -49- How can I compress RGB bitmaps?
  135.   -50- How can I make a screen dump?
  136.   -51- Why does the IRIX 5.3 desktop recognize but not deal with JPEG
  137.        files?
  138.   -52- PROGRAMMING
  139.   -53- Can I use 4Dgifts code in my application?
  140.   -54- What does ERR_WMANIPC mean?
  141.   -55- How can I translate screen (x,y) coords into world (x,y,z)
  142.        coords?
  143.   -56- How can I translate world (x,y,z) coords into screen (x,y)
  144.        coords?
  145.   -57- Why does nothing happen when I call mapcolor(index, R, G, B)?
  146.   -58- Why can't 'cc' find some standard Xwindows functions?
  147.   -59- What is a GL widget?
  148.   -60- I'm using the GlxMDraw widget and it doesn't seem that colors are
  149.        being installed correctly.  Overlays in the GlxMDraw widget are
  150.        displayed in red and gray instead of the colors I specify.
  151.        What's wrong?
  152.   -61- Is there a way to switch between single and double buffering
  153.        within a GL widget on the fly?
  154.   -62- Why doesn't my X server use backing store? How can I turn it on?
  155.   -63- What is "/dev/tport" used for?
  156.   -64- Why is OpenGL's glDrawPixels slower than IrisGL's lrectwrite?
  157.   -65- BUGS AND PROBLEMS
  158.   -66- Why do I get a "Broken Pipe" error when I close an X client
  159.        window?
  160.   -67- What do the errors in my 'xdm-errors' file mean?
  161.   -68- Why doesn't SGI's xlock lock my screen?
  162.   -69- Why can't my XView application find its fonts?
  163.   -70- After running a few programs, the colors change as the cursor
  164.        moves. The colors are usually all wrong in other windows.
  165.   -71- How can I make my X Server use a 12-bit PseudoColor, 12-bit
  166.        TrueColor or 24-bit TrueColor visual by default?
  167.   -72- When I try to run UIM/X uxserverd, I get an error message saying,
  168.        "license file has been modified, cannot start the UIM/X license
  169.        server".
  170.   -73- I just upgraded from IRIX 5.2 to 5.3. Why does my PI or VGX say
  171.        "extension GLX missing on display :0.0"?
  172.   -74- Why does my X server (Xsgi) grow inexorably?
  173.   -75- Why does my GL application run slower on newer SGI hardware than
  174.        it did on older SGI hardware?
  175.   -76- MISCELLANEOUS
  176.   -77- What books about the X Window System and OSF/Motif do you
  177.        recommend?
  178.   -78- Does the IRIX 5.2 Magic user environment display on an X
  179.        terminal?
  180.   -79- What about OpenGL?
  181.   -80- Which SGI machines can run OpenGL now? Which will in the future?
  182.   -81- What's this about a copyright dispute over virtual desks in
  183.        Indigo Magic?
  184.  
  185. ----------------------------------------------------------------------
  186.  
  187. Subject:    -1- DISPLAYS AND DGL
  188. Date: 15 May 1994 00:00:01 EST
  189.  
  190.   This section discusses how to use remote displays.
  191.  
  192. ------------------------------
  193.  
  194. Subject:    -2- How can I run a program on one machine and display it on
  195.                 another?
  196. Date: 07 May 1993 00:00:01 EST
  197.  
  198.   Specify the host on which you want the X client to be displayed, then
  199.   run the application. To specify a remote host,
  200.  
  201.       setenv DISPLAY <destination>:0
  202.  
  203.   where <destination> is the name or IP address of the remote host.  To
  204.   specify the local host (console),
  205.  
  206.       setenv DISPLAY :0
  207.  
  208. ------------------------------
  209.  
  210. Subject:    -3- Does the DISPLAY environment variable work for GL
  211.                 applications?
  212. Date: 4 Jun 1997 00:00:01 EST
  213.  
  214.   Yes: IRIX 4.0.x and later uses the Distributed Graphics Library (DGL)
  215.   to allow GL programs to run remotely.  Applications running over
  216.   DGL use the DISPLAY environment variable just as do ordinary X 
  217.   applications.
  218.  
  219.   OpenGL applications also will pay attention to the DISPLAY variable.
  220.   OpenGL data, however, does not use DGL; it uses the standard X
  221.   communications mechanism.
  222.  
  223.  
  224. ------------------------------
  225.  
  226. Subject:    -4- Why doesn't the DISPLAY environment variable seem to
  227.                 work?
  228. Date: 4 Jun 1997 00:00:01 EST
  229.  
  230.   First, make sure your DISPLAY variable is syntactically correct.  For
  231.   example, to display applications on a machine named "enterprise",
  232.   whose IP address is 123.45.678.90, DISPLAY should be set to
  233.   "enterprise:0" or "123.45.678.90:0". 
  234.  
  235.   Next, try to "ping" the machine to which your DISPLAY variable is
  236.   set.  If this does not work, you have either specified an invalid
  237.   hostname, the host is down, or you are having network problems.
  238.   If you are running an older binary that expects to see /etc/resolv.conf
  239.   in /usr/etc, you will either have to make a symbolic link from
  240.   /usr/etc/resolv.conf to /etc/resolv.conf, or set the DISPLAY variable
  241.   with a numeric address.
  242.  
  243.   If you see messages like "permission denied" or "can't connect to
  244.   server", you have a permission problem.   Do 'xhost +yourmachine' on
  245.   the remote machine to give 'yourmachine' access to the remote
  246.   machine's display. (Note that 'xhost' is inactive by default on
  247.   SGIs.)
  248.  
  249.   If you're using NIS (YP), make sure the client is linked with
  250.   "-lsun".
  251.  
  252.   For more information see Chapter 3 of the X Window System User's
  253.   Guide.
  254.  
  255. ------------------------------
  256.  
  257. Subject:    -5- Why do I get DGL errors when I try to run a GL program?
  258. Date: 4 Jun 1997 00:00:01 EST
  259.  
  260.   - There may be a problem with the DISPLAY variable or Xwindows
  261.     permissions. See the previous question.
  262.  
  263.   - You may be trying to display on a non-SGI machine which doesn't
  264.     support GL/DGL.  Note that DGL is for running GL programs remotely,
  265.     not OpenGL programs.  OpenGL programs run remotely via the 
  266.     GLX X server extension.
  267.  
  268.   - DGL may be disabled in /etc/services and/or /etc/inetd.conf. The
  269.     former file should have a line reading
  270.  
  271.       sgi-dgl         5232/tcp
  272.  
  273.     and the latter should have a line reading
  274.  
  275.       sgi-dgl stream  tcp   nowait  root   /usr/etc/dgld  dgld -IM -tDGLTSOCKET
  276.  
  277.     If either is commented out, remove the comment.
  278.  
  279.   - You may be trying to display on a machine with a much older version
  280.     of IRIX. Try another machine with a newer IRIX.
  281.  
  282.   An article in the Jan/Feb 1993 Pipeline describes the above in great
  283.   detail.
  284.  
  285. ------------------------------
  286.  
  287. Subject:    -6- CUSTOMIZING
  288. Date: 15 May 1994 00:00:01 EST
  289.  
  290.   This section discusses ways to customize your environment, both with
  291.   and without graphics. The next two sections go into depth on
  292.   customizing Xwindows resources and the 4Dwm.
  293.  
  294. ------------------------------
  295.  
  296. Subject:    -7- What tools does SGI provide to help with the
  297.                 customization process?
  298. Date: 05 Jul 1994 00:00:01 EST
  299.  
  300.   Here are some good places to look in IRIX 4.0.x:
  301.  
  302.   - The Customization rollover menu in the Toolchest.
  303.   - The manpages for xfontsel, xlsfonts, xwininfo, xdpyinfo, xprop,
  304.     appres, listres, and xrdb.
  305.   - The "WorkSpace User's Guide".
  306.   - The example files in /usr/tutor/Customize.
  307.  
  308.   In IRIX 5.x, take the systemtour and keep your eyes open.
  309.  
  310. ------------------------------
  311.  
  312. Subject:    -8- What are the important login and resource files for IRIX
  313.                 4.0.x?
  314. Date: 07 May 1993 00:00:01 EST
  315.  
  316.   The following three file groupings indicate where files that affect
  317.   your login session reside.
  318.  
  319.   1) /usr/lib/X11/* - This is THE starting place. Here you find the
  320.   system default bindings for Motif, 4Dwm, and the Toolchest. The xdm
  321.   directory lives here as well as the app-defaults directory. xdm
  322.   controls the session management. Many application defaults are set in
  323.   the app-defaults directory.
  324.  
  325.   2) $HOME/[.Xdefaults, .4Dwmrc, .chestrc, .xsession, .sgisession] Here
  326.   you find the files that control your system set-up.  You create these
  327.   files; they don't exist when you first log in.
  328.  
  329.   3) /usr/bin/X11 - This is where the binaries live. It makes life nice
  330.   to include this directory in your path.
  331.  
  332. ------------------------------
  333.  
  334. Subject:    -9- What is the sequence of events that occur at login time
  335.                 in IRIX 4.0.x?
  336. Date: 10 Dec 1993 00:00:01 EST
  337.  
  338.   This is a bare bones synopsis of the events that occur when you log
  339.   in to the console via xdm (the default method of logging in) under
  340.   IRIX 4.0.x and, with the desktop *disabled*, IRIX 5.x.
  341.  
  342.    1) Provide a "failsafe" (nographics) login if required/requested.
  343.    2) Exec $HOME/.xsession if it exists. If it exists, the remaining
  344.       steps should normally be included in the users .xsession file
  345.       as well.
  346.    3) Load $HOME/.Xresources if it exists.
  347.    4) Set XUSERFILESEARCHPATH.
  348.    5) Incorporate a "shell" environment into the "session".
  349.       (man userenv)
  350.    6) Set the root background and cursor.
  351.    7) Disable display access control (xhost +).  (man xhost)
  352.    8) Start 4Dwm.
  353.    9) Wait for 4Dwm to come up.
  354.   10) Start the console.
  355.   11) Execute $HOME/.sgisession if it exists.
  356.   12) Start WorkSpace if the user wants it.
  357.   13) Put a Toolchest on each screen.
  358.   14) Exec the "reaper". (man reaper / endsession)
  359.  
  360. ------------------------------
  361.  
  362. Subject:   -10- What is the difference between .xsession and .sgisession
  363.                 in IRIX 4.0.x?
  364. Date: 07 May 1993 00:00:01 EST
  365.  
  366.   The system Xsession file (/usr/lib/X11/xdm/Xsession or
  367.   Xsession-remote) starts up a number of important things when you log
  368.   in, eg. 4Dwm, toolchest, loads resources, sets your
  369.   XUSERFILESEARCHPATH, sets your root background, etc.
  370.  
  371.   One of the last things it does is look in your home directory for a
  372.   .sgisession file.  This allows you to start additional programs at
  373.   login time. This is the file that you would use to start a mailbox,
  374.   additional window, a calendar, etc.
  375.  
  376.   ADVANTAGES OF $HOME/.sgisession :
  377.  
  378.       1) You don't need to read through yet another system file to see
  379.      what you need or don't need.
  380.  
  381.   DISADVANTAGES OF $HOME/.sgisession :
  382.  
  383.       1) You cannot override ALL of the defaults set for you. Some
  384.          things you can't change from a .sgisession file:
  385.  
  386.          A) You can't start a different window manager.
  387.          B) You can't change the way the console starts.
  388.          C) You can't change toolchest output redirection to
  389.         the console.
  390.  
  391.       2) Users of other vendors' equipment are used to seeing a
  392.      .xsession file.
  393.  
  394.   After checking for a "failsafe" (ie. no graphics) login, one of the
  395.   first things that /usr/lib/X11/xdm/Xsession does is check for
  396.   $HOME/.xsession.  If it exists, Xsession execs your .xsession file.
  397.   This means that if you are REALLY sure you know what you are doing,
  398.   you can log in with a different window manager, xterm as a console,
  399.   or xwsh not already iconified, etc.  You can also turn off the
  400.   toolchest output redirection, and start anything else you might have
  401.   done in $HOME/.sgisession. There is a discussion on xsession files in
  402.   volume 3 of the O'Reilly series.
  403.  
  404. ------------------------------
  405.  
  406. Subject:   -11- Why do 4Dwm, toolchest, Workspace, etc. not recognize an
  407.                 environment variable I set in my shell's startup files
  408.                 in IRIX 4.0.x?
  409. Date: 03 Sep 1995 00:00:01 EST
  410.  
  411.   The script /usr/lib/X11/xdm/Xsession (or, if you have one, your own
  412.   ~/.xsession) runs when you log in and starts your window manager
  413.   (4Dwm), Workspace, etc. To give these programs a copy of the
  414.   environment you define in your shell's startup files, Xsession first
  415.   runs 'userenv', which runs your shell just to see what environment
  416.   variables your shell's startup files set and puts them into
  417.   Xsession's environment.  Later on Xsession runs 4Dwm, Workspace, etc.
  418.   and they inherit Xsession's environment including the environment
  419.   variables which 'userenv' got from your shell's startup files.
  420.  
  421.   However, 'userenv' objects to 1) errors in your shell startup files,
  422.   2) commands which print output to the terminal and 3) commands like
  423.   'stty' and 'tset', which expect to be connected to a terminal.  Any
  424.   of these may cause 'userenv' to give up completely, so that Xsession,
  425.   4Dwm, Workspace, etc. do not get any of your shell's enviroment.
  426.  
  427.   To get 'userenv' to work, you must 1) make sure that your shell
  428.   startup files are error-free and 2) protect 'userenv' from commands
  429.   which print output or expect to be connected to a terminal by testing
  430.   for the ENVONLY environment variable before running them. (See the
  431.   userenv(1) manpage.) You might try disabling your shell startup files
  432.   (or parts thereof) one by one to narrow down which is causing the
  433.   problem.  Be sure to check both personal and system-wide shell
  434.   startup files! See your shell's manpage for a complete list.
  435.  
  436.   Note that each terminal window (aka 'winterm', 'xwsh' or 'xterm')
  437.   runs a fresh copy of your shell, so it has a second chance to set
  438.   your environment variables. Your shell is now connected to a terminal
  439.   and 'userenv' isn't involved, so none of the above problems apply.
  440.   The environment in a terminal window will appear correct, and
  441.   programs started from a window (e.g. by typing 'workspace' to start
  442.   Workspace) will inherit the environment properly.  Furthermore,
  443.   'userenv' often appears to work when run inside a terminal window,
  444.   even when it does not work when run from Xsession.  This is all fine,
  445.   but it doesn't help when you log in. One right way to see if
  446.   'userenv' is working when it should is to add the line 'env >
  447.   $HOME/test-userenv' to Xsession after the line that runs 'userenv',
  448.   log in and examine the file it creates.
  449.  
  450.   'bash' users take note: 'bash' has particular problems with 'userenv',
  451.   and there is a special version of 'userenv' which works with 'bash' at
  452.   ftp://viz.tamu.edu/pub/sgi/software/desktop/userenv.tar.gz.
  453.  
  454. ------------------------------
  455.  
  456. Subject:   -12- How can I change desktops without using the mouse and
  457.                 Desks Overview?
  458. Date: 8 Mar 1997 00:00:01 CST
  459.  
  460.   Ping Huang <pshuang@sgi.com> contributes the following method:
  461.  
  462.   Unlike some other window managers, you can't navigate between
  463.   desktops geographically, using some Control, Alt, and/or Shift'ed
  464.   version of the arrow keys.  However, you can tell 4Dwm to let you jump
  465.   to a given desktop with a keystroke.  If you want to customize one
  466.   account only, copy /usr/lib/X11/system.4Dwmrc (or possibly
  467.   /usr/lib/X11/$LANG/system.4Dwmrc, if you set the LANG environment
  468.   variable for localization) to the user's home directory as .4Dwmrc.
  469.   Look for the "Keys 4DwmKeyBindings" section, and add lines of the
  470.   following form:
  471.  
  472.     # IndigoMagic desktops
  473.         <Key>F1                 root|icon|window        f.switch_desk "Desk 1"
  474.         <Key>F2                 root|icon|window        f.switch_desk "Desk 2"
  475.         <Key>F3                 root|icon|window        f.switch_desk "Desk 3"
  476.  
  477.         <Key>F10                root|icon|window        f.switch_desk "Global"
  478.  
  479.   The names of the desks are whatever arbitrary names you used to name
  480.   your desks in Desk Overview.  (The "Global" desk is, however, a special
  481.   desk; see Desk Overview help for details.  You still reference its
  482.   name here as you would any other desk.)
  483.  
  484. ------------------------------
  485.  
  486. Subject:   -13- How can I turn off the IRIX 5.2 Magic user environment?
  487. Date: 18 Aug 1994 00:00:01 EST
  488.  
  489.   Mark Andrews <mark@alias.com> says:
  490.   You can disable the Indigo Magic environment in two ways:
  491.  
  492.   1) If you wish to disable it for all users on the machine:
  493.  
  494.          chkconfig desktop off
  495.  
  496.   2) If you wish to disable it for a specific user, do
  497.  
  498.          touch ~<username>/.disableDesktop
  499.  
  500.      You may also have to remove the ~/.desktop-<hostname> directory as
  501.      well as 4Dwm looks in there for a 4Dwmsession file which it uses
  502.      for a guide to redisplay windows left open from the last session.
  503.  
  504.      Method 2 works ONLY if you have the original IRIX 5.2 xdm Xsession
  505.      file, which contains the following code chunk:
  506.  
  507.      if /etc/chkconfig desktop ;
  508.      then
  509.              if [ -x $0.dt -a \! -f $HOME/.disableDesktop ]
  510.              then
  511.                      exec $0.dt $*
  512.              fi
  513.      fi
  514.  
  515.   If you only want to turn off the file manager, create the file
  516.   ~/.desktop-<hostname>/nodesktop.
  517.  
  518.   Whether you disable the entire desktop or just the file manager, you
  519.   may also want to set one or more of these resources
  520.  
  521.      4DWm*SG_autoSave:       false
  522.      4Dwm*SG_manageSession:  false
  523.      4Dwm*SG_useBackgrounds: false
  524.  
  525.   which are explained in the 4Dwm(1) manpage. See also the desktop_eoe
  526.   release notes.
  527.  
  528. ------------------------------
  529.  
  530. Subject:   -14- How can I display my own background image under Indigo
  531.                 Magic?
  532. Date: 30 Apr 1995 00:00:01 EST
  533.  
  534.   Two SGI employees described two different ways to do this, one for
  535.   folks who don't care about desktop icons and one for folks who do.
  536.  
  537.   Joel Tesler of SGI <joel@sgi.com> says:
  538.  
  539.       1) Disable Indigo Magic desktop icons in any of the three ways
  540.          (~/.desktop-<host>/nodesktop, ~/.disableDesktop, or 'chkconfig
  541.          desktop off') described in the previous entry.
  542.  
  543.       2) Set the resource
  544.  
  545.          4Dwm*SG_useBackgrounds: false
  546.  
  547.       3) Run whatever command you like to display the image on the
  548.          background.
  549.  
  550.   Jon Madison of SGI <jm@indianapolis.sgi.com> says:
  551.  
  552.       1) cp /usr/lib/X11/system.backgrounds ~/.backgrounds
  553.  
  554.       2) Read your new ~/.backgrounds file (and 'man background') to see
  555.          how it works, and edit it. Here's an example entry which uses
  556.          'xli' (a free image viewer) to display a GIF image:
  557.  
  558.          background "Legos"
  559.             command "-execute /usr/local/bin/xli -onroot -fork /usr/people/jm/graphics/pix/lego.gif"
  560.             default "-execute /usr/local/bin/xli -onroot -fork /usr/people/jm/graphics/pix/lego.gif"
  561.             exeok "/usr/local/bin/xli"
  562.             readok "/usr/people/jm/graphics/pix/lego.gif"
  563.  
  564.       3) Run the 'background' customization panel. (It's in the default
  565.          toolchest. Hey, there's your custom background in the list!
  566.  
  567.       Backgrounds set up in this way coexist fine with desktop icons.
  568.  
  569. ------------------------------
  570.  
  571. Subject:   -15- Where is the default value of PATH set?
  572. Date: 10 Dec 1993 00:00:01 EST
  573.  
  574.   Every program which allows a user to log in (telnet, rlogin, pandora,
  575.   etc.) can specify PATH. Shells may as well if it isn't already set.
  576.   There are many slightly different default values, and relying on them
  577.   is a good way to get confused. The only reliable method is to set
  578.   PATH in your shell's startup files. These are different for each
  579.   shell, and are described in each shell's manpage. Beware of 'ksh',
  580.   which has an internal, invisible default path ('/bin:/usr/bin') which
  581.   it uses when PATH is not set.
  582.  
  583. ------------------------------
  584.  
  585. Subject:   -16- Why can't I log in after copying
  586.                 /usr/lib/X11/xdm/Xsession to .xsession?
  587. Date: 07 May 1993 00:00:01 EST
  588.  
  589.   After copying this file to your home directory, you need to remove
  590.   all references to "xsession". References to xsession cause the system
  591.   to try to execute $HOME/.xsession, which will create an infinite
  592.   loop.
  593.  
  594.   Remove the lines in ~/.xsession that say:
  595.  
  596.   if [ -r $xsession -a "$0" != $xsession ]; then
  597.          if [ -x $xsession ]; then
  598.              exec $xsession
  599.          else
  600.              exec /bin/sh $xsession
  601.          fi
  602.   fi
  603.  
  604. ------------------------------
  605.  
  606. Subject:   -17- How can I find out what fonts are available?
  607. Date: 07 May 1993 00:00:01 EST
  608.  
  609.   The xfontsel and xlsfonts utilities help you find appropriate fonts.
  610.   xlsfonts lists the fonts; xfontsel provides an interface for
  611.   selecting a desired font. To use xfontsel, choose "Font Names" from
  612.   the Customization rollover menu in the Toolchest.  Please see the man
  613.   pages and the IRIS Utilities Guide for further information.
  614.  
  615. ------------------------------
  616.  
  617. Subject:   -18- How can I use the Alt key as a Meta key in an xwsh
  618.                 window?
  619. Date: 23 Jun 1994 00:00:01 EST
  620.  
  621.   First, put the following X resources wherever you put X resources:
  622.  
  623.   --- beginning of resources ---
  624.   ! This turns Alt-key into Meta-key.
  625.  
  626.   XWsh*metaKeyMask:    8
  627.  
  628.   ! This allows multiple key modifiers in keybindings (so we can do
  629.   ! meta-shift, meta-control, etc. and incidentally a) turns vt100
  630.   ! cursor key mode off and b) changes the cursor key bindings.
  631.  
  632.   XWsh*keyboardType:    xlib
  633.  
  634.   ! This turns vt100 cursor key mode back on. Running 'tset' at login
  635.   ! resets the terminal and turns the cursor keys back off, so don't
  636.   ! run it.
  637.  
  638.   XWsh*initSequence:    \233?1h
  639.  
  640.   ! The iris-ansi terminfo entry has arrow key sequences for the ibmrt
  641.   ! keyboard, not the xlib keyboard; for curses applications to work,
  642.   ! the arrow keys must be bound to the sequences in the terminfo
  643.   ! entry. Rebinding the arrow keys to match the terminfo entry is more
  644.   ! convenient than changing the terminfo entry.
  645.  
  646.   XWsh*ckmeKeyMap:            \
  647.       Left(any): send("\033[D");        \
  648.       Right(any): send("\033[C");        \
  649.       Up(any): send("\033[A");        \
  650.       Down(any): send("\033[B");
  651.   --- end of resources ---
  652.  
  653.   'tset' resets your terminal, so running it will undo the initSequence
  654.   resource setting. There is a 'tset' command in the default csh/tcsh
  655.   ~/.login file; replace the line
  656.  
  657.       eval `tset -s -Q`
  658.  
  659.   with
  660.  
  661.       if (! $?TERM) then
  662.           eval `tset -s -Q`
  663.       endif
  664.  
  665.   so 'tset' will run only if the TERM environment variable isn't
  666.   already set. (You can't say 'if (! $?TERM) eval `tset -sQ`', because
  667.   csh/tcsh evaluates the backquotes *before* the if.)
  668.  
  669.   Finally, if you use GNU Emacs, put the following in your .emacs:
  670.  
  671.       (set-input-mode nil nil t)
  672.  
  673.   This tells Emacs to allow Meta key usage even though the iris-ansi
  674.   (xwsh) terminal description doesn't specify a Meta key.
  675.  
  676. ------------------------------
  677.  
  678. Subject:   -19- How can I configure my keyboard like a VT100?
  679. Date: 4 Jun 1997 00:00:01 EST
  680.  
  681.   'xwsh -vt100' may be close enough; try it and see. (The PF keys are
  682.   mapped to F9-F12.) If not, use 'xterm -name VT200' and put the 
  683.   following wherever you put the rest of your X resources:
  684.  
  685.   === snip ===
  686.   XTerm*VT200.Translations: #override \
  687.       <Key>BackSpace:        string(0x7f) \n\
  688.       <Key>Num_Lock:        string(0x1b) string("OP") \n\
  689.       <Key>KP_Divide:        string(0x1b) string("OQ") \n\
  690.       <Key>KP_Multiply:    string(0x1b) string("OR") \n\
  691.       <Key>KP_Subtract:    string(0x1b) string("OS") \n\
  692.       <Key>KP_Add:        string(0x1b) string("Om") \n\
  693.       <Key>Pause:        string(0x1b) string("[34~") \n\
  694.       <Key>Print:        string(0x1b) string("[32~") \n\
  695.       <Key>Scroll_Lock:       string(0x1b) string("[33~") \n\
  696.       <Key>KP_0:        string(0x1b) string("Op") \n\
  697.       <Key>KP_1:        string(0x1b) string("Oq") \n\
  698.       <Key>KP_2:        string(0x1b) string("Or") \n\
  699.       <Key>KP_3:        string(0x1b) string("Os") \n\
  700.       <Key>KP_4:        string(0x1b) string("Ot") \n\
  701.       <Key>KP_5:        string(0x1b) string("Ou") \n\
  702.       <Key>KP_6:        string(0x1b) string("Ov") \n\
  703.       <Key>KP_7:        string(0x1b) string("Ow") \n\
  704.       <Key>KP_8:        string(0x1b) string("Ox") \n\
  705.       <Key>KP_9:        string(0x1b) string("Oy") \n\
  706.       <Key>KP_Decimal:    string(0x1b) string("On") \n\
  707.       <Key>Insert:        string(0x1b) string("[1~") \n\
  708.       <Key>Home:        string(0x1b) string("[2~") \n\
  709.       <Key>Prior:        string(0x1b) string("[3~") \n\
  710.       <Key>Delete:        string(0x1b) string("[4~") \n\
  711.       <Key>End:        string(0x1b) string("[5~") \n\
  712.       <Key>Next:        string(0x1b) string("[6~") \n\
  713.       <Key>F1:        string(0x1b) string("[17~") \n\
  714.       <Key>F2:        string(0x1b) string("[18~") \n\
  715.       <Key>F3:        string(0x1b) string("[19~") \n\
  716.       <Key>F4:        string(0x1b) string("[20~") \n\
  717.       <Key>F5:        string(0x1b) string("[21~") \n\
  718.       <Key>F6:        string(0x1b) string("[23~") \n\
  719.       <Key>F7:        string(0x1b) string("[24~") \n\
  720.       <Key>F8:        string(0x1b) string("[25~") \n\
  721.       <Key>F9:        string(0x1b) string("[26~") \n\
  722.       <Key>F10:        string(0x1b) string("[28~") \n\
  723.       <Key>F11:        string(0x1b) string("[29~") \n\
  724.       <Key>F12:        string(0x1b) string("[31~") \n\
  725.   === snip ===
  726.  
  727.   This remaps the keys as follows:
  728.  
  729.   ---------------------------------------------
  730.   SGI Key             |   Emulated VT100 key
  731.   ---------------------------------------------
  732.   Num Lock            |   PF1
  733.   /                   |   PF2
  734.   *                   |   PF3
  735.   -                   |   PF4
  736.   7                   |   7
  737.   8                   |   8
  738.   9                   |   9
  739.   +                   |   -
  740.   4                   |   4
  741.   5                   |   5
  742.   6                   |   6
  743.   1                   |   1
  744.   2                   |   2
  745.   3                   |   3
  746.   Enter               |   Enter
  747.   0                   |   0
  748.   .                   |   .
  749.   Insert              |   Find
  750.   Home                |   Insert Here
  751.   Page Up             |   Remove
  752.   Delete              |   Select
  753.   End                 |   Prev Screen
  754.   Page Down           |   Next Screen
  755.   F1                  |   F6
  756.   F2                  |   F7
  757.   F3                  |   F8
  758.   F4                  |   F9
  759.   F5                  |   F10
  760.   F6                  |   F11
  761.   F7                  |   F12
  762.   F8                  |   F13
  763.   F9                  |   F14
  764.   F10                 |   Help
  765.   F11                 |   Do
  766.   F12                 |   F17
  767.   Print Screen        |   F18
  768.   Scroll Lock         |   F19
  769.   Pause               |   F20
  770.  
  771.   These translations encompass both VT100 and VT200 (LK201-style)
  772.   keyboards.  Thanks to Hemant Shah <shah@fnal.fnal.gov> and Isaac 
  773.   A. Stoddard <u177k@gsde.hso.link.com> for their contributions here.
  774.   Any volunteers to work out similar bindings for xwsh?
  775.  
  776. ------------------------------
  777.  
  778. Subject:   -20- Can I put a single large picture in the 'clogin'
  779.                 display?
  780. Date: 05 Nov 1995 00:00:01 EST
  781.  
  782.   Not in IRIX 5.0-5.2 or 6.0-6.0.1. You could in IRIX 4.0.x and earlier,
  783.   and you can in IRIX 5.3 and 6.1 and later. Read the clogin(1) manpage.
  784.  
  785. ------------------------------
  786.  
  787. Subject:   -21- How can I change clogin's background to an image?
  788. Date: 05 Nov 1995 00:00:01 EST
  789.  
  790.   Convert the image to xbm ("X BitMap") format. (See under "IMAGE FILES"
  791.   below for conversion programs.) Uncomment the 'xsetroot' line in
  792.   /usr/lib/X11/xdm/Xlogin and change the filename after '-bitmap' to
  793.   your .xbm file. If your image is smaller than your screen, it will be
  794.   tiled to fill the screen.
  795.  
  796. ------------------------------
  797.  
  798. Subject:   -22- RESOURCES
  799. Date: 15 May 1994 00:00:01 EST
  800.  
  801.   This section discusses Xwindows resources.
  802.  
  803. ------------------------------
  804.  
  805. Subject:   -23- What are resources?
  806. Date: 07 May 1993 00:00:01 EST
  807.  
  808.   Resources are "attributes" that control the look and feel of an
  809.   application. Resources include color, fonts, size, location, and
  810.   more.  Resources can have a complex format for binding strengths.
  811.  
  812.   For a complete description of resources, including a description of
  813.   "loose" and "tight" bindings, consult a book listed in the
  814.   bibliography question above.
  815.  
  816. ------------------------------
  817.  
  818. Subject:   -24- How can I set resources?
  819. Date: 07 May 1993 00:00:01 EST
  820.  
  821.   There are many ways to set resources. Resources may be listed in
  822.   files or contained in a data base. Consult a book on X as well as the
  823.   xrdb(1) manpage for detailed descriptions.  Generally speaking, if
  824.   xrdb is not used, resource files are specified through environment
  825.   variables.  "What is a good approach to take in looking for
  826.   resources?" addresses the precedence of these files and variables.
  827.  
  828.   For some examples in IRIX 4.0.x, see the file
  829.   /usr/tutor/Customize/example.Xdefaults.
  830.  
  831. ------------------------------
  832.  
  833. Subject:   -25- How can I use resources to run the same program twice
  834.                 with different attributes?
  835. Date: 07 May 1993 00:00:01 EST
  836.  
  837.   To accomplish this task, you need to take advantage of the "instance
  838.   vs class" concept. This concept is explained further in most books on
  839.   Xt.
  840.  
  841.   Many applications have a resource that lets you to give it a unique
  842.   name.  For example, from the xwsh man page :
  843.  
  844.   -name instance-name
  845.     Provide a unique name for an xwsh window.  This name becomes
  846.     the instance name of the specific xwsh, with the class name
  847.     always being "XWsh".
  848.  
  849.   Using the -name option allows you to give "names" to different
  850.   instances of xwsh and assign different resources to each one.  So if
  851.   you want two different xwsh's with different resource sets, give them
  852.   two different names, say howdymom and howdydoody, for example.  Add
  853.   the following to your ~/.Xdefaults file (if you use .Xdefaults) :
  854.  
  855.     howdymom*foreground:       SeaGreen
  856.     howdydoody*foreground:     SGIBeet
  857.  
  858.   Now all you have to do is start them up :
  859.  
  860.     xwsh -name howdymom&
  861.     xwsh -name howdydoody&
  862.  
  863. ------------------------------
  864.  
  865. Subject:   -26- Does the GL recognize resources?
  866. Date: 07 May 1993 00:00:01 EST
  867.  
  868.   Yes. In IRIX 4.0 and later, the GL responds to several X resources,
  869.   allowing run-time control over some aspects of GL programs.
  870.  
  871.   The man page assumes you are somewhat familiar with X resources, if
  872.   you are not, you should read some X documentation such as Volume 3 of
  873.   the O'Reily X books.
  874.  
  875.   The GL uses resources names with the prefixes
  876.  
  877.     appname.gl.                (instance prefix)
  878.     Appname.GL.                (class prefix)
  879.  
  880.   where appname and Appname are derived from the argument to the GL
  881.   program's first call to winopen(3G) upper case.
  882.  
  883.   For complete information see the man page for GLRESOURCES.
  884.  
  885. ------------------------------
  886.  
  887. Subject:   -27- How can I know what resources I can set for an
  888.                 application?
  889. Date: 07 May 1993 00:00:01 EST
  890.  
  891.   The most common place to find resource variables for a particular
  892.   application is in the man page for that application.
  893.  
  894.   For example, take a look at the man page for `xwsh'.  Look for the
  895.   section heading called `RESOURCES'.  This section lists each resource
  896.   for `xwsh', and in some cases, the valid values for that resource.
  897.  
  898.   Also, many major applications are built on top of the Xt toolkit.
  899.   There are standard resources that these applications recognize. For a
  900.   more complete description, see one of the books on Xt listed in the
  901.   bibliography.
  902.  
  903. ------------------------------
  904.  
  905. Subject:   -28- What is a good approach to take in looking for
  906.                 resources?
  907. Date: 07 May 1993 00:00:01 EST
  908.  
  909.   The following is a recommended list  of steps to take when searching
  910.   for a resource, binding, behavior, etc.
  911.  
  912.    1) Look in the 4.0 Transition Guide.
  913.    2) Look in /usr/tutor/Customize.
  914.    3) Look in /usr/demos.
  915.    4) Look in ~4Dgifts.  (Available with the development option.)
  916.    5) If the client you are interested in is a GL client, see the
  917.       man page for GLRESOURCES.
  918.    6) Look in /usr/lib/X11/app-defaults/ClientName.
  919.    7) Look in /usr/lib/X11/system.* .
  920.    8) Look through the man page for the client you are interested in.
  921.    9) Look in O'Reilly & Associates Vol. III. It has many gems
  922.       pertaining to standard X clients.
  923.   10) Look in the documentation that came with your application.
  924.   11) Look in the OSF Motif manuals.
  925.   12) Post to comp.windows.x if you can not find
  926.       an answer using steps 1 through 11.
  927.  
  928. ------------------------------
  929.  
  930. Subject:   -29- What is the precedence for resource files?
  931. Date: 07 May 1993 00:00:01 EST
  932.  
  933.   The following list indicates the weight of set resources.
  934.   Items at the top have the greatest weight.
  935.  
  936.   1) Hard coded values for resources.
  937.   2) Command line arguments.
  938.   3) Resources pointed to by $XENVIRONMENT.
  939.   4) Resource values loaded into the Resource Data Base via xrdb.
  940.   5) Resources pointed to by other environment variables :
  941.  
  942.      IF $XUSERFILESEARCHPATH is set
  943.  
  944.        then it contains a list of directories to search.
  945.  
  946.      ELSE IF $XAPPLRESDIR is set
  947.  
  948.        it contains a single directory, and a short list of related
  949.        directories (e.g. adjusted for language) is where resource files
  950.        must be found.
  951.  
  952.      ELSE
  953.  
  954.        Look in a short list of places related to $HOME (e.g. language
  955.        adjusted). This includes files in $HOME that have the name of
  956.        the class of the application.
  957.  
  958.   6) Resource values set in $HOME/.Xdefaults, provided that the
  959.      RESOURCE_MANAGER property hasn't been set via the xrdb command.
  960.      (see the third paragraph in the xrdb man page)
  961.   7) Values set in /usr/lib/X11/app-defaults/*.
  962.   8) Values set through through the application's fall back mechanism.
  963.  
  964. ------------------------------
  965.  
  966. Subject:   -30- Why do long resources cause X to crash mysteriously in
  967.                 IRIX 5.2?
  968. Date: 13 Nov 1994 00:00:01 EST
  969.  
  970.   Get patch 36.
  971.  
  972. ------------------------------
  973.  
  974. Subject:   -31- 4DWM
  975. Date: 15 May 1994 00:00:01 EST
  976.  
  977.   This section discusses the 4D Window Manager.
  978.  
  979. ------------------------------
  980.  
  981. Subject:   -32- Where can I learn more about the Window Manager?
  982. Date: 07 May 1993 00:00:01 EST
  983.  
  984.   The man pages for 4Dwm and mwm contain a wealth of information on the
  985.   window manager. There are also online files. You may want to read
  986.   /usr/tutor/Customize/example.4Dwmrc (IRIX 4.0.x only) as well as
  987.   /usr/people/4Dgifts/.4Dwmrc (if you have the IDO option).  The
  988.   OSF/Motif manuals listed in the bibliography are also good places to
  989.   find information. (4Dwm is based on mwm).
  990.  
  991. ------------------------------
  992.  
  993. Subject:   -33- What files affect the window manager and what is their
  994.                 relationship to each other?
  995. Date: 07 May 1993 00:00:01 EST
  996.  
  997.   1) ~/.4Dwmrc, if you have one
  998.   2) /usr/lib/X11/system.4Dwmrc
  999.   3) /usr/bin/X11/4Dwm
  1000.   4) /usr/lib/X11/app-defaults/4Dwm
  1001.   5) ~/.Xdefaults (or wherever you set resources)
  1002.  
  1003.   When 4Dwm is started, it looks for ~/.4Dwmrc. If it does not exist,
  1004.   it looks at /usr/lib/X11/system.4Dwmrc. The definitions for button
  1005.   bindings, menus, etc are contained in these files. For a better
  1006.   description of bindings, look in /usr/tutor/Customize/example.4Dwmrc
  1007.   and /usr/people/ 4Dgifts/.4Dwmrc. Also see the man pages for 4Dwm.
  1008.  
  1009.   The resource set for the bindings will actually "choose" which
  1010.   binding definition is set.
  1011.  
  1012. ------------------------------
  1013.  
  1014. Subject:   -34- Do I need my own .4Dwmrc file?
  1015. Date: 07 May 1993 00:00:01 EST
  1016.  
  1017.   Not necessarily. As mentioned in the previous question, actual
  1018.   bindings are determined by resource names. If there is a binding
  1019.   definition in /usr/lib/X11/system.4Dwmrc that you like, you may
  1020.   choose it by setting the appropriate resource.
  1021.  
  1022. ------------------------------
  1023.  
  1024. Subject:   -35- Can I run a different window manager?
  1025. Date: 07 May 1993 00:00:01 EST
  1026.  
  1027.   IRIX has 4Dwm, mwm, twm, and uwm. However, GL programs are guaranteed
  1028.   to work only under 4Dwm.
  1029.  
  1030. ------------------------------
  1031.  
  1032. Subject:   -36- How can I choose a different window manager as the
  1033.                 default?
  1034. Date: 07 May 1993 00:00:01 EST
  1035.  
  1036.   You must use a .xsession file and explicitly invoke the window
  1037.   manager and any other applications you want to use, such as
  1038.   'toolchest' and 'xwsh'.
  1039.  
  1040.   After making this change, you may only be able to log out by using
  1041.   the "Log Out" selection in the toolchest, or by executing
  1042.   /usr/bin/X11/endsession.
  1043.  
  1044.   Here are the contents of a sample .xsession file:
  1045.  
  1046.       xhost + &
  1047.       toolchest -name ToolChest > /dev/console 2&>1 &
  1048.       winterm -bg red &
  1049.       winterm -bg blue &
  1050.       mwm > /dev/console 2&>1 &
  1051.       /usr/bin/X11/reaper
  1052.  
  1053.   Note that 'reaper' is not put into the background.  When 'reaper'
  1054.   exits you will be logged out.
  1055.  
  1056.   Alternatively, you can do the following steps:
  1057.  
  1058.   1. cp /usr/lib/X11/xdm/Xsession ~/.xsession
  1059.  
  1060.   2. Remove the lines in ~/.xsession that say:
  1061.  
  1062.      if [ -r $xsession -a "$0" != $xsession ]; then
  1063.       if [ -x $xsession ]; then
  1064.           exec $xsession
  1065.       else
  1066.           exec /bin/sh $xsession
  1067.       fi
  1068.      fi
  1069.  
  1070.   3. Change the line that says
  1071.  
  1072.      /usr/bin/X11/4Dwm >/dev/console 2>&1 &
  1073.  
  1074.      to
  1075.  
  1076.      /usr/bin/X11/mwm > /dev/console 2>&1 &
  1077.  
  1078. ------------------------------
  1079.  
  1080. Subject:   -37- How can I recover from a failed window manager
  1081.                 customization attempt?
  1082. Date: 07 May 1993 00:00:01 EST
  1083.  
  1084.   If your attempt at customization leaves you in a state where buttons
  1085.   and menus are no longer recognized, you can recover by pressing the
  1086.   <Alt><CTRL><Shift><!>keys simultaneously. A menu appears that will
  1087.   let you choose Motif, Iris, or user defaults. Choose either Motif or
  1088.   Iris defaults and then push OK. This restarts the window manager to a
  1089.   usable state.
  1090.  
  1091. ------------------------------
  1092.  
  1093. Subject:   -38- ADMINISTRATION
  1094. Date: 15 May 1994 00:00:01 EST
  1095.  
  1096.   This section describes how to start and stop parts of the graphics
  1097.   system in various funky ways.
  1098.  
  1099. ------------------------------
  1100.  
  1101. Subject:   -39- How can I log into pandora/clogin without bringing up
  1102.                 graphics?
  1103. Date: 07 May 1993 00:00:01 EST
  1104.  
  1105.   Add the magic word 'failsafe' after your username. E.g. to log in as
  1106.   root without graphics, you'd type 'root failsafe', whack Enter, and
  1107.   type your password.
  1108.  
  1109. ------------------------------
  1110.  
  1111. Subject:   -40- How can I restart the console?
  1112. Date: 07 May 1993 00:00:01 EST
  1113.  
  1114.   Use /usr/sbin/startconsole. 'startconsole' and 'winterm' (which
  1115.   'startconsole' calls) are scripts, so you can see how they do it.
  1116.  
  1117. ------------------------------
  1118.  
  1119. Subject:   -41- How can I start and stop the graphics system?
  1120. Date: 07 May 1993 00:00:01 EST
  1121.  
  1122.   Use /usr/gfx/startgfx and /usr/gfx/stopgfx.  Be aware that stopgfx
  1123.   will kill any active windows and log you out.
  1124.  
  1125. ------------------------------
  1126.  
  1127. Subject:   -42- How can I restart the X server?
  1128. Date: 10 Sep 1995 00:00:01 EST
  1129.  
  1130.   To restart the X server (Xsgi) once, do any one of the following
  1131.   (in increasing order of brutality):
  1132.  
  1133.   - killall -TERM Xsgi
  1134.   - hold down the left-Control, left-Shift, F12 and keypad slash keys
  1135.     (this is fondly known as the "Vulcan Death Grip")
  1136.   - /usr/gfx/stopgfx; /usr/gfx/startgfx
  1137.   - reboot
  1138.  
  1139.   To restart the X server every time someone logs out of the console,
  1140.   edit /var/X11/xdm/xdm-config, change the setting of
  1141.   "DisplayManager._0.terminateServer" from "False" to "True" and do
  1142.   'killall -HUP xdm'.
  1143.  
  1144. ------------------------------
  1145.  
  1146. Subject:   -43- How can I run 'xinit' manually, rather than
  1147.                 automatically from 'xdm'?
  1148. Date: 07 May 1993 00:00:01 EST
  1149.  
  1150.   By doing the following, which will affect all users:
  1151.  
  1152.   1) log in as root
  1153.   2) Type:
  1154.      /usr/gfx/stopgfx
  1155.      chkconfig xdm off.
  1156.  
  1157.   3) all users need to copy /usr/bin/X11/X to their home directory
  1158.      (renaming the file to .xserverrc), removing the if test for
  1159.      windowsystem, OR be familiar enough with xinit to have an
  1160.      alternate command line.
  1161.   4) transfer all startup programs from .xsession/.sgisession to
  1162.      .xinitrc.
  1163.   5) the last program to start from .xinitrc must not exit.  When this
  1164.      one exits, the session terminates.
  1165.  
  1166. ------------------------------
  1167.  
  1168. Subject:   -44- How can I start X on a remote host with no users logged
  1169.                 in?
  1170. Date: 07 May 1993 00:00:01 EST
  1171.  
  1172.   This example starts up an xclock on the remote system.  The easy way
  1173.   to test this for now is to rlogin to the system and type the
  1174.   commands.  Once something works you can write some shell scripts and
  1175.   use rsh to run them:
  1176.  
  1177.   hydra is being used to login to oscar and start graphics on oscar.
  1178.   oscar is displaying the pandora login when this is done:
  1179.  
  1180.   hydra 2% rlogin oscar -l root
  1181.   oscar 1# /usr/gfx/stopgfx     (screen blanks)
  1182.   oscar 2# chkconfig windowsystem on
  1183.   oscar 3# setenv DISPLAY :0.0  (display on local screen)
  1184.   oscar 4# /usr/bin/X11/X &  (start Xsgi)
  1185.   oscar 5# xclock &  (clock is displayed)
  1186.  
  1187.   To clean up:
  1188.  
  1189.   oscar 6# /usr/gfx/stopgfx     (screen blanks)
  1190.   oscar 7# /usr/gfx/startgfx  (re-start pandora)
  1191.  
  1192. ------------------------------
  1193.  
  1194. Subject:   -45- IMAGE FILES
  1195. Date: 15 May 1994 00:00:01 EST
  1196.  
  1197.   This section discusses image files and formats.
  1198.  
  1199. ------------------------------
  1200.  
  1201. Subject:   -46- How can I convert images to and from other formats?
  1202. Date: 10 Mar 1996 00:00:01 EST
  1203.  
  1204.   IRIX comes with several tools which convert images to or from SGI's
  1205.   RGB format.  The executables are part of the eoe2.sw.imagetools
  1206.   subsystem, and include:
  1207.  
  1208.   fromalias - convert an Alias image to an IRIS image
  1209.   frombin - create an RGB IRIS image file from a binary dump of image data
  1210.   fromcmap - convert a color map into an image with one scanline
  1211.   fromcube - convert a Cubicomp/Vertigo image file to IRIS format
  1212.   fromdi - convert an old .di dithered image into an IRIS image
  1213.   fromface - convert a UNIX faceserver image into an IRIS image
  1214.   fromgif - convert a GIF image into an IRIS image
  1215.   frommac - convert a MacPaint image into an IRIS image
  1216.   frompic - convert a MOVIE BYU .PIC image to an IRIS image
  1217.   fromppm - convert an image in Jef Poskanzer's format into an IRIS image
  1218.   fromrla - convert a Wavefront image to an IRIS image
  1219.   fromsun - convert a sun image into an IRIS image
  1220.   fromtarga - convert a targa image into an IRIS image
  1221.   fromxbm - convert an X Bitmap image into an IRIS image
  1222.   fromxud - convert an xwd file into an IRIS image
  1223.   fromxwd - convert an xwd file into an IRIS image
  1224.   fromyuv - convert an Abekas yuv image into an IRIS image
  1225.   toalias - convert an IRIS image to an Alias image
  1226.   toascii - convert an IRIS image to text characters
  1227.   tobin - convert an IRIS image to binary dump of pixel data
  1228.   tobw - convert an IRIS image to black and white
  1229.   togif - convert an IRIS image to a Compuserve GIF image
  1230.   tomac - convert an IRIS image to MacPaint format
  1231.   tonews - convert an IRIS image into NeWS format
  1232.   topict - convert an IRIS image to Macintosh PICT format
  1233.   toppm - convert an IRIS image file into Jef Poskanzer's ppm image format
  1234.   tops - convert an IRIS image to PostScript
  1235.   toscitex - Convert IRIS images into Scitex CT2T images
  1236.   tosun - convert an IRIS image to a sun raster file
  1237.   totarga - convert an IRIS image to a type 2 targa image
  1238.   toyuv - convert an IRIS image to yuv format
  1239.  
  1240.   The source for each of these tools is in the 4Dgifts
  1241.   dev.dev_sw.giftsfull subsystem and installed in the directory
  1242.   /usr/people/4Dgifts/iristools/imgtools.  Each also has a manpage.
  1243.  
  1244.   Similar tools for more formats ('fromeps', 'frompict', 'frompixar',
  1245.   'fromps', 'fromtiff', 'fromutah', 'totiff', 'toutah', 'toxbm' and
  1246.   'toxpm' at last count), as well as some which come with IRIX and a few
  1247.   miscellaneous cool image editing tools, are in
  1248.   ftp://ftp.sgi.com/graphics/bin/. 'fromjpeg' and 'tojpeg' can be found
  1249.   in ftp://ftp.clr.toronto.edu/pub/sgi/sgijpeg/.
  1250.   ftp://swedishchef.lerc.nasa.gov/ has 'fromvicar' in
  1251.   /image/conversion/from/, 'tocolps' and 'topcl' in
  1252.   /image/conversion/to/ and many other image-related tools in nearby
  1253.   directories.
  1254.  
  1255.   The Independent JPEG Group's free JPEG software (in
  1256.   ftp://ftp.uu.net/graphics/jpeg/) and ghostscript (in
  1257.   ftp://ftp.cs.wisc.edu/ghost/) don't speak RGB, but do convert many
  1258.   common formats to and from JPEG and PostScript respectively. Note
  1259.   that older versions ghostscript understand GIF images but newer
  1260.   ones do not due to copyright restrictions.
  1261.  
  1262.   Finally, 'imgworks' (in the imgtools.sw.tools subsystem) understands
  1263.   RGB, TIFF and FIT formats, and there are several freeware programs
  1264.   which work on SGIs and understand SGI's RGB format as well as many
  1265.   other formats:
  1266.  
  1267.   imtools    ftp://ftp.sdsc.edu/pub/sdsc/graphics/imtools/sgi_4d/
  1268.   xv        ftp://ftp.cis.upenn.edu/pub/xv/
  1269.   ImageMagick    ftp://ftp.x.org/contrib/applications/ImageMagick/
  1270.   netpbm    ftp://wuarchive.wustl.edu/graphics/graphics/packages/NetPBM/
  1271.  
  1272.   The Graphics File Formats FAQ (in
  1273.   ftp://rtfm.mit.edu/pub/usenet/news.answers/graphics/fileformats-faq/)
  1274.   lists many other graphics file viewing and conversion programs.
  1275.  
  1276. ------------------------------
  1277.  
  1278. Subject:   -47- How can I convert models to and from other formats?
  1279. Date: Wed Sep 22 14:32:29 CDT 1999
  1280.  
  1281.   Converters to and from SGI's Inventor format are at
  1282.   ftp://ftp.sgi.com/sgi/inventor/ and
  1283.   ftp://viz.tamu.edu/pub/sgi/software/graphics/.
  1284.  
  1285. ------------------------------
  1286.  
  1287. Subject:   -48- What is the format of SGI's RGB files?
  1288. Date: Wed Sep 22 16:52:40 CDT 1999
  1289.  
  1290.   Read http://reality.sgi.com/grafica/sgiimage.html
  1291.  
  1292. ------------------------------
  1293.  
  1294. Subject:   -49- How can I compress RGB bitmaps?
  1295. Date: 07 May 1993 00:00:01 EST
  1296.  
  1297.   Use /usr/sbin/rle, which is part of eoe2.sw.imagetools.
  1298.  
  1299. ------------------------------
  1300.  
  1301. Subject:   -50- How can I make a screen dump?
  1302. Date: 13 Nov 1994 00:00:01 EST
  1303.  
  1304.   Use the utilities 'imgsnap' (IRIX 4.0.x only), 'scrsave', 'snapshot'
  1305.   or 'xwd'. All have manpages. 'imgsnap' is in the imgtools.sw.tools
  1306.   subsystem, 'scrsave' and 'snapshot' are in the eoe2.sw.gltools
  1307.   subsystem, 'xwd' is in x_eoe.sw.Xapps and their manpages are in the
  1308.   respective *.man.* subsystems.
  1309.  
  1310.   From within a GL program, you should call readdisplay().  For an
  1311.   example look at ~4Dgifts/iristools/imgtools/scrsave.c.
  1312.  
  1313. ------------------------------
  1314.  
  1315. Subject:   -51- Why does the IRIX 5.3 desktop recognize but not deal
  1316.                 with JPEG files?
  1317. Date: 18 Jun 1995 00:00:01 EST
  1318.  
  1319.   It's a bug in the IRIX 5.3 filetype rules. It is fixed in WebForce
  1320.   and will be fixed in future IRIXes. If you don't have WebForce, get
  1321.   the file ftp://viz.tamu.edu/pub/sgi/software/desktop/jpeg.ftr, put it
  1322.   in /usr/lib/filetype/local, cd to /usr/lib/filetype and type 'make'.
  1323.  
  1324. ------------------------------
  1325.  
  1326. Subject:   -52- PROGRAMMING
  1327. Date: 15 May 1994 00:00:01 EST
  1328.  
  1329.   This section discusses graphics programming. See the apps, audio and
  1330.   movie FAQs for general, audio and movie programming issues and the
  1331.   impressario, inventor and performer FAQs for discussions of those
  1332.   packages.
  1333.  
  1334. ------------------------------
  1335.  
  1336. Subject:   -53- Can I use 4Dgifts code in my application?
  1337. Date: 07 May 1993 00:00:01 EST
  1338.  
  1339.   Yes.  The 4Dgifts are a "gift" and developers are welcome to use the
  1340.   code.  However, SGI does not support the code in 4Dgifts.  Note that
  1341.   certain restrictions apply.  Please read the copyright statement in
  1342.   ~4Dgifts/README.Copyright.
  1343.  
  1344. ------------------------------
  1345.  
  1346. Subject:   -54- What does ERR_WMANIPC mean?
  1347. Date: 07 May 1993 00:00:01 EST
  1348.  
  1349.   The "WMAN" in that message means "window manager."  However, this no
  1350.   longer means "window manager" such as 4Dwm, but rather the entire X
  1351.   Window system.  The error means that the GL program triggered a fatal
  1352.   X error.
  1353.  
  1354.   A GL program can get an X error, because all GL programs are actually
  1355.   X clients.  When a GL program does a winopen(), libgl actually calls
  1356.   XCreateWindow, etc.)
  1357.  
  1358.   When a GL program gets an X error, libgl prints out these X errors
  1359.   using this error message:
  1360.  
  1361.       GL: X request = maj.min,  error code = ercode
  1362.  
  1363.   where
  1364.  
  1365.       maj = major request code that caused the error
  1366.       min = minor request code
  1367.       ercode = X error code
  1368.  
  1369.   This turns out to be easy to interpret, so long as the request was a
  1370.   core X protocol request (e.g., a CreateWindow request).  In that
  1371.   case:
  1372.  
  1373.       1. You can look up the major code in /usr/include/X11/Xproto.h.
  1374.       2. The minor code is not used.
  1375.       3. The X error code can be found in /usr/include/X11/X.h.
  1376.  
  1377.   As you can see in Xproto.h, the core X protocol requests have request
  1378.   codes <= 127.
  1379.  
  1380.   However, if maj > 127, then the request is an X extension request.
  1381.   Unfortunately, it can be difficult to interpret this unless you built
  1382.   your program with a debugging libgl.a (compiled with -g).  The reason
  1383.   is that for an X extension, the major request code and the starting
  1384.   error code are copied from the X server during client startup, and
  1385.   these codes are saved in variables inside libgl.  With a debugging
  1386.   libgl, these variables can be printed out from within a debugger,
  1387.   such as dbx.
  1388.  
  1389.   If the major code indicates an X Input extension request, then the
  1390.   minor numbers then tell the X input request type, and these are found
  1391.   in /usr/include/X11/extensions/XIproto.h.
  1392.  
  1393.   Finally, the X Input Extension uses 132 as its "starting error code."
  1394.   The possible errors are found in /usr/include/X11/extensions/XI.h,
  1395.   where they're defined like this:
  1396.  
  1397.       #define XI_BadDevice   0
  1398.       #define XI_BadEvent    1
  1399.       #define XI_BadMode     2
  1400.       #define XI_DeviceBusy  3
  1401.       #define XI_BadClass    4
  1402.  
  1403.   If you add 132 to these numbers, you get the error that's reported by
  1404.   the libgl error message.
  1405.  
  1406. ------------------------------
  1407.  
  1408. Subject:   -55- How can I translate screen (x,y) coords into world
  1409.                 (x,y,z) coords?
  1410. Date: 07 May 1993 00:00:01 EST
  1411.  
  1412.   Check the manual page for mapw(3G) or mapw2(3G). mapw() returns a
  1413.   line into (x,y,z) space.
  1414.  
  1415. ------------------------------
  1416.  
  1417. Subject:   -56- How can I translate world (x,y,z) coords into screen
  1418.                 (x,y) coords?
  1419. Date: 07 May 1993 00:00:01 EST
  1420.  
  1421.   There are two methods.  The first method is detailed in
  1422.   ~4Dgifts/examples/grafix/world2scrn.c, which is part of the
  1423.   dev.dev_sw.giftsfull package.  It multiplies the (x,y,z) vector into
  1424.   the current modeling and projection matrixes, and uses the result to
  1425.   interpolate based on the window size and position.
  1426.  
  1427.   The second method uses the current cursor position as a trick and is
  1428.   much simpler.  Use cmov() to set the cursor position to the point of
  1429.   interest in world space, then call getcpos() to return the cursor
  1430.   position in screen coordinates.  Note that if your entire viewport is
  1431.   off-screen, the results are undefined and you'll have to use the
  1432.   first method.
  1433.  
  1434.       float x,y,z;
  1435.       short x1, y1;
  1436.  
  1437.       cmov (x,y,z);
  1438.       getcpos (&x1, &y1);
  1439.  
  1440. ------------------------------
  1441.  
  1442. Subject:   -57- Why does nothing happen when I call mapcolor(index, R,
  1443.                 G, B)?
  1444. Date: 07 May 1993 00:00:01 EST
  1445.  
  1446.   You either need to call glcompat(GLC_SLOWMAPCOLORS, TRUE) at the
  1447.   beginning of your program, or call gflush() after calling mapcolor.
  1448.  
  1449.   See the NOTES section in "man mapcolors" and also "man glcompat" for
  1450.   further info. (This may also be in the GL release notes)
  1451.  
  1452. ------------------------------
  1453.  
  1454. Subject:   -58- Why can't 'cc' find some standard Xwindows functions?
  1455. Date: 14 May 1994 00:00:01 EST
  1456.  
  1457.   You may be linking X libraries, which have complex interdependencies,
  1458.   in the wrong order. Mark Kilgard <mjk@hoot.asd.sgi.com> provided this
  1459.   handy chart:
  1460.  
  1461.   libXm--libXirisw
  1462.                   \
  1463.                    libXt--libXmu--libgl--libXi--libXext--libX11
  1464.                   /
  1465.             libXaw
  1466.  
  1467.   Libraries should be listed in the same order on the cc or ld command
  1468.   line, left to right, as they appear above. If you don't use routines
  1469.   from a library, of course, you don't need it.
  1470.  
  1471. ------------------------------
  1472.  
  1473. Subject:   -59- What is a GL widget?
  1474. Date: 10 Jun 1993 00:00:01 EST
  1475.  
  1476.   GL widget refers to the GlxDraw (generic) and GlxMDraw (Motif)
  1477.   widgets that allow you to embed GL windows in Xt-based programs.  To
  1478.   embed a GL windows in X-based programs is frequently called
  1479.   "Mixed-model" or "GLX" programming.
  1480.  
  1481.   There are several examples of mixed-model programming in the
  1482.   directory /usr/people/4Dgifts/examples/GLX.
  1483.  
  1484. ------------------------------
  1485.  
  1486. Subject:   -60- I'm using the GlxMDraw widget and it doesn't seem that
  1487.                 colors are being installed correctly.  Overlays in the
  1488.                 GlxMDraw widget are displayed in red and gray instead of
  1489.                 the colors I specify.  What's wrong?
  1490. Date: 10 Jun 1993 00:00:01 EST
  1491.  
  1492.   The window manager must be directed to install all appropriate
  1493.   colormaps.  Use the XSetWMColormapWindows() call to do this -- list
  1494.   one window for each colormap to be installed plus the top level
  1495.   window.  If using overlays, include the overlay window as well as the
  1496.   normal GL window.
  1497.  
  1498.   If your window is TrueColor, you should still install the appropriate
  1499.   colormap, as Indigo TrueColor is simulated using a colormap.
  1500.  
  1501. ------------------------------
  1502.  
  1503. Subject:   -61- Is there a way to switch between single and double
  1504.                 buffering within a GL widget on the fly?
  1505. Date: 10 Jun 1993 00:00:01 EST
  1506.  
  1507.   There is no way to switch between single and double buffered mode
  1508.   within the same window. (In X, this would mean changing the depth,
  1509.   which is not allowed.)
  1510.  
  1511.   To simulate this, you can create two GL widgets: a double buffered GL
  1512.   widget and a single buffered GL widget.  When it is time to change
  1513.   the buffering mode, restack the windows so that the appropriate one
  1514.   is on top. If the two windows are created with a common parent, they
  1515.   move together when the parent is moved.
  1516.  
  1517.   For non-mixed mode applications, the GL performs this switching when
  1518.   you call gconfig().
  1519.  
  1520. ------------------------------
  1521.  
  1522. Subject:   -62- Why doesn't my X server use backing store? How can I
  1523.                 turn it on?
  1524. Date: 12 Feb 1994 00:00:01 EST
  1525.  
  1526.   Mark Kilgard of SGI <mjk@hoot.asd.sgi.com> writes,
  1527.   SGI ships its X server with backing store disabled.  If you edit
  1528.   /usr/lib/X11/xdm/Xservers and remove the -bs option, then restart the
  1529.   X server, backing store will be available.
  1530.  
  1531.   The reason for not turning on backing store by default is two-fold.
  1532.  
  1533.   1) In IRIX 4.0.X the code for managing overlay planes didn't properly
  1534.      take overlays into account so backing store doesn't work if you
  1535.      have overlay windows on the screen. This is fixed in IRIX 5.x.
  1536.  
  1537.   2) In most cases, backing store hurts your performance.  It cases ALL
  1538.      X rendering operations to make an extra (small) traversal through
  1539.      backing store code even if backing store isn't in use.  Also when
  1540.      backing store is in use, it tends to grow the X server since a
  1541.      large amount of memory can easily be used to maintain backing
  1542.      store.
  1543.  
  1544.   One alternative to backing store is to render your image to a pixmap
  1545.   and then blit from the pixmap to the screen in response to expose
  1546.   events.  This will stress the X server a great deal less than using
  1547.   backing store.  Additionally, make sure you are compressing expose
  1548.   events when you redraw.
  1549.  
  1550. ------------------------------
  1551.  
  1552. Subject:   -63- What is "/dev/tport" used for?
  1553. Date: 26 May 1993 00:00:01 CST
  1554.  
  1555.   Mark Stadler (mds@sgi.com) says:
  1556.   /dev/tport is a streams-based tty device driver which can be in one
  1557.   of 2 modes:
  1558.  
  1559.   - when X is not running, /dev/tport gets its input from the graphics
  1560.     keyboard and images in the frame buffer (textport mode).  This mode
  1561.     is only intended to be used in single-user mode or during
  1562.     transitional periods when the X server is not running.
  1563.  
  1564.   - when X is running, /dev/tport doesn't get any input and generates
  1565.     no output.  Any programs or shells using /dev/tport hang on reads
  1566.     and toss writes.
  1567.  
  1568.   Kind of a strange device.  But it makes more sense with a clear
  1569.   understanding of how /dev/console works.
  1570.  
  1571.   /dev/console is kind of like a terminal switch box.  Rather than
  1572.   switching physical rs232 cables, we direct console output onto the
  1573.   output stream of other streams-based devices who request such
  1574.   behavior with TIOCCONS ioctl.
  1575.  
  1576.   By default, /dev/console directs its output to /dev/tport.  In the
  1577.   absence of a windowing system this causes console output (including
  1578.   kernel prints) to show up on the textport in front of you.
  1579.  
  1580.   Once the window system is started, the /dev/tport is no longer
  1581.   visible.  Thus the console is no longer visible.  At this point, a
  1582.   terminal emulation window (using streams based ttys) can issue the
  1583.   TIOCCONS ioctl to cause console output (including kernel printfs) to
  1584.   show up in the emulation in the window in front of you.
  1585.  
  1586.   Note that when you bring the window system down, /dev/tport is still
  1587.   there with the same session it started with and the console output
  1588.   redirected back to it again.
  1589.  
  1590. ------------------------------
  1591.  
  1592. Subject:   -64- Why is OpenGL's glDrawPixels slower than IrisGL's
  1593.                 lrectwrite?
  1594. Date: 28 Jul 1995 00:00:01 EST
  1595.  
  1596.   Allen Akin of SGI <akin@tuolumne.asd.sgi.com> says: It's not, for the
  1597.   most common cases.  After all, similar microcode and the same hardware
  1598.   are used for both commands.  However, there are three issues to keep
  1599.   in mind.
  1600.  
  1601.   First, some midrange and low-end SGI graphics adaptors (particularly
  1602.   XS, XZ, Elan, and Extreme) transfer ABGR-ordered images much faster
  1603.   than they transfer RGBA-ordered images.  The normal image format in
  1604.   IrisGL was ABGR, while in OpenGL it's RGBA.  So to achieve the same
  1605.   performance in OpenGL that you did in IrisGL on those machines, you
  1606.   need to use ABGR-format images in OpenGL.  The ABGR extension
  1607.   available in Irix 5.3 and later releases allows you to do this.  See
  1608.   ``man glintro'' for background information on using OpenGL extensions,
  1609.   and ``man gldrawpixels'' for details on ABGR.  Note that
  1610.   RealityEngine, IMPACT, and all future machines will process RGBA data
  1611.   at least as fast as ABGR, so RGBA is the way to go for new code.
  1612.  
  1613.   Second, some OpenGL pixel data types are faster than others.  For most
  1614.   machines, unsigned byte RGBA (or ABGR) is the fastest full-color type.
  1615.   Unsigned byte and unsigned short are usually the fastest gray-scale
  1616.   types.  Signed integer types are slower.
  1617.  
  1618.   Third, OpenGL pixel operations have a much richer set of features than
  1619.   IrisGL, and if any of those features are enabled, then image transfer
  1620.   can be significantly slower.  Always disable the features that you
  1621.   don't need.  The following code fragment disables features that are
  1622.   likely to make glDrawPixels slow:
  1623.  
  1624.         /*
  1625.          * Disable stuff that's likely to slow down glDrawPixels.
  1626.          * (Omit as much of this as possible, when you know in advance
  1627.          * that the OpenGL state will already be set correctly.)
  1628.          */
  1629.         glDisable(GL_ALPHA_TEST);
  1630.         glDisable(GL_BLEND);
  1631.         glDisable(GL_DEPTH_TEST);
  1632.         glDisable(GL_DITHER);
  1633.         glDisable(GL_FOG);
  1634.         glDisable(GL_LIGHTING);
  1635.         glDisable(GL_LOGIC_OP);
  1636.         glDisable(GL_STENCIL_TEST);
  1637.         glDisable(GL_TEXTURE_1D);
  1638.         glDisable(GL_TEXTURE_2D);
  1639.         glPixelTransferi(GL_MAP_COLOR, GL_FALSE);
  1640.         glPixelTransferi(GL_RED_SCALE, 1);
  1641.         glPixelTransferi(GL_RED_BIAS, 0);
  1642.         glPixelTransferi(GL_GREEN_SCALE, 1);
  1643.         glPixelTransferi(GL_GREEN_BIAS, 0);
  1644.         glPixelTransferi(GL_BLUE_SCALE, 1);
  1645.         glPixelTransferi(GL_BLUE_BIAS, 0);
  1646.         glPixelTransferi(GL_ALPHA_SCALE, 1);
  1647.         glPixelTransferi(GL_ALPHA_BIAS, 0);
  1648.  
  1649.         /*
  1650.          * Disable extensions that could slow down glDrawPixels.
  1651.          * (Actually, you should check for the presence of the proper
  1652.          * extension before making these calls.  I've omitted that
  1653.          * code for simplicity.)
  1654.          */
  1655.  
  1656.     #ifdef GL_EXT_convolution
  1657.         glDisable(GL_CONVOLUTION_1D_EXT);
  1658.         glDisable(GL_CONVOLUTION_2D_EXT);
  1659.         glDisable(GL_SEPARABLE_2D_EXT);
  1660.     #endif
  1661.  
  1662.     #ifdef GL_EXT_histogram
  1663.         glDisable(GL_HISTOGRAM_EXT);
  1664.             glDisable(GL_MINMAX_EXT);
  1665.     #endif
  1666.  
  1667.     #ifdef GL_EXT_texture3D
  1668.             glDisable(GL_TEXTURE_3D_EXT);
  1669.     #endif
  1670.  
  1671. ------------------------------
  1672.  
  1673. Subject:   -65- BUGS AND PROBLEMS
  1674. Date: 15 May 1994 00:00:01 EST
  1675.  
  1676.   This section discusses real and apparent bugs and problems we haven't
  1677.   covered already.
  1678.  
  1679. ------------------------------
  1680.  
  1681. Subject:   -66- Why do I get a "Broken Pipe" error when I close an X
  1682.                 client window?
  1683. Date: 10 Jun 1993 00:00:01 EST
  1684.  
  1685.   Typically the error message looks like:  XIO: fatal IO error 32
  1686.   (Broken pipe) on X server ":0.0" after 214 requests (214 known
  1687.   processed) with 0 events remaining.  The connection was probably
  1688.   broken by a server shutdown or KillClient.
  1689.  
  1690.   The Window Manager is reporting that the pipe for your X client has
  1691.   been broken.  This is normal when an X client exits.  There is
  1692.   nothing wrong with your system. This message will also occur when the
  1693.   system is shut down.  This is not an error condition and no core
  1694.   files are produced.
  1695.  
  1696. ------------------------------
  1697.  
  1698. Subject:   -67- What do the errors in my 'xdm-errors' file mean?
  1699. Date: 07 May 1993 00:00:01 EST
  1700.  
  1701.   It depends on the error message, obviously.  Some are:
  1702.  
  1703.     unable to load display mode, rnid = 196614, errno = 22
  1704.     Failed to unbind rn from clip, rnid = 3,errno = 22
  1705.     bogus window id in rrm request type(2)
  1706.  
  1707.   These are messages related to the communication between the rrm layer
  1708.   in the kernel and the X server.  The messages usually occur when a GL
  1709.   window is being destroyed in a sequence that the X server did not
  1710.   expect.  They are quite benign.
  1711.  
  1712. ------------------------------
  1713.  
  1714. Subject:   -68- Why doesn't SGI's xlock lock my screen?
  1715. Date: 10 Jun 1993 00:00:01 EST
  1716.  
  1717.   If you or the super-user don't have a password, xlock will not lock.
  1718.  
  1719.   Under IRIX 4.0.x, xlock is set up by default to act as if invoked
  1720.   with the "-nolock" option, which tells it not to lock the screen.  If
  1721.   you want force xlock to lock, do either of the following:
  1722.  
  1723.   a) Use the "+nolock" option when invoking xlock.  This means
  1724.      "not nolock" (the opposite of "-nolock").  For example:
  1725.  
  1726.      % xlock +nolock
  1727.  
  1728.   b) Add the following line to your ~/.Xdefaults file:
  1729.  
  1730.      XLock.nolock:    False
  1731.  
  1732.   In IRIX 5.x, the default behavior of xlock has been reversed, so
  1733.   xlock does indeed lock by default.  If you wish to keep the IRIX 4.x
  1734.   behavior, invoke xlock with the -nolock option.
  1735.  
  1736. ------------------------------
  1737.  
  1738. Subject:   -69- Why can't my XView application find its fonts?
  1739. Date: 11 Feb 1996 00:00:01 EST
  1740.  
  1741.   You haven't installed the x_eoe.sw.Xoptfonts subsystem.
  1742.  
  1743. ------------------------------
  1744.  
  1745. Subject:   -70- After running a few programs, the colors change as the
  1746.                 cursor moves. The colors are usually all wrong in other
  1747.                 windows.
  1748. Date: 07 May 1993 00:00:01 EST
  1749.  
  1750.   This is known as colormap flashing. It is caused by the server
  1751.   maintaining 2 separate colormaps, one for GL windows and one for X
  1752.   windows.  As the cursor moves around, the window manager will install
  1753.   the correct colormap for each window.  This will cause colors to be
  1754.   wrong in other windows.  For more information on colormaps and
  1755.   installation please see the Xlib Programming manual, chapter 7 (Vol I
  1756.   of the O'Reilly series).
  1757.  
  1758.   You can sometimes avoid colormap flashing by configuring your X
  1759.   Server to use a 12-bit or 24-bit visual by default.
  1760.  
  1761. ------------------------------
  1762.  
  1763. Subject:   -71- How can I make my X Server use a 12-bit PseudoColor, 12-
  1764.                 bit TrueColor or 24-bit TrueColor visual by default?
  1765. Date: 07 May 1993 00:00:01 EST
  1766.  
  1767.   By default, the SGI X Server is configured to use an 8-bit
  1768.   PseudoColor visual.  X-based applications can request other visuals
  1769.   directly if they are available.  Alternatively, you can change the
  1770.   default visual by performing the following steps:
  1771.  
  1772.   a) Run "/usr/bin/X11/xdpyinfo" and check that your server is
  1773.      capable of using a 12-bit or 24-bit visual.  If it is,
  1774.      you will see lines similar to the following:
  1775.  
  1776.      visual id, max buffers, depth:    0x28, 0, 12
  1777.      visual id, max buffers, depth:    0x29, 0, 12
  1778.      visual id, max buffers, depth:    0x2a, 0, 24
  1779.  
  1780.      The last number on each line represents the number of bits
  1781.      available for that visual.
  1782.  
  1783.   b) Log in as root
  1784.  
  1785.   c) Edit the file /usr/lib/X11/xdm/Xservers.  By default it
  1786.      will contain the string:
  1787.        :0 secure /usr/bin/X11/X -bs -c -pseudomap 4sight
  1788.      for a 24-bit TrueColor visual change it to:
  1789.        :0 secure /usr/bin/X11/X -bs -c -class TrueColor -depth 24
  1790.      for a 12-bit PseudoColor visual change it to:
  1791.        :0 secure /usr/bin/X11/X -bs -c -class PseudoColor -depth 12
  1792.  
  1793.   d) Restart your X server as above.
  1794.  
  1795.   Note:  X Server visuals are an advanced topic; before making the
  1796.   above changes you should be aware that some 3rd-party and freeware
  1797.   applications might not gracefully adapt to an X Server which supplies
  1798.   anything but an 8-bit PseudoColor visual by default.
  1799.  
  1800. ------------------------------
  1801.  
  1802. Subject:   -72- When I try to run UIM/X uxserverd, I get an error
  1803.                 message saying, "license file has been modified, cannot
  1804.                 start the UIM/X license server".
  1805. Date: 07 May 1993 00:00:01 EST
  1806.  
  1807.   You probably have been given a bad key.  The most frequent causes of
  1808.   incorrect keys have been incorrect capitalization and incorrect IP
  1809.   addresses.
  1810.  
  1811.   The program that generates the UIM/X key requires that the "host ID"
  1812.   (or IP address) be in hexadecimal format.  If you feed it the
  1813.   standard form of IP address (i.e., 123.45.678.90) it will generate
  1814.   the wrong key and will not complain.
  1815.  
  1816.   To ensure that you are is giving the correct information when
  1817.   requesting a UIM/X key, please do the following:
  1818.  
  1819.   Hostname:  Type in 'hostname' at the prompt, and be sure to say
  1820.   exactly what it says (including capitalization, if any).
  1821.  
  1822.   Host ID:  Type in 'hostid' at the prompt, and be sure to say exactly
  1823.   what it says.  You will be reading back a series of numbers of the
  1824.   form 0xc030c844.  The leading 0x indicates that the following number
  1825.   is hexadecimal.
  1826.  
  1827.   The key generating script is highly sensitive to capital letters.
  1828.   Make sure you confirm the case of the letters, both when getting the
  1829.   hostname/hostid and when having your key read back to you.
  1830.  
  1831.   If this still doesn't fix the problem, you may have mixed files
  1832.   between UIM/X 1.0 and 2.0.  Completely remove UIM/X, re-install it,
  1833.   and reproduce a Uimx2_0.license file with the correct information.
  1834.  
  1835. ------------------------------
  1836.  
  1837. Subject:   -73- I just upgraded from IRIX 5.2 to 5.3. Why does my PI or
  1838.                 VGX say "extension GLX missing on display :0.0"?
  1839. Date: 14 May 1995 00:00:01 EST
  1840.  
  1841.   Mark Kilgard of SGI <mjk@woodsy.asd.sgi.com> explains:
  1842.   /usr/lib/X11/dyDDX/glx.so, without which OpenGL doesn't work, is
  1843.   missing due to peculiar installation circumstances. (See the
  1844.   INSTALLING section of the SGI admin FAQ for general comments on that
  1845.   sort of thing.) Either remove the 5.2 gl_dev.sw.glprof subsystem
  1846.   *before* upgrading, or reinstall the 5.3 x_eoe.sw.Server subsystem
  1847.   *after* upgrading, and reboot.  If you do the latter, be sure to "set
  1848.   neweroverride on" in 'inst'.
  1849.  
  1850. ------------------------------
  1851.  
  1852. Subject:   -74- Why does my X server (Xsgi) grow inexorably?
  1853. Date: 04 May 1996 00:00:01 EST
  1854.  
  1855.   It's a combination of bugs in the kernel and X server (Xsgi) which
  1856.   result in leaked memory being allocated to Xsgi. Its total size (but
  1857.   not its resident size) increases until swap space is completely
  1858.   filled. It is fixed by the combination of patches 1187 (for non-Impact
  1859.   graphics) or 1098 (for Impact graphics) and 1255 for IRIX 5.3.
  1860.  
  1861.   You might also add the following to /usr/bin/X11/X before the lines
  1862.   where it starts Xsgi
  1863.  
  1864.     MALLOC_CONFIG=2:mm_minunmapsrch=0:mm_xf[0].mm_flindx=7:mm_xf[0].mm_szshft=5:mm_xf[1].mm_flindx=2055:mm_xf[1].mm_szshft=8:mm_xf[2].mm_flindx=2065:mm_xf[2].mm_szshft=20:mm_flsearh=30:mm_missthrash=4:mm_nszmult=32
  1865.     export MALLOC_CONFIG
  1866.  
  1867.   (two lines, one beginning with "MALLOC_CONFIG=" and one with
  1868.   "export") or restart Xsgi periodically by hand or at each logout as
  1869.   described above.
  1870.  
  1871. ------------------------------
  1872.  
  1873. Subject:   -75- Why does my GL application run slower on newer SGI
  1874.                 hardware than it did on older SGI hardware?
  1875. Date: 8 Mar 1997 00:00:01 CST
  1876.  
  1877.   One probable explanation is that your program is using IrisGL 
  1878.   (sometimes referred to as just "GL") rather than OpenGL.  Starting
  1879.   with Impact graphics, SGI graphics hardware is optimized for native
  1880.   OpenGL.  IrisGL calls are executed through an emulation layer known
  1881.   as IGLOO, or "IrisGL On OpenGL."  This layer of emulation reduces
  1882.   performance. 
  1883.  
  1884.   The best solution is to port your program to OpenGL.
  1885.  
  1886. ------------------------------
  1887.  
  1888. Subject:   -76- MISCELLANEOUS
  1889. Date: 15 May 1994 00:00:01 EST
  1890.  
  1891.   Everything else.
  1892.  
  1893. ------------------------------
  1894.  
  1895. Subject:   -77- What books about the X Window System and OSF/Motif do
  1896.                 you recommend?
  1897. Date: 07 May 1993 00:00:01 EST
  1898.  
  1899.   Introductory Texts on the X Window System
  1900.  
  1901.   - O'Reilly and Associates Inc., "The Definitive Guides to the X
  1902.     Window System", by Valerie Quercia and Tim O'Reilly. Vol.  3, "X
  1903.     Window System User's Guide", Sebastopol, CA., 1988, 1989.
  1904.  
  1905.     Discusses being an end user of the X window system.  Covers topics
  1906.     like window manages, font specifications, standard X clients and
  1907.     resources.
  1908.  
  1909.   Texts on X Window System Programming
  1910.  
  1911.   - O'Reilly and Associates, Inc. "The Definitive Guides to the X
  1912.     Window System", by Adrian Nye. Vol. 1, "Xlib Programming Manual",
  1913.     Sebastopol, CA, 1990.
  1914.  
  1915.     Contains the introductory elements for programming with the Xlib,
  1916.     the lowest level of the X window system.  Discusses concepts such
  1917.     as X color capacities, windows, events, drawing primitives.
  1918.  
  1919.   - Young, Douglas A., "X Window Systems Programming and Applications
  1920.     with Xt" (OSF/Motif Edition). Prentice Hall. Englewood Cliffs, NJ.
  1921.     1990.
  1922.  
  1923.     A thorough book starting with the basics of programming with a
  1924.     toolkit though advanced topics.  Contains source code for several
  1925.     small complete applications.  (Source code for this book is also
  1926.     available on line in the /usr/src directory of the Motif
  1927.     Development option.)
  1928.  
  1929.   - O'Reilly and Associates Inc., "The Definitive Guides to the X
  1930.     Window System", by Adrian Nye and Tim O'Reilly. Vol. 4, "X Toolkit
  1931.     Intrinsics Programming Manual", Sebastopol, CA., 1990.
  1932.  
  1933.     Another reference for programming with the OSF/Motif toolkit.
  1934.     Covers topics including basic programming, widgets, resources, and
  1935.     more advanced topics.
  1936.  
  1937.   Reference Texts for the X Window System :
  1938.  
  1939.   - O'Reilly and Associates Inc., "The Definitive Guides to the X
  1940.     Window System", by Adrian Nye. Vol. 2, "Xlib Reference Manual",
  1941.     Sebastopol, CA., 1988.
  1942.  
  1943.     Complete reference for Xlib library routines.
  1944.  
  1945.   - Scheifler, Robert and James Gettys, X Window System, Second
  1946.     Edition, Digital Press, 1990.  ISBN 1-55558-050-5.
  1947.  
  1948.     Referred to as "the Bible" of Xlib and X Protocol reference.
  1949.  
  1950.   Reference Texts for the OSF/Motif Toolkit :
  1951.  
  1952.   - Open Software Foundation, "OSF/Motif Programmer's Guide". Release
  1953.     1.1, Prentice Hall. Englewood Cliffs, NJ. 1990.
  1954.  
  1955.     Exhaustive reference of every widget in the OSF/Motif library.
  1956.  
  1957.   - Asente, Paul J. and Ralph R. Swick. "X Window System Toolkit".
  1958.     X Version 11, Release 4. Digital Press. 1990.
  1959.  
  1960.     Very in-depth reference to the structure and operation of an X
  1961.     window system toolkit.
  1962.  
  1963. ------------------------------
  1964.  
  1965. Subject:   -78- Does the IRIX 5.2 Magic user environment display on an X
  1966.                 terminal?
  1967. Date: 30 Apr 1994 00:00:01 EST
  1968.  
  1969.   Joel Tesler <joel@jellotrees.esd.sgi.com> says:  Although it is not
  1970.   officially supported, it should work in IRIX 5.2 MR (but not in the
  1971.   beta release).  There are some glitches.  You probably don't have to
  1972.   set the environment variable _NO_DESKTOP_IMAGES, but try it if you
  1973.   have problems.  There should be no reason to set _SGI_NO_REMOTE_GL.
  1974.  
  1975. ------------------------------
  1976.  
  1977. Subject:   -79- What about OpenGL?
  1978. Date: 11 Aug 1995 00:00:01 EST
  1979.  
  1980.   It has its own newsgroup, comp.graphics.api.opengl, which has an FAQ,
  1981.   which is listed in the misc FAQ.
  1982.  
  1983. ------------------------------
  1984.  
  1985. Subject:   -80- Which SGI machines can run OpenGL now? Which will in the
  1986.                 future?
  1987. Date: 04 Oct 1995 00:00:01 EST
  1988.  
  1989.   The version of OpenGL which comes with IRIX 5.3 supports Entry, XS,
  1990.   XS24, XZ, XL, Elan, Extreme, VTX, Reality Engine, Reality Engine 2, G
  1991.   (on 4D20, 25, 30 and 35s only) TG (as G), VGX, and VGXT graphics.
  1992.   There are no plans for ports to any more older systems. See also
  1993.   'relnotes gl_dev 6' under IRIX 5.3.
  1994.  
  1995. ------------------------------
  1996.  
  1997. Subject:   -81- What's this about a copyright dispute over virtual desks
  1998.                 in Indigo Magic?
  1999. Date: 27 Nov 1995 00:00:01 EST
  2000.  
  2001.   Xerox has a software patent which they claimed covered the virtual
  2002.   desks which are part of Indigo Magic.  IRIX 5.3 and 6.x include
  2003.   licensing code which turned off virtual desks on 15 May 1995.  See
  2004.   chapter 1 of the desktop_eoe release notes for details.
  2005.  
  2006.   The dispute has been resolved (we don't know how) and SGI has provided
  2007.   a new licensing code which will allow one to use virtual desks until
  2008.   2038.  The code and installation instructions are, among other places,
  2009.   at ftp://viz.tamu.edu/pub/sgi/software/desktop/overview-license and in
  2010.   the May/Jun 1995 Pipeline. Here's the punchline: Edit
  2011.   /var/netls/nodelock and replace the line containing the word "Desks"
  2012.   (this is the only non-blank line on a clean IRIX 5.3 system) with the
  2013.   following two lines:
  2014.  
  2015.   #:# "Silicon Graphics" Desks A "2038/01/01"
  2016.   546fb4684914.02.c0.1a.3d.52.00.00.00 y49ga6qrewn69tqaq4r6m44g22
  2017.  
  2018.   (Although the two lines are preceded by spaces here, they should be
  2019.   flush left in /var/netls/nodelock.)
  2020.  
  2021.   OR, if you like, you can get patch 455 from the TAC, which includes an
  2022.   'ov' which doesn't check the license manager at all. Note, however,
  2023.   that patch 455 makes 'showfiles -F' fail. We don't yet know why.
  2024.  
  2025. ------------------------------
  2026.  
  2027. End of sgi/faq/graphics Digest
  2028. ******************************
  2029. -- 
  2030. The SGI FAQ group <sgi-faq@viz.tamu.edu>   http://www-viz.tamu.edu/~sgi-faq/
  2031. Finger us for info on the SGI FAQs, or look in ftp://viz.tamu.edu/pub/sgi/.
  2032.