University of illinois Urbana-Champaign

Aszgard

Aszgard: Portable/Movable Virtual Reality Development on Windows™

 

Easier PC-Cluster-Based Virtual Reality

Download Aszgard27 (391 MB zipped).

Download original Aszgard (243 MB zipped).

Aszgard is a sort of portable-operating-system-on-a-stick for writing PC-cluster-based virtual reality programs using Syzygy. Syzygy is quite powerful, but a bit difficult to install and configure. The goal of the Aszgard project is to make these tasks as easy as possible. Syzygy runs on Windows, Linux, and MacOS X; however, Aszgard is currently Windows-only.

There are currently two versions of aszgard, Aszgard27 (based on a special build of Python 2.7 that doesn’t check the Windows registry for module paths) and the original Aszgard (based on Movable Python 2.4 by Michael Foord). I’ve been developing/using Aszgard27 since summer 2012 & original Aszgard for several years before that.

Aszgard can be put anywhere on your hard drive, and the whole installation can be moved around at will without breaking anything, i.e. you can move it around from one computer to another or even run it off a removable drive (which is not too bad if you’re programming in Python, but I don’t recommend compiling C++ programs on a flash drive unless you need serious navel-contemplation time).

How it works: you start up one of the three provided command-shell .bat files; there’s one for IPython, one for MSYS, and one for a plain old Windows command prompt. The .bat script runs a Python script that sets up all the required environment variables and paths based on Aszgard’s current location and then opens the shell. Compiling the Syzygy libraries and demos is then simply accomplished by typing (\ instead of / for the Windows command prompt, of course):


  cd szg
  scons

…or alternatively


  cd szg/build
  make demo

Note that Syzygy will be happier in locations where there are no spaces in the path, so if you put either version of Aszgard somewhere under your “My Documents” folder you should probably consider using the Windows subst command to map “My Documents” to e.g. “M:” (open a command prompt and type help subst).

Aszgard includes almost everything you need for Syzygy development:

  • The Syzygy sources.
  • Compiled versions of the Syzygy server, utilities, and Python bindings, so if you only want to program in Python there’s no need to compile anything.
  • Most of the optional external dependencies for Syzygy C++ development (the ones we can distribute), and the one library (PyOpenGL) needed for Python programming.
  • The MinGW GNU C++ compiler and linker.
  • Choice of the Python-based IPython shell, the Unix-like Msys shell, or a vanilla Windows command prompt, with the appropriate environment variables set correctly on each.
  • Two general-purpose text editors, SciTE, and Vim.
  • Some very useful utilities. Besides all the Unix stuff in MinGW/Msys (grep, tar, and all that), there’s:
    • WinMerge, a fantastically useful program for merging different versions of files and directories;
    • The commandline version of 7-Zip, for compressing and decompressing various kinds of archives;
    • lbrisar’s Command line tools (can’t find a URL for these anymore), including among other things Windows versions of the ‘ps’ and ‘kill’ commands.
  • The Python distribution includes lots of modules that aren’t in the Python standard library. Look in the “pylibs” directory.
  • Some additional documentation.