This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

What is Luminocity?

Luminocity is a cracktastic technology testbed for Metacity.

Building Luminocity

SamuelMoffatt: I have got it up and running with Debian Sid. See Luminocity:Debian for my guide (this is a good read too and highly advisable!).

Requirements: a Mar 25, 2005 or newer jhbuild (see the "Getting jhbuild" below if you have not already used jhbuild); glib 2.6 or add glib (this requires you have docbook-style-xsl installed) before xserver in the jhbuild build command below.

  1. Run: jhbuild build xserver luminocity

    There are some issues with "DAMAGE" in the xserver module. You need to apply a small patch that hacks around some issues, and rebuild the xserver module. You can get the patch from http://www.gnome.org/~seth/xserver.patch . If you do not apply this patch, wobbly windows will probably run very slowly.

  2. Run: patch -p0 < xserver.patch from inside the xserver source directory

  3. Run: jhbuild buildone -n xserver to rebuild the xserver with the patch included

Running Luminocity

  1. Run: jhbuild shell to enter your jhbuild-built environment Luminocity reads windows out of a nested / headless X server (such as Xfake or Xephyr), and then displays the windows using an OpenGL window on your main X server (the "host server"). So first we have to start a headless X server, and run an application to display into it.

  2. Run: Xfake -ac -screen 1024x3072x32 :1 & (if your screen is not 1024x768, just use XRESxYRES*4x32) This will start Xfake as display :1, with a virtual screen that is 1024x3072. Why 3072 instead of 768? Because Luminocity starts with 4 vertically stacked workspaces by default. This can be controlled by a command line argument. Now lets start an application displaying into our Xfake server. A terminal is a good choice because we can launch more apps from it.

  3. Run: DISPLAY=:1 gnome-terminal & This will run gnome-terminal, displaying to the Xfake server (which is on :1). Of course, since Xfake is headless, you won't see anything.

  4. Run: luminocity :1

    This will start luminocity. Notice that we do not start Luminosity on DISPLAY=:1 (like we did with the gnome-terminal), but instead on our main X server (DISPLAY=:0). Luminosity reads off display :1, and displays to display :0. Luminocity will read windows off the X server on display :1, in this case our Xfake instance. Luminocity will then display those windows into its OpenGL window. Congrats!

    You can also run luminocity -f :1 to run luminocity full screen. If you include a path to an image after the command, e.g. luminocity /usr/share/backgrounds/images/dragonfly.png it will be set as the background image.


JamesHenstridge: a more secure way of performing steps 2 and 3 would be to use a command like this:

The -ac argument turns off access control in the X server, which is not a good idea if other people can log into your machine. The startx command will set up all the authentication tokens to talk to the X server so that you step 4 can be performed.

Common Problems

Getting Help

You can try #fedora-desktop on irc.gnome.org . ssp, krh, and owen are the Luminocity developers (and seth may be able to help too), but other people on the channel will know how to solve many common problems. Naturally, you don't have to be using Fedora to join the channel.

Getting jhbuild

Checkout module 'jhbuild' from GNOME CVS (see http://www.jamesh.id.au/software/jhbuild/). Run make and make install to install it into $(HOME)/bin . You'll need to setup a .jhbuildrc file in your home dir. See the README and other stuff in the jhbuild module for help on doing this.

Then run jhbuild bootstrap to setup a basic build environment with autotools, etc. Its important to do this, or future modules will error out when compiling.


2024-10-23 10:59