#Copyright (C) 1998 Tuomas J. Lukka, 2001 John Stewart, CRC Canada.
#DISTRIBUTED WITH NO WARRANTY, EXPRESS OR IMPLIED.
#See the GNU Library General Public License (file COPYING in the distribution)
#for conditions of use and redistribution, EXCEPT on the files
#which belong under the mozilla public license.

Install Introduction

The complexity of the install depends on what packages you have installed with your system, and what packages may have been installed later. Most installs are very simple.

I have tested the FreeWRL build on brand new installs of:

  • SuSe 7.1 FTP'd on March 30-31 2001
  • TurboLinux Workstation 4.0.5.SMC Tues Oct 19, 1999
  • Mandrake 7.2 from ISO CD images
  • Redhat 7.1"SeaWolf" final release

    Others have tested FreeWRL on:

  • SGI Onyx II
  • FreeBSD

    NOTE: when build options were presented, I chose the "Development Workstation" options - you may not have to do one or two of the steps outlined below if you install everything. Comments/help/Additional build notes more than welcome.

    This install is divided up into the following sections:

  • Building FreeWRL to run "standalone", without Netscape.
  • Installing Java support.
  • Getting it all to work with Netscape.
  • Getting it to work with the Polhemus Fastrak 3d, or a Joystick.


    (updated 07 June 2001 - john.stewart@crc.ca)
    (updated 08 May 2001 - john.stewart@crc.ca)
    (updated 08 April 2001 - john.stewart@crc.ca)
    (updated 31 August 2000 - remi@cohen-scali.com)
    (updated 19 June 2000 - john.stewart@crc.ca)

    Building FreeWRL as a standalone executable

    Notes: All files are available here:

    - http://www.crc.ca/en/html/FreeWRL/downloads/downloads
    - http://sourceforge.net/projects/freewrl/

    You can also access the cvs repository. The way to do it is explained at:
    - http://sourceforge.net/cvs/?group_id=9120

    1. OpenGL (usually Mesa)

  • TurboLinux: nothing needed
  • Suse 7.1: rpm -Uvh mesadev.rpm from disk x3d2.
  • Mandrake 7.2: Had to install mesa from http://www.mesa3d.org to get all include files.
  • Redhat 7.1: nothing needed
  • General: Usually, Mesa is included in newer distributions. If not installed it is on the distribution disks, or available from http://www.mesa3d.org

    2. Hardware accelleration

    If you have a Linux compatible 3D accel. card, then simply install it, and follow the directions from the manufacturer.

    NOTE:Voodoo3 cards, now obsolete, have the following problems with Redhat 7.1, and possibly other releases:

  • OpenGL segfaults. This is not particularly related to FreeWRL. To get around this, comment out the 'Load "glx"' line of /etc/X11/XF86Config-4, and restart X.
  • Texture Transforms are not correct. Rotations and Scaling will not work.
  • Sometimes textures get mixed up. (eg, one texture replaces another)

    3. FreeWRL Build and Installation

  • TurboLinux:
    1. Perform step 1 in the "General" section below.
    2. Step 2: change the references in vrml.conf from: "-lGL -lGLU" To: "-lMesaGL -lMesaGLU"
    3. Perform steps 6, 7 and 9.

  • Suse 7.1:

    Perform steps 1, 4, 5, 6, 7 and 9 in the "General" section below.

  • Mandrake 7.2:

    This install was quite complex.

    1. get the latest stable perl release from http://www.perl.com and build it.

    2. install, from the "inst" CD:
      make-3.79.1-5mdk.i586.rpm
      binutils-2.10.0.24-4mdk.i586.rpm
      kernel-headers-2.2.17-21mdk.i586.rpm
      glibc-devel-2.1.3-16mdk.i586.rpm
      gcc-2.95.2-12mdk.i586.rpm
      libjpeg-devel-6b-15mdk.i586.rpm
      XFree86-devel-4.0.1-28mdk.i586.rpm
      libpng-devel-1.0.8-2mdk.i586.rpm
      zlib-devel-1.1.3-11mdk.i586.rpm

    3. do steps do all the steps, except 8, below.

  • Redhat 7.1: Perform steps 1, 4, 6, 7, 9.

  • General:
    1. Grab the latest FreeWRL tar file, and untar it.

    2. Verify that the vrml.conf file has good paths for the libraries and includes.

    3. Install FreeType from the distribution CDs, or from http://freetype.sourceforge.net

    4. Install Perl Modules:

      Digest-MD5-2.09
      HTML-Parser-2.25
      MIME-Base64-2.11
      URI-1.04
      libnet-1.0607
      libwww-perl-5.47
      Image-Base-1.07

      Installing these modules is a no-brainer; just untar each module, then go into the directory, and
      perl Makefile.PL
      make install

      Note that libwww-perl will most likely ask you if you want to reconfigure - I always just select the default.

    5. ImageMagick is required for some conversions of graphics files. The "convert" utility is used; this should now be installed with any graphical Linux distribution. If you can't find it, you can always download it from http://www.imagemagick.org

    6. Make the Make file

      perl Makefile.PL

      In the main FreeWRL directory. There will be an error for the Javascript library. If there are any other errors, correct them first.

      to compile the Mozilla javascript code:
      cd JS/js
      make
      cd ../..

      Then, re-run the build for the main make file:

      perl Makefile.PL

    7. Build/install FreeWRL

      make install

    8. Experimental SAI interface You only need to do this if you wish to debug the SAI code.

      - mknod.javapipej p
      - mknod.javapipep p

    9. Run the numbered tests.

      There are quite a few tests in the "tests" directory.

      Run all of the numbered files (And any others that you want!) in the tests directory. Note that some use javascript, so you will be testing javascript, too.

    3.0 Installing Java support

    3.1) Javascript:

    In the basic install, you should have installed the java support to allow some of the test programs in the tests directory to work. (eg, 7.wrl, 8.wrl, and 10.wrl)

    If these programs don't run, then go back and make FreeWRL it so that it does work.

    3.2) EAIcode:

    NOTE: This is in active development, so may not work.

  • cd into the tests/AddRemove directory in the build tree.
  • Read the README file in there to see what the latest commands are
  • Send a case of beer to the developers, for their outstanding work.

    3.2) SAIcode:

    NOTE: This is in active development, so may not work.

  • cd into the tests/SAIClick directory in the build tree.
  • Read the README file in there to see what the latest commands are

    4) Getting it all to work with Netscape.

    4.1) Go to the Plugin directory, and follow the instructions.

    5) Getting it to work with external sensors.

    5.1) CRC's "Flying Chair".

    This chair can be seen in the "links" section. The code to run this chair is freely available, at: http://sourceforge.net/projects/mvip/

    5.2) Thrustmaster style Joystick

    The 2-D joystick interface is available at: http://www.crc.ca/FreeWRL/download/joystick/Joystick-1.0.tar.gz, and the 3D joystick interface is available as part of the chair code, as outlined above.

    5.3) Data Glove.

    This interface is being actively worked on.

    5.4) Spaceball 3D positioning mouse.

    This interface is being actively worked on.

    5.4) Touchscreens.

    One of our FreeWRL users has made a very interesting touchscreen interface to FreeWRL. This code will be incorporated into FreeWRL when it is complete.

    5.6) Polhemus/Virtual Research goggles with position sensor.

    This works very well with the "Flying Chair" mentioned above, but if you wish to run this alone, without joystick (and chair!), here are the directions:

    5.6.1) Polhemus Position Sensor.

    - Untar and compile the code in the Polhemus 1.0. tarfile.
    - run minicom (with modem in it strings set to null) and see if you can get any input.
    - align the Fastrak. I use the A0 command, as found in the manual, to do the allignment. ("Enhanced Allignment Procedure, pg 48a of my manual-Sept 1998)

    eg:
    (in minicom)
    A0
    P
    (now, move the sensor 24" in positive X axis)
    P
    (now, move the sensor 24" in positive Y axis)
    P
    Exit minicom

    - run the program Polhemus/termite to get the polhemus interface code working. Note - headset should be pointed at where you want "front" to be.

    5.6.2) Virtual Research goggles

    An option has been added to FreeWRL to run in full screen mode just for these goggles. Start FreeWRL with the "-fullscreen" option; eg:

    freewrl tests/1.wrl -best -fullscreen -geometry 640x480