XglHowto

Revision 26 as of 2006-03-15 05:44:27

Clear message

Here's how to get XGL working on Ubuntu Dapper. It won't ever be working on earlier versions without massive recompiling and manually installing a whole lot of things. So don't try Smile :)

Many thanks to Matthew Garrett for packaging XGL so quickly and writing the e-mail that's the base of this page.

Warning /!\ XGL is still highly experimental and not recommended for casual use.

  1. Enable the universe repository (see AddingRepositoriesHowto)

  2. Make sure that you have the latest mesa, libglitz1 and libglitz-glx1, xserver-xgl

    sudo aptitude update

    sudo aptitude install libgl1-mesa libglitz1 libglitz-glx1 xserver-xgl
  3. Install compiz-kde and/or compiz-gnome depending on your desktop

    sudo aptitude install compiz-gnome

If you do not want to replace the default X session with Xgl, you may look at NestedXglHowto, otherwise proceed with the instructions:

  1. Replace /etc/X11/X with a symlink to /usr/bin/Xgl

    sudo ln -sf /usr/bin/Xgl /etc/X11/X
  2. Close all applications and restart gdm (This will log you out, consider this your cue to print these instructions!)

    sudo /etc/init.d/gdm restart
  3. Log in, then in a terminal start compiz and the Gnome window decorator (do NOT use sudo here)

    compiz --replace gconf decoration wobbly fade minimize cube rotate zoom scale move resize place switcher

    nohup gnome-window-decorator &

Leave out the gconf plugin if you don't have compiz-gnome installed

  1. Add these commands to ~/.gnomerc if you want this on every login (which you probably do)

    echo "compiz --replace gconf decoration wobbly fade minimize cube rotate zoom scale move resize place switcher" >> ~/.gnomerc

    echo "nohup gnome-window-decorator &" >> ~/.gnomerc

Here are the various key combinations and uses for various plugins (Super-key is the same as the windows key). You can change all of these using gconf-editor (Might be necessary since the windows key is reported not to work with xgl on some systems).

Warning /!\ The key combinations interact! If you bind something to <Alt><Ctrl>Button4 and to <Ctrl>Button4 both will be activated if you use the first!

Warning /!\ The key combinations are also passed-through to apps below the cursor.

  • Kill the Xgl server = Shift + Backspace
  • Switch windows = Alt + Tab
  • Arrange and View All Windows = F12 turns on or off; clicking a window will zoom it to the front
  • Switch desktops on cube = Ctrl + Alt + Left/Right Arrow
  • Switch desktops on cube with active window following = Ctrl + Shift + Alt + Left/Right Arrow
  • Rotate desktop cube = Ctrl + Alt + Left-click on wallpaper and drag
  • Change opacity = Ctrl + Shift + Mouse wheel
  • Make window translucent/opaque = right-click the window's title bar and select Opacity (seems to be absent in current compiz cvs. Use the tip above to set transparency)
  • Zoom-in once = Super-key right-click
  • Zoom-in manually = Super-key + wheel mouse up
  • Zoom-out manually = Super-key + wheel mouse down
  • Move window = Alt + left-click
  • Snap Move window (will stick to borders) = Ctrl during move (either by Alt + left-click or by title bar)
  • Resize window = Alt + right-click
  • Display svg picture on top of cube = modify gconf db,add svg files to /apps/compiz/plugins/cube/screen0/options/svgs (restart needed) [http://ubuntuforums.org/showthread.php?p=778420#post778420 Option broken in current repos]

To get back to sanity (normal X):

  1. If you edited ~/.gnomerc in the last step of the previous part, remove the commands again
  2. Replace /etc/X11/X with a symlink to /usr/bin/Xorg

    sudo ln -sf /usr/bin/Xorg /etc/X11/X
  3. Close all applications and restart gdm (This will log you out!)

    sudo /etc/init.d/gdm restart

    If the X server still does not come up, you may have to reset the original X server with this command:

    sudo dpkg-reconfigure xserver-xorg-core

As noted before, these are highly experimental packages. If it crashes, this is unsurprising. Please do feel free to file bugs, but right now they'll probably just be forwarded upstream. Please do not be surprised if it doesn't work. If you're running binary drivers, things get even more complicated and there's a reasonable chance that things will fail to work in strange and unexpected ways.

Have fun, and start thinking of ways that this technology can be used for the force of good.


CategoryDocumentation