QUICKSTART (v2.5)
Old versions:COMPILATION
1. Install required libraries
You need to install these libraries before installing SAGE:
- Quanta0.4 (www.evl.uic.edu/cavern/quanta)
- SDL-1.2.8 or later
- readline (runtime and development packages)
Also, for other SAGE components you need the following:
- python 2.3 or higher (www.python.org)
- wxPython 2.6.2 or higher (www.wxpython.org)
- numarray 1.1 or higher (numarray)
2. Modify makefile
Open the Makefile in the "sage/src" directory and set QUANTA_DIR to the QUANTA directory where you installed QUANTA in your machine.
3. Compile
Execute make in the sage directory (NOT sage/src). If you get errors, check include paths and library paths in makefiles. Also check that you have all the required libraries installed. This will compile SAGE source and then two simple OpenGL test applications (GLUT is needed for those).
CONFIGURATION
1. Edit Configuration Files
In order to run SAGE on a single machine you shouldn't have to modify the configuration files. For all other cases some changes are needed.- go to the "sage/bin" directory
- fsManager.conf:
- fsManager: name and IP address of the machine on which FreeSpace Manager runs. Usually the master node of cluster. You can specify two IP addresses here from v1.3. The first IP address will be used for system components (i.e. streaming of pixels) and the second IP address will be used for UI connections (sent to connection manager so it must be a PUBLIC address). If only one IP address is specified, it will be used for both.
- systemPort: port for SAGE system message channel
- uiPort: port for SAGE UI message channel
- trackPort: port for tracking data (for LambdaTable)
- conManager: the ip address and port number of Connection Manager - Connection manager is a server which manages connections among SAGE UIs, fsManagers and appLaunchers - If you don't want to run your own connection manager, just leave these fields as they are (recommended), then your SAGE will connect to the connection manager on a Starlight machine. To set up your own connection manager look in "sage/ui/README" and "sage/ui/usersServer/README" for details.
- tileConfiguration: name of tile configuration file (described below)
- receiverSyncPort: port number of sync connection on displaying side
- receiverStreamPort: port number used for streaming on displaying side
- receiverBufSize: size of circular buffers of SAGE Receiver in mb
- fullscreen: 1=True, 0=False (run display nodes in fullscreen?)
- winTime: used in animation of SAGE window movement/resizing - how long does it take for a window to move from one position to the other
- winStep: used in animation of SAGE window movement/resizing - how many steps are used in the animation
- stdtile-1.conf:
- Dimensions: number of columns and rows of tiled display (col, row)
- Mullions: width(inches) of top, down, left, and right mullions
- Resolution: screen resolution of each tile
- PPI: pixels per inch of each tile
- Machines: number of display nodes which drive tiled display (does not include the master)
- for each "DisplayNode":
- Name: name of each display node (not critical)
- IP: ip address of each display node
- Monitors: number of tiles which each node drives (xPos, yPos) of each tile (0,0) is the tile at the lower left corner
2. Environment Variables (in .profile,.tcshrc or .bashrc)
SAGE requires the following environment variables to be set (examples are for bash shell):
- SAGE_DIRECTORY to the directory where you installed SAGE, for example:
- export SAGE_DIRECTORY=/home/username/sage
- PATH needs to include $SAGE_DIRECTORY/bin, for example:
- export PATH=$SAGE_DIRECTORY/bin:$PATH
- LD_LIBRARY_PATH needs to include $SAGE_DIRECTORY/lib, for example:
- export LD_LIBRARY_PATH=$SAGE_DIRECTORY/lib:$LD_LIBRARY_PATH
RUNNING SAGE
1. Start SAGE
To start SAGE go to the bin directory and type sage. This will start SageLauncher which will help you set up, start and stop SAGE and all other components. The default setup should work so just press START to run everything. If SAGE was started successfully, your tiled display will turn black. If you get any errors (which will show up in the output tabs of SageLauncher), check the configuration files and your environment variables as described above.
2. Run a test application
- Upon starting everything from the Launcher, SAGE UI will show up. In the first window you should see your tiled display listed. If not, you can always add it manually by clicking "Add".
- Your display should now be displayed with a list of default applications and their icons. Click on "render" and it should show up on your SAGE display.
- The interaction from this point on is similar to popular desktop environments (dragging windows, resizing them, closing them...).
3. Shutdown
To close everything just press STOP in the Launcher and this will kill all the components that were initially started and are still running (incl. SAGE).
WHERE TO GO FROM HERE
1. Try more applications
Only certain applications are compiled by default (render, atlantis, checker and vnc). There are other applications included with SAGE such as:- FileViewer - allows for easy showing of most common multimedia files (video and pictures) and a library to organize them.
- svc - SD and HD video streaming from camera or other sources
- bitplay - player for HD animations (sequences of frames)
- JuxtaView - ultra high resolution image viewer
- gl - wrapper to run any OpenGL application on a SAGE display without code changes
2. Write your own application for SAGE
There are two ways to write your own applications or convert existing ones to SAGE:- Using C++: check the app/render.cxx application for an example
- Using python: check app/py_sail/README for more info