Take cover off the Idesk and remove all support blocks and cardboard/foam protection. Inspect for damage. Remove 80/20 frame strapped to inside of Idesk and locate the bolts for attaching the projector. Locate and remove a key for opening the screen.
Remove projector from the casing. Turn upside down and remove screwin pegs. Attach 80/20 frame to underside of the projector. Then slide onto 80/20 rail inside Idesk. The top wheel on the front bracket sits on the top groove of the 80/20 rail. The back bracket slips onto the rail inside the Idesk.
gunzip < CAVE.tar.gz | tar xvf -This will create a directory named CAVE, with the subdirectories bin, doc, etc, include, lib, and src. The basic contents of the directories are:
Four of the programs in CAVE/bin/ (mplock, mpunlock, restarttrackd, and killtrackd)must be installed with setuid root permission. They are distributed as mplock.exe, etc, and should be copied and chmod'ed as necessary. If the CAVE/ hierarchy is NFS mounted, this may require having a copy of these executables on a local disk (depending on your NFS security). Our standard solution for this is as follows:
cp mplock.exe /sbin/mplock chown root.sys /sbin/mplock chmod u+s /sbin/mplock ln -s /sbin/mplock /usr/local/CAVE/bin/mplock (repeat for mpunlock, restarttrackd, killtrackd)(The programs need to be locatable through the CAVE/bin/ directory, as that is where CAVE programs will run them from.) The source code for four three programs is in CAVE/src/.
In the CAVE/etc/ directory are three configuration files - cave.config, idesk.config, and zbox.config. cave.config is a generic configuration file which sets most of the standard options, and tells programs to run in CAVE simulator mode. idesk.config is a standard ImmersaDesk configuration. zbox.config is a sample configuration for a system driving a full CAVE. On an ImmersaDesk system, copy the file idesk.config to HOSTNAME.config, where HOSTNAME is the system name, as returned by /usr/bsd/hostname. When a CAVE program starts, it will first read the generic cave.config, and then will read HOSTNAME.config for any machine-specific settings. This allows multiple computers running in different modes (simulator, ImmersaDesk, CAVE, etc) to share one NFS mounted CAVE/etc/ directory. (NB: there is one obvious flaw in the present design - you should not name your machine 'cave'.) NB: Both configuration files (cave.config and HOSTNAME.config) need to be installed, as the default cave.config contains some standard settings which are not it the host-specific file.
On an Onyx/RE2, issue the command:
/usr/gfx/setmon -x 1025x768_96sOn an Indigo2 Impact, issue the command:
/usr/gfx/setmon -x 1024x768_96sOn an Onyx Infinite Reality, the command:
/usr/gfx/setmon -x 1024x768_96smay work, although it tends to fail on many currently shipped systems. The method that is known to work is to run /usr/gfx/ircombine. This program is a GUI which allows you to define your own combinations of video formats. After starting the program, hit the "Edit Globals..." button (in the lower right corner); this brings up a dialog box. Change the managed area on the top line of the dialog to be 1024 by 768, and hit "Close". Then hit the "Ch0" button (at the top of the window), and choose 1024x768_96s.vfo in the file selector. Now select "Save to EEPROM" from the "File" menu, and hit "Download" in the dialog that pops up. (You can also save the combination to a .cmb file for later loading with setmon).
Once you have set the default video mode, with either setmon or ircombine, you must restart the graphics to load it. Do this either via the Vulcan Death Grip (Shift-Control-F12-/), or by running /usr/gfx/stopgfx ; /usr/gfx/startgfx .
Warning: On an IR system, you will probably need patch 1355 to get a 1024x768_96s video format which works correctly with the Electrohome projectors.
To reset the display to the normal 1280x1024 60 Hz format, run
/usr/gfx/setmon -x 60hzand restart the graphics.
First, edit your ImmersaDesk configuration file (the one in CAVE/etc/ originally named idesk.config), and make sure that the tracker serial port and baud rate are correct. A standard configuration is as follows:
TrackerPort /dev/ttyd2 TrackerBaud 38400 TrackerType daemon Wand daemon SerialTracking yNext check that the script CAVE/bin/starttrackd has the correct serial port for the wand and the correct tracker type. The standard trackd command line is:
/usr/local/CAVE/bin/trackd -spacepad -controller /dev/ttyd1The argument following "-controller" is the name of the serial port to which the wand is attached. (For purely historical reasons, the wand (aka controller) serial port is given on the command line while the tracker serial port is given in the configuration file.)
Make sure that both of the serial ports (ttyd1 and ttyd2 above) are configured as "Available" in the System Manager; i.e. the system does not think that anything is attached to them. Often port 1 is configured to have a terminal attached to it; this will confuse the tracking, and should be disabled (or else use a different port).
my note: use ttyd2 and ttyd3 leaving ttyd1 as terminal. ttyd2&3 can be made available by: chmod +rw /dev/ttyd2 & chmod +rw /dev/ttyd3. But generally their default is availabe.
To have the daemon automatically started whenever the system boots, add the script to /etc/rc2.d. i.e.:
ln -s /usr/local/CAVE/bin /etc/rc2.d/S992trackdIf the tracking daemon seems to die at any point, it can be restarted using CAVE/bin/restarttrackd. This program merely does an /etc/killall trackd and then re-runs /usr/local/CAVE/bin/starttrackd (both as root).
Remember to make sure that the mdesk program is always running on the tracker PC.
TransmitterRotationMatrix 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 TransmitterOffset 0 0 0 feet HeadSensorRotation 0 1 0 0 HeadSensorOffset 0 0 0 inches WandSensorRotation 1 0 0 0 WandSensorOffset 0 0 0 inchesauto_config <filename>
ProjectionCorners desk -33.50 0.00 0.00 -33.50 39.40 -30.78 33.50 0.00 0.00 in TransmitterRotationMatrix 1.0000 0.0000 0.0000 0.0000 0.7986 -0.6018 0.0000 0.6018 0.7986 TransmitterOffset -0.114872 5.284781 -1.264127 feetAdd those 3 line to your config file. Add also following lines:
HeadSensorRotation 0 1 0 90 HeadSensorOffset 0 -6.5 -2.5 inches WandSensorRotation 1 0 0 -30 WandSensorOffset 0 2 -7 inchesNow system is configured. You can check it running cavevars, or calibration <angle>.;
If cavevars (or another CAVE program) does not run correctly, the first thing to check is the configuration data. The final configuration which a program will use is printed to stderr when the program starts; review this and make sure that all relevant entries appear correct. For reference, the normal configuration output from our ImmersaDesk is as follows:
CAVE Library Version 2.5.6c - Compiled Jul 16 1996 CAVE: Reading configuration file /usr/local/CAVE/etc/cave.config CAVE: Reading configuration file /usr/local/CAVE/etc/kona.config **************************************************************** CAVE Configuration: Active walls ...................... 1 screen7(21) [-1x-1+0+0] "DISPLAY=:0.0" both CAVE width ........................ 10.00 feet CAVE height ....................... 10.00 feet CAVE origin ....................... 5.00 0.00 5.00 feet Display mode ...................... stereo96 (46) Non CAVE Display mode ............. 96hz (49) CAVE Scale ........................ 1.000 In stereo ......................... y Hide Cursor ....................... y Use tracker ....................... y Serial tracking.................... y Tracker type ...................... daemon (75) Tracker serial ports .............. /dev/ttyd2 Tracker Baud Rate ................. 38400 (15) Tracker Daemon Key ................ 4126 Use calibration ................... n Calibration file .................. /usr/local/CAVE/etc/cave.correction.table Transmitter offset ................ -0.080 7.720 -1.660 feet Transmitter orientation ........... (1.000,0.000,0.000) 0.000 degrees Wand sensor offset ................ 0.000 0.250 -0.583 feet Wand sensor orientation ........... (1.000,0.000,0.000) -0.524 degrees Head sensor offset ................ 0.292 0.000 -0.208 feet Head sensor orientation ........... (0.000,0.000,1.000) -1.571 degrees Interocular distance .............. 0.229 feet Wand .............................. daemon (59) Controller Daemon Key ............. 4127 Simulator ......................... n Simulator view .................... 10.000x7.500, 2.000 feet Network ........................... n CPU locking ....................... n CAVE units ........................ feet (76) Audio server ...................... 127.0.0.1 Distribution ...................... none (93) App Distribution .................. none (93) Gang swap ......................... n Scramnet .......................... n Shared memory ..................... unix (100) ****************************************************************If the configuration is correct, review the rest of the system setup as described in the preceding sections.