SAGE: a Somewhat Awesome Graphical Environment

Posted by

On one of those cold and dark days of winter, spent researching information on display walls and pc clusters, i came across this very unusual and captivating software: SAGETM.

No, it’s not a very old & wise software (or, for Naruto fans, neither a Sage of the Six Paths); it’s just the acronym for Scalable Adaptive Graphics Environment, an open source software developed at the EVL (Electronic Visualization Laboratory, University of Illinois at Chicago).

As the guide found on states, SAGE (Scalable Adaptive Graphics Environment) is cross-platform, open-source middleware that enables users to have a common operating environment, or framework, to access, display and share a variety of content – whether digital cinema animations, high- resolution images, high-definition video-teleconferencing, presentation slides, documents, spreadsheets or laptop screens – in a variety of resolutions and formats, from multiple sources, to one or more tiled display walls.

For those that don’t already know, a tiled display wall is a big display formed by many monitors (the “tiles”) of the same size and type, put together to create a matrix of monitors that will act as one; this resulting display usually covers a whole wall, and so we get a tiled display wall. Since display walls can be formed by lots of monitors, and by lots i mean easily more than 20 and sometimes close to the hundreds, it’s pretty hard to connect so many monitors to one single pc. That leaves us to use multiple computers with multiple video outs… but how are we going to create one huge screen if the monitors are connected to multiple computers?

This is where SAGE comes in to play: acting as a middleware that communicates using a lan over ethernet (we’ll talk about why it has to be a cabled connection and not wireless and of it’s uses over internet later), it synchronizes the displays connected to the computers and assigns the correct contents to each one.

For example, in a simple setup with 2 computers and one monitor each, i need to expand a video so that it covers the area of both displays: SAGE will divide the video frames in 2 parts, stream one to the local computer that physically has the video and the other over ethernet to the second computer and, using it’s synchonizing capabilities, you will see the video play over both screens flawlessly.

As you can deduce from the above example, the whole video isn’t streamed to every computer but only the necessary is sent over ethernet so the bandwidth doesn’t get unnecessarily used. What was done in the above example can be done with any number of computers and any number of monitors connected to each computer… of course, the system will be limited by the processing power of the computers and by the type of contents that need to be displayed.

Unfortunately, it doesn’t replace a computer’s desktop and it can only interact with applications that have been appositely created or modified to work with it, but at least it has a video player, an image viewer, a pdf viewer, two desktop streaming applications, a webcam video input, an openGL renderer, a file manager and a clock! Well, i guess it really doesn’t need much else for most uses…
Anyway, i’ve probably bored you enough in this first introduction to SAGE, so we’ll continue next time!
In the next episode we’ll talk about how to set up SAGE in a Linux Ubuntu environment, check out some of it’s applications and see why we might like a 10Gb ethernet connection…

Example of SAGE video wall - courtesy of EVL

Leave a Reply

  • (will not be published)