Geowall Project at SDSU
Computing Services South Dakota State University

Home
Gallery
Hardware
Software/Documentation
                                    Software and Documentation

1.    Redhat Linux 8.0 :

NVidia Linux Drivers: Once the basic Redhat install was complete we downloaded and installed the drivers for the graphics board from NVidia's website. The NVIDIA Accelerated Linux Driver Set brings both accelerated 2D functionality and high performance OpenGL support to Linux x86 with the use of NVIDIA graphics processing units (GPUs). These drivers provide optimized hardware acceleration of OpenGL applications via a direct-rendering X Server and support nearly all NVIDIA graphics chips.
XFree86 4.0.3 Configuration: After the NVidia kernel driver was installed we had to make some changes to the x server's configuration file. Take a look at /etc/X11/XF86Config-4 ( -4 is standard for xfree86 4.0.x). Follow the directions included in the README file with the NVidia glx driver to modify the x config file. It involves simply changing the driver from 'NV' to 'NVidia' and altering a few of the other includes. We took a look at the TWINVIEW_README file from the same dir to see how to enable the twin view option and setup the second monitor. This is the config file.
http://wwwusers.cs.umn.edu/~wburdick/geowall/XF86Config-4

Building the NVIDIA Driver: Installing the rpm files

$ rpmbuild –rebuild NVIDIA_k*
$ rpm –ivh /usr/src/redhat/RPMS/i386/NVIDIA_kernel-1.0-3123.i386.rpm
$ ls
$ rpmbuild –rebuild NVIDIA_GLX-1.0.-3123.i386.rpm
$ rpm –ivh /usr/src/redhat/RPMS/i386/NVIDIA_GLX-1.0-3123.i386.rpm

XF86 : Copied the XF86 config file into XF86 config.twinview for the projectors and XF86 config.single for single monitor

The XFree86 configuration file is usually found in /etc/X11/XF86Config. This section describes the parts, which must be specially set for the DRI. Backup the file you want to edit. This is done with the copy command, cp.  Give the file an extension, which will let you know that it is the original file. In this case
cp XF86Config.twinview
cp XF86Config.single3
To edit type vi Xf86Config.twinview and press Enter.

Editing the Config File:
·    Driver “nv” with Driver “nvidia”
·    In the Module Section make sure to have Load “glx” and remove the following lines: Load “dri” and Load “Glcore”
 
Troubleshooting:

Problem Low frame rate when viewing 3D models

Solution:
Execute the command:
$ glxinfo | grep vendor

The output should look like this:

server glx vendor string: NVIDIA Corporation
client glx vendor string: NVIDIA Corporation
OpenGL vendor string: NVIDIA Corporation

If ‘NVIDIA Corporation’ is not listed, or you receive an error message (such as ‘unresolved symbol’), you are not using the NVIDIA OpenGL libraries and need to set the LD_LIBRARY_PATH environment variable to list /usr/lib before /usr/local/lib.


2.0    Viewer:

Version : 0.7.3
URL         : http://www-users.cs.umn.edu/~wburdick/geowall/viewer.html
Description: Viewer is an OpenGL based stereo pair viewer and aligner.
At present it only accepts images in the PPM image format but work is in progress to allow use of other image types. Viewer is known to work on many systems, including Linux and OSL, but will work on anything with OpenGL and a compiler. Besides being useful as a stereo pair viewer it is also useful to view a mono image and easily pan/drag around with the image.
Building Viewer:
Installing the binary:
Tar – xvzf viewer-0.7.3-linux-x86-binary.tar.gz
$ cd viewer-0.7.3
$ tar –xzvf viewer-0.7.3   

Installing Viewer from source :
$ tar –xzvf viewer-0.7.3.tar.gz
$ cd viewer-0.7.3
$ ./configure –prefix=$INSTALLDIR
$ make
$ make install
Usage:
viewer [basename]
----will read basename-l.ppm (LEFT EYE IMAGE FILE) and basename-r.ppm (RIGHT EYE IMAGE FILE) as left and right images and will write basename-leftcrop.ppm, basename-rightcrop.ppm, and basename-pair.ppm
viewer [options]
-i leftinfile.ppm rightinfile.ppm
-v fullinfile.ppm
-o fulloutfile.ppm [default = fullout.ppm]
-l leftoutfile.ppm [default = leftout.ppm]
-r rightoutfile.ppm [default = rightout.ppm]
Must contain either the -i or -v options or only basename. If the -o, -l, or -r options are omitted default will be used

3.0    ImmersaView:

http://www.evl.uic.edu/cavern/agave/immersaview
       Can be used to View .iv formate files an VRML (1.0 and 2.0) formate files.
Developers:
Jason Leigh, Vikas Chowdry, Andrew Johnson, Atul Nayak, Chris Scharver

ImmersaView is an Open Inventor model viewer for the GeoWall/AGAVE. The data can be a single Inventor model or a flipbook of models that you can animate or single-step through. This software uses Coin3D and fltk, used to compile ImmersaView from scratch. ImmersaView is currently supported in the Linux, Windows and Macintosh environments.

Compiling Immersaview:
1. You should install the Coin3d and simage libraries (http://www.coin3d.org) and the fltk library (http://www.fltk.org) before compiling Immersaview.
2. Change directory to immersaviewsrc. Open 'Makefile' and edit the variablesINVENTOR_LIB, INVENTOR_INC, FLTK_LIB and FLTK_INC to point to the correct directories.
3. The default compiler is g++.
4. Type 'make'.
5. Add the Coin and simage libraries to your path before you run immersaview (if they are not in the path already) i.e. set the LD_LIBRARY_PATH variable as follows: exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/cavern/Coin3d/lib oin3D: Coin is a high-level 3D graphics library with a C++ Application Programming Interface. Coin uses scene graph data structures to render real-time graphics suitable for mostly all kinds of scientific and engineering visualization applications. Coin is portable over a wide range of platforms: any UNIX / Linux / *BSD platform, all Microsoft Windows operating system, and Mac OS X. Coin is built on the industry-standard OpenGL immediate mode rendering library, and adds abstractions for higher-level primitives, provides 3D interactivity, immensely increases programmer convenience and productivity, and contains many complex optimization features for fast rendering that are transparent for the application programmer. 

4.0    How to load your own Open Inventor models: The scripts RUN_HEART and RUN_QUAKES execute 'immersaview'. You have to provide the model as the first argument to this executable. The second argument can be a configuration file (default : StereoCameras.iv).
A] Loading a single model
1.    Suppose you have a model called 'Earth.iv'. Create a script RUN_EARTH in your favorite editor.
2.    Type './immersaview Earth.iv'. Save and exit.
3.    Now run 'RUN_EARTH'.
Coin is based on the SGI Open Inventor API. Open Inventor, is the de facto standard graphics library for 3D visualization and visual simulation software in the scientific and engineering community
FLTK: FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL® and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked - the "hello" program is only 97k when compiled on an x86 Linux system! FLTK also works fine as a shared library and is now being included on Linux distributions.
FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes.


6.0    Downloaded new software DIME:

URL: http://www.coin3d.org/Dime/about.php
Dime is a C++ class library for reading, constructing, manipulating, and writing DXF file data. The name is an acronym for DXF Import, Manipulation, and Export library. Dime is known to compile on Win32, Linux, IRIX, HP-UX, Solaris, BeOS and MacOS. Converts dxf to VRML files.

7.0    NETPBM

       netpbm is a package of graphics manipulation programs and libraries.

We installed the following rpm packages form redhat Distribution CDs
netpbm-devel-9.24-6.rpm
netpbm-progs-9.24-6.rpm
netpbm-9.24-6.rpm

       Netpbm is a package of graphics programs and programming libraries.

       There are over 220 separate programs in the package, most of which have
       "pbm", "pgm", "ppm", or "pnm" in their names.   For  example,  pnmscale
       and giftopnm.
For VIEWER we need .ppm format files. Netpbm can be used to convert jepf and PPM formate files inot .ppm formate.
Some the most Usefull utilities are here and complete netpbm manual and list of packages can viewed at netpbm.htm

Converters
       ppmtompeg
              convert series of PPM frames to an MPEG movie

       jpegtopnm
              convert JFIF/JPEG/EXIF file to Netpbm format

       pnmtojpeg
              convert PPM to JPEG/JFIF/EXIF format

       anytopnm
              convert any graphics format to Netpbm format

       bmptoppm
              convert Windows or OS/2 Bitmap file to PPM

       ppmtobmp
              convert PPM to Windows or OS/2 Bitmap file

       giftopnm
              convert GIF to portable anymap

       ppmtogif
              convert PPM to GIF

       ilbmtoppm
              convert IFF ILBM to PPM

       ppmtoilbm
              convert PPM to IFF ILBM

       imgtoppm
              convert Imgâwhatnot to PPM

       mtvtoppm
              convert MTV rayâtracer output to PPM

       pcxtoppm
              convert PC Paintbrush format to PPM

       pgmtoppm
              colorize a portable graymap into a PPM

       pi1toppm
              convert Atari Degas .pi1 to PPM

       ppmtopi1
              convert PPM to Atari Degas .pi1

       picttoppm
              convert Macintosh PICT to PPM

       ppmtopict
              convert PPM to Macintosh PICT

       qrttoppm
              convert QRT rayâtracer output to PPM

       rawtoppm
              convert raw RGB bytes to PPM

       sldtoppm
              convert an AutoCAD slide file into a PPM

       spctoppm
              convert Atari compressed Spectrum to PPM

       sputoppm
              convert Atari uncompressed Spectrum to PPM

       tgatoppm
              convert TrueVision Targa file to PPM

       ppmtotga
              convert PPM to TrueVision Targa file

       ximtoppm
              convert Xim to PPM

       xpmtoppm
              convert XPM format to PPM

       ppmtoxpm
              convert PPM to XPM format

       yuvtoppm
              convert Abekas YUV format to PPM

       eyuvtoppm
              convert Encoder/Berkeley YUV format to PPM

       ppmtoeyuv
              convert PPM to Encoder/Berkeley YUV format

       ppmtoyuv
              convert PPM to Abekas YUV format

       ppmtoyuvsplit
              convert PPM to 3 subsampled raw YUV files

       yuvsplittoppm
              merge 3 subsampled raw YUV files to one PPM

       ppmtoacad
              convert PPM to AutoCAD database or slide

       ppmtoicr
              convert PPM to NCSA ICR graphics

       ppmtopcx
              convert PPM to PC Paintbrush format

       ppmtopgm
              convert PPM to portable graymap

       ppmtopuzz
              convert PPM to X11 "puzzle" file

       411toppm
              convert 411 (Sony Mavica) to PPM

       ppmtosixel
              convert PPM to DEC sixel format


For Comments e-mail Jai Rangi

Copyright © 2003-2004. ALL RIGHTS RESERVED.