Your First Chromium Run

Your first Chromium run will be something quite simple. One of the programs built during the compile of the Chromium system is called "fonttest" - you can go ahead and run it now. If everything is OK, you should see a window appear with a text message in it. This window is using the system's OpenGL - nothing Chromium-related has happened yet. To run this program using Chromium, you will need to follow these four steps (you'll need three shell windows open):

  1. Set up your search path.

    The Chromium executable programs are located in cr/bin/ARCH. On Linux, for example, it'll be cr/bin/Linux. If you're using Unix you should edit your .cshrc or .bash or similar shell start-up file and add cr/bin/ARCH to the search path.

    If you don't do this you'll have to provide the full path to the crserver and crappfaker programs below.

  2. Start the mothership.

    Components of any Chromium run will need to know what they are supposed to be doing. They get this information from the configuration mothership. The mothership is controlled by scripts written in the Python programming language. One such script is located in cr/mothership/configs/crdemo.conf.

    Change to the cr/mothership/configs directory, and type:

    python crdemo.conf fonttest

    The mothership will now be running, and you should see a message to that effect.

  3. Start a Chromium server.

    In another window run:

    crserver

    That's all there is to it. The Chromium server will configure itself by asking questions to the mothership that you ran in step 1. The server will dispatch the incoming stream of commands to the first SPU hosted by the server (the Render SPU in this case). Note: previous versions of Chromium would open a window at this point.

  4. Start the application.

    In a third window, start the Chromium "application faker". This is a loader program that will start another unmodified application and make sure that it finds the Chromium OpenGL shared library instead of the system's. Run:

    crappfaker

    Again, the faker (and the OpenGL DLL, and the SPU's loaded by the OpenGL DLL) will all configure themselves by asking questions of the mothership started in step 1.

Once the application starts, you should see two windows appear: the Render SPU window and the application window. The application window belongs to the fonttest program started by the application faker. As far as fonttest knows, it is rendering to that window. The Chromium OpenGL DLL intercepts all of fonttest's calls to OpenGL and sends them over the network (in this case, a TCP/IP connection to your local machine) to the Chromium server, where they are dispatched to the system.

The Chromium run you have just done corresponds to the following graph of nodes:

Other Sample Configurations

The Chromium distribution includes many sample configurations to demonstrate the capabilities of Chromium. Here's a summary of the scripts found in mothership/configs.

There are lots of other samples to look at in the same directory.