Note: This howto has been transferred to my blog here. (Instructions for Fedora 7+ can be found here)
Instructions for compiz-fusion have also been moved onto the blog
AIGLX & Xgl
I've done a bit of research, and from my understanding, (please correct me if I'm wrong) Fedora and almost every other Linux else out there uses a variant of or the X server to display graphics. In Fedora's case it's called Xorg. Programs connect to the X server and from there you see the GUI the program's meant to display:
Program > X server > Xorg > Graphics Card > Monitor
The difference when you use AIGLX or Xgl is that there are added OpenGL (an implementation of 3D) calls to make all the fancy effects that you see like the wobbly-windows and such.
Xgl is basically a re-write of the existing X server, and replacing it with one that's using these new OpenGL calls:
Program > X server > Xgl > Graphics Card > Monitor
As you guessed, on one hand this is great because you get these really neat effects, but on the other isn't good at all because since it's replacing the existing X server, any future work done to it won't be done in Xgl. It won't matter how many cool new features come to Xorg, it will take longer or they won't get into Xgl because it's replacing the traditional X server. Additionally, users of Xgl will have to deal with Xgl's bugs - If you don't run Xgl, you won't be affected by Xgl bugs, right?
AIGLX is built-in to Xorg 7.x and up, which ships with FC6. AIGLX is a more incremental change than Xgl, seeing as it's adapted the existing Xorg server to use the new special calls. Here's the flow-chart for AIGLX:
Program > X server > Xorg (with adapted calls) > Graphics Card > Monitor
As you can see, nothing's has changed from the original chart. All that happened was Xorg developers had added an extension so you can still have the excellent Xorg server and all work that's done to it in the future, but also the really cool effects. This is why AIGLX is personally the path I'd rather take, but what you would like to run is up to you.
Beryl & Compiz
Beryl and Compiz are both window managers, that run inside a X server. They basically handle where the windows are on your screen and their borders - eg the little 'x' in the corner of the windows. Once you have Xgl or AIGLX setup, you can switch back and forth between Compiz and Beryl as you please, even in the same login session.
Important Notes / Updates
- "Desktop Effects" is not what gives the cube and related effects - Desktop-effects is a very handy tool created to make Compiz, the window manager which gives the effects, easier to start.
- Xgl always reports DRI as missing, even when in fact everything is working. You can test if DRI is working properly with glxgears - If the FPS is very high, then even if it caims DRI is not active it's fine. If not, then something is wrong and DRI actually isn't working.
- The default Xorg configuration in FC6 doesn't require a Module section, as it autoloads anything needed. This is the best way to leave things, and in fact it may even help to remove your module section because I get the feeling if you do have a module section and don't list every single module that would normally auto-load, you'll get problems.
- If your windows are always starting under your panel, you need to activate the 'Place' for either Compiz or Beryl. HINT: The gconf entry is here: /apps/compiz/general/allscreens/options/active_plugins (just add 'place' to the list)
Code:
gconftool-2 -s '/apps/compiz/general/allscreens/options/active_plugins' --type list --list-type string '[gconf,png,svg,decoration,\
wobbly,fade,minimize,cube,rotate,\
zoom,place,move,resize,switcher,scale,\
water,annotate,screenshot]'
- gset-compiz has gone unmaintained, and as a result it doesn't work at all with newer version of Compiz. If you would like to customize Compiz, there are two alternatives. The first is to use gconf-editor, which will edit the Compiz preferences. Once you install gconf-editor, open it up (Applications > System Tools > Configuration Editor) and take a look at the apps/compiz/ entries. The second alternative is a much easier GUI configuration tool similar to gset-compiz, called gnome-compiz-manager. I've packaged some RPMs for FC-6 and development RPMs that you can download at
diffingo-repo
Requirements
- A graphics card with the proper drivers installed (DRI enabled) - If you don't, then please see my howtos for ATi or nVidia cards.
- If you have a nVidia card it is required to use the 1.0-9625 driver or better if you want to use AIGLX, nothing less. Luckily, 1.0-9631 or better is included in both FC-5 and FC-6 so there should not be any issues concerning the driver version.
- The fglrx and AIGLX are currently incompatible. In other words, you can use the 'radeon' driver with AIGLX, OR the 'fglrx' driver with Xgl.
- When you post for help, please include the following information:
- Your graphics card model and memory size
- Which driver version you are using, and if it's from FC/Livna packages or directly from the ATi/nVidia site
- Please attach files when possible (eg, xorg.conf) as it will allow more content to be on each page rather than huge posts of code. This makes it easier for all users to search for answers to problems asked thought this thread.
- Any errors your received - If all that's posted is "It's not working, help me" chances are nobody will help you since we have no idea as to what is wrong.
- AIGLX -
AIGLX - Compiz
Code:
su -
yum update
yum install compiz
gconftool-2 -s '/apps/metacity/general/compositing_manager' --type bool true
desktop-effects
AIGLX - Beryl
Code:
su -
yum -y install beryl-gnome beryl-kde
Now just run:
And use the Beryl tray icon from there.
- XGL -
(1) Download the RPM installer files to your home (not desktop or other location): Click here and download the following files:
- Xgl-settings
- xorg-x11-server-Xgl
You'll want the ones that end in "noarch.rpm" or "i386.rpm" unless you want to build your own ones (such as RPMs for x86_64, in which case you'll need the .src.rpm ones. See my RPM howto for how to rebuild RPMs.)
(2) Install the Xgl RPMs and their requirements:
Code:
su
yum install glitz glitz-glx libsvg libsvg-cairo -y
rpm -Uhv Xgl-settings*.rpm xorg-x11-server-Xgl*.rpm
If there's no problems at this last command, it is safe to remove the left over .rpm files in your home directory
Now when you login, simply click 'Sessions' at the bottom and select Xgl-Gnome or Xgl-KDE as your session.
Xgl - Compiz
(3) Install Compiz:
Code:
rpm -e --nodeps compiz
yum install compiz -y
Xgl - Beryl
Code:
su -
yum install beryl-gnome beryl-kde -y
Now run the Beryl Manager from the menu.
- Various fixes -
- The drivers from Livna will automatically do this on bootup, however if you are using the nVidia or ATi drivers from the nVidia or AMD website despite this warning, you will ahve to add these lines to your xorg.conf if you don't already have them:
- In your "Device" section:
Code:
Option "AddARGBGLXVisuals" "True"
Option "DisableGLXRootClipping" "True"
Also, just have this somewhere, but not within another Section:
Code:
Section "DRI"
Group 0
Mode 0666
EndSection
- If you're getting the "white screen of death" when running Beryl or if it won't even start in Xgl, try running beryl manually from a terminal:
Code:
beryl-xgl& emerald&
- If you can't get rhgb to work properly and the X server fails sometimes, check out this post.
- Certain Java applications have stopped working properly, like LimeWire. Fortunately, there is a workaround. Start LimeWire like normal, and you'll see the window doesn't show up. However, using Metacity for just a few seconds will have LimeWire display itself, even if you turn Compiz or Beryl back on. To enable Metacity, either disable the desktop-effects or if you're using Beryl using the manager (in the tray) to select 'Metacity' as the window manager. Once the window has displayed it's contents properly, enable the desktop-effects or Beryl via the manager and everything should be normal.
- References -
http://liquidat.wordpress.com/2006/1...-fedora-core-6
http://fedoraxgl.tuxfamily.org/index...nstallation_en
http://fedoraproject.org/wiki/RenderingProject/aiglx
Firewing1