XglHowto

Differences between revisions 47 and 48
Revision 47 as of 2006-05-24 13:07:20
Size: 9447
Editor: ppp-142-114
Comment:
Revision 48 as of 2006-05-24 13:09:55
Size: 9444
Editor: ppp-142-114
Comment:
Deletions are marked like this. Additions are marked like this.
Line 78: Line 78:
NOTE: for non English-layout keyboard add xmodmap /usr/share/xmodmap/xmodmap.lang (Example:it,de,fr) in your session NOTE: for non English-layout keyboard add xmodmap /usr/share/xmodmap/xmodmap.lang (it,de,fr, ecc) in your session

Summary

Just to be clear, there are packages for XGL in Ubuntu Dapper, but they will not be installed by default, are not officially supported and might or might not break your system. In any case there is a lot of work going on on XGL since it is still experimental software, and these packages will definitely be outdated.

Now, if you still want to give it a try:

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 :)

Ati cards

https://wiki.ubuntu.com/xglati

Nvidia and other cards

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 gset-compiz
  3. Install compiz-kde and/or compiz-gnome depending on your desktop

    sudo aptitude install compiz-gnome

Configuring the environment

There are multiple ways to run Xgl. You can (for testing purposes) run Xgl as a session inside of an existing X windows session. Short of a hard lock, you can terminate the session, and go back to the regular X server. This will help in troubleshooting.

Xgl session

Having a stand alone session as an option will allow the user to revert to the normal X server instantly, as no editing existing files are needed. This is the safest route because if ii doesn't work, there is nothing to revert:

1. We will need to create two new files. Open up a terminal and copy the following code:

 sudo gedit /usr/bin/startxgl.sh

1. Inside this document, type in

Xgl -fullscreen :1 -ac -accel glx:pbuffer -accel xv:pbuffer & sleep 2 && DISPLAY=:1 gnome-session 

1. Save this file, and close it.

1. Create a second file using the following code:

 sudo gedit /usr/share/xsessions/xgl.desktop 

1. In this file, paste the following:

[Desktop Entry]  
Encoding=UTF-8 
Name=XGL 
Exec=/usr/bin/startxgl.sh 
Icon= 
Type=Application 

1. Save this file, and close it.

1. We need to make both these files executable:

sudo chmod 755 /usr/bin/startxgl.sh 
sudo chmod 755 /usr/share/xsessions/xgl.desktop 

We need compiz to start with the new Xgl server, so place the following in your session file. This is located at "System -> Preference -> Sessions. Go to the far right tab, and create a new entry and type in the following data:

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

1. We need a window decorator to start with the new Xgl server, so place the following in your session file. This is located at "System -> Preference -> Sessions. Go to the far right tab, and create a new entry and type in the following data:

gnome-window-decorator

NOTE: for non English-layout keyboard add xmodmap /usr/share/xmodmap/xmodmap.lang (it,de,fr, ecc) in your session

1. Now logout of your current session, and from the login screen click "Options" and "Session chooser"

2. Select "Xgl"

3. When you login, it will ask you if you want to make this the default, or just for this session. For safety reasons, choose "Just for this session". 4. To adjust more settings, run the command in a terminal:

  • gset-compiz

For further information you may look at NestedXglHowto

Other way, the console way

If you prefer to work by console 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

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

Key Combinations

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]

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.

TroubleShooting

For the users who are having troubles (hard lockups, no response to keyboard) with ATI PCI Express graphics cards (x300, x700 etc) editing your xorg.conf file to make it look like this has been known to work:

Section "Device"
   Identifier  "card0"
   Driver      "fglrx"
   Option       "no_accel" "no"
   Option       "no_dri" "no"
   Option       "DynamicClocks" "on"
   Option       "mtrr" "on"
   Option       "DesktopSetup" "Single"
   Option       "ScreenOverlap" "0"
   Option       "Capabilities" "0x00000000"
   Option       "CapabilitiesEx" "0x00000000"
   Option       "VideoOverlay" "on"
   Option       "OpenGLOverlay" "off"
   Option       "CenterMode" "off"
   Option       "PseudoColorVisuals" "off"
   Option       "Stereo" "off"
   Option       "StereoSyncEnable" "1"
   Option       "FSAAEnable" "no"
   Option       "FSAAScale" "1"
   Option       "FSAADisableGamma" "no"
   Option       "FSAACustomizeMSPos" "no"
   Option       "FSAAMSPosX0" "0.000000"
   Option       "FSAAMSPosY0" "0.000000"
   Option       "FSAAMSPosX1" "0.000000"
   Option       "FSAAMSPosY1" "0.000000"
   Option       "FSAAMSPosX2" "0.000000"
   Option       "FSAAMSPosY2" "0.000000"
   Option       "FSAAMSPosX3" "0.000000"
   Option       "FSAAMSPosY3" "0.000000"
   Option       "FSAAMSPosX4" "0.000000"
   Option       "FSAAMSPosY4" "0.000000"
   Option       "FSAAMSPosX5" "0.000000"
   Option       "FSAAMSPosY5" "0.000000"
   Option       "UseFastTLS" "0"
   Option       "BlockSignalsOnLock" "on"
   Option       "UseInternalAGPGART" "no"
   Option       "ForceGenericCPU" "no"
   Option       "KernelModuleParm" "agplock=0"
   Option       "PowerState" "1"
   BusID       "PCI:1:0:0"
EndSection

Alternate Instructions

http://www.ubuntuforums.org/showthread.php?t=131267


CategoryDocumentation

XglHowto (last edited 2008-08-06 17:00:40 by localhost)