Cheap VPS & Xen Server


Residential Proxy Network - Hourly & Monthly Packages

Installing Beryl On An Ubuntu Feisty Fawn Desktop With An ATI Radeon Graphic Card


This tutorial shows how you can install and configure Beryl on an Ubuntu 7.04 (Feisty Fawn) desktop with an ATI Radeon graphic card. With Beryl, you can make your desktop use beautiful 3D effects. We will use the open-source ATI driver that comes with Ubuntu plus AIGLX to achieve this; the other way to do this would be to use the closed-source ATI driver together with XGL which seems to be a bit unstable.

This document comes without warranty of any kind! I want to say that this is not the only way of setting up such a system. There are many ways of achieving this goal but this is the way I take. I do not issue any guarantee that this will work for you!

 

1 Preliminary Note

I have put this tutorial together from these two articles:

  • https://help.ubuntu.com/community/RadeonDriver
  • http://wiki.beryl-project.org/wiki/Install_Beryl_on_Ubuntu_Feisty_with_AIGLX

I have tried this on my 3-year old HP Pavilion zt3000 notebook which has an ATI Mobility Radeon 9200 graphic card, and it works really good there.

Please make sure that you have all updates installed on your Ubuntu Feisty Fawn desktop before you try this.

 

2 Find Out About Your Graphic Card

First you should find out about your graphic card. Open a terminal (Applications > Accessories > Terminal) and type

lspci

You should find something like this in the output:

01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R250 [Mobility FireGL 9000] (rev 01)

(This output is from my notebook which uses an ATI Mobility Radeon 9200 graphic card.)

The following list shows which ATI graphic cards can use Beryl (your graphic card should be listed under Full 3D Support if you want to use Beryl):

 

Full 3D Support

  • 7000 / rv100 based cards.
  • 7200 / R100 based cards.
  • 7500 / rv200 based cards.
  • 8X00 / R200 based cards.
  • 9000 / rv250 based cards.
  • 9100 / R200 based cards.
  • 9200 / rv280 based cards.

 

Experimental 3D Acceleration

  • 9500 / R300 based cards.
  • 9600 / rv350 or rv360 based cards.
  • 9700 / R300 based cards.
  • 9800 / R350 or R360 based cards.
  • X300 / rv370 based cards.
  • X600 / rv380 based cards.
  • X700 / rv410 based cards.
  • X800 / R420 or R423 or R430 or R480 based cards.
  • X850 / R480 or R481 based cards.

 

2D Acceleration Only

  • Xpress 200M Northbridge integrated GPUs

 

Unsupported

  • X1300 / R515 based cards.
  • X1600 / R530 based cards.
  • X1800 / R520 based cards.
  • X1900 / R580 based cards.

 

3 Configure AIGLX Plus The Open-Source ATI Driver

We want to use AIGLX with open-source ATI driver instead of XGL with the proprietary ATI driver (fglrx). Therefore we have to disable fglrx. First we disable the fglrx kernel module:

sudo modprobe -r fglrx

Then we run

glxinfo | grep vendor

If you see ATI mentioned in the output, then you’re still using the wrong driver. If you see SGI instead, everything’s fine. On my notebook, the output looked like this:

server glx vendor string: SGI
client glx vendor string: SGI
OpenGL vendor string: Tungsten Graphics, Inc.

If you have ATI in the output of the previous command, remove the fglrx driver like this (you can do this also if you have SGI in the output – just to go sure):

sudo apt-get remove xorg-driver-fglrx; sudo apt-get install libgl1-mesa-glx libgl1-mesa-dri

Next we have to modify /etc/X11/xorg.conf:

sudo gedit /etc/X11/xorg.conf

Replace

Section "Device"
        Identifier        "ATI Technologies Inc Radeon R250 [Mobility FireGL 9000]"
        Driver                "ati"
        BusID                "PCI:1:0:0"
EndSection

with

Section "Device"
        Identifier        "ATI Technologies Inc Radeon R250 [Mobility FireGL 9000]"
        Driver                "radeon"
        BusID                "PCI:1:0:0"
        Option          "XAANoOffscreenPixmaps"
        Option "AGPMode" "4"
        Option "AGPFastWrite" "true"
        Option "DisableGLXRootClipping" "true"
        Option "AddARGBGLXVisuals" "true"
        Option "AllowGLXWithComposite" "true"
        Option "EnablePageFlip" "true"
EndSection

(Please note the added Option lines and the changed Driver line. Of course, your Identifier will look different if you use a different graphic card than I do.)

The Monitor and Screen sections in /etc/X11/xorg.conf should be alright.

Also replace

 

Section "ServerLayout"
        Identifier        "Default Layout"
        Screen                "Default Screen"
        InputDevice        "Generic Keyboard"
        InputDevice        "Configured Mouse"
        InputDevice     "stylus"        "SendCoreEvents"
        InputDevice     "cursor"        "SendCoreEvents"
        InputDevice     "eraser"        "SendCoreEvents"
        InputDevice        "Synaptics Touchpad"
EndSection

with

Section "ServerLayout"
        Option          "AIGLX"         "true"
        Identifier        "Default Layout"
        Screen                "Default Screen"
        InputDevice        "Generic Keyboard"
        InputDevice        "Configured Mouse"
        InputDevice     "stylus"        "SendCoreEvents"
        InputDevice     "cursor"        "SendCoreEvents"
        InputDevice     "eraser"        "SendCoreEvents"
        InputDevice        "Synaptics Touchpad"
EndSection

(Please note that I added an AIGLX Option line at the top.)

And finally add the following two sections to the end of /etc/X11/xorg.conf if they don’t exist elsewhere in the file:

Section "DRI"
        Mode 0666
EndSection

Section "Extensions"
        Option "Composite" "Enable"
EndSection

To make the changes take effect, we must restart X. We can do this by pressing Ctrl-Alt-Backspace (if this doesn’t work, reboot the system).

Afterwards, run

glxinfo | grep vendor

again. You should now see that SGI is mentioned in the output:

server glx vendor string: SGI
client glx vendor string: SGI
OpenGL vendor string: Tungsten Graphics, Inc.

Then run

glxinfo | grep “direct rendering”

This should show the following line:

direct rendering: Yes

4 Install Beryl

To install Beryl, we open /etc/apt/sources.list and add the line deb http://ubuntu.beryl-project.org feisty main to it:

sudo gedit /etc/apt/sources.list

[...]
deb http://ubuntu.beryl-project.org feisty main
[...]

Then we import the GPG key of the Beryl project and update our package database:

wget http://ubuntu.beryl-project.org/root@lupine.me.uk.gpg -O- | sudo apt-key add –
sudo apt-get update

Next, we have to edit /etc/X11/xorg.conf again.

sudo gedit /etc/X11/xorg.conf

Search for the Module section and make sure that it contains the following lines:

        Load "dri"
        Load "dbe"
        Load "glx"

For example, my Module section looks like this:

Section "Module"
        Load        "i2c"
        Load        "bitmap"
        Load        "ddc"
        Load        "dri"
        Load        "extmod"
        Load        "freetype"
        Load        "glx"
        Load        "int10"
        Load        "vbe"
        Load        "dbe"
EndSection

We are finished with /etc/X11/xorg.conf now. After all changes, my /etc/X11/xorg.conf looks like this:

# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
#   sudo dpkg-reconfigure -phigh xserver-xorg

Section "Files"
        FontPath        "/usr/share/fonts/X11/misc"
        FontPath        "/usr/share/fonts/X11/cyrillic"
        FontPath        "/usr/share/fonts/X11/100dpi/:unscaled"
        FontPath        "/usr/share/fonts/X11/75dpi/:unscaled"
        FontPath        "/usr/share/fonts/X11/Type1"
        FontPath        "/usr/share/fonts/X11/100dpi"
        FontPath        "/usr/share/fonts/X11/75dpi"
        # path to defoma fonts
        FontPath        "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

#Section "Module"
#        Load        "i2c"
#        Load        "bitmap"
#        Load        "ddc"
#        Load        "dri"
#        Load        "extmod"
#        Load        "freetype"
#        Load        "glx"
#        Load        "int10"
#        Load        "vbe"
#EndSection

Section "Module"
        Load        "i2c"
        Load        "bitmap"
        Load        "ddc"
        Load        "dri"
        Load        "extmod"
        Load        "freetype"
        Load        "glx"
        Load        "int10"
        Load        "vbe"
        Load        "dbe"
EndSection

Section "InputDevice"
        Identifier        "Generic Keyboard"
        Driver                "kbd"
        Option                "CoreKeyboard"
        Option                "XkbRules"        "xorg"
        Option                "XkbModel"        "pc105"
        Option                "XkbLayout"        "de"
        Option                "XkbOptions"        "lv3:ralt_switch"
EndSection

Section "InputDevice"
        Identifier        "Configured Mouse"
        Driver                "mouse"
        Option                "CorePointer"
        Option                "Device"                "/dev/input/mice"
        Option                "Protocol"                "ImPS/2"
        Option                "ZAxisMapping"                "4 5"
        Option                "Emulate3Buttons"        "true"
EndSection

Section "InputDevice"
        Identifier        "Synaptics Touchpad"
        Driver                "synaptics"
        Option                "SendCoreEvents"        "true"
        Option                "Device"                "/dev/psaux"
        Option                "Protocol"                "auto-dev"
        Option                "HorizScrollDelta"        "0"
EndSection

Section "InputDevice"
        Driver                "wacom"
        Identifier        "stylus"
        Option                "Device"        "/dev/wacom"        # Change to
                                                        # /dev/input/event
                                                        # for USB
        Option                "Type"                "stylus"
        Option                "ForceDevice"        "ISDV4"                # Tablet PC ONLY
EndSection

Section "InputDevice"
        Driver                "wacom"
        Identifier        "eraser"
        Option                "Device"        "/dev/wacom"        # Change to
                                                        # /dev/input/event
                                                        # for USB
        Option                "Type"                "eraser"
        Option                "ForceDevice"        "ISDV4"                # Tablet PC ONLY
EndSection

Section "InputDevice"
        Driver                "wacom"
        Identifier        "cursor"
        Option                "Device"        "/dev/wacom"        # Change to
                                                        # /dev/input/event
                                                        # for USB
        Option                "Type"                "cursor"
        Option                "ForceDevice"        "ISDV4"                # Tablet PC ONLY
EndSection

#Section "Device"
#        Identifier        "ATI Technologies Inc Radeon R250 [Mobility FireGL 9000]"
#        Driver                "ati"
#        BusID                "PCI:1:0:0"
#EndSection

Section "Device"
        Identifier        "ATI Technologies Inc Radeon R250 [Mobility FireGL 9000]"
        Driver                "radeon"
        BusID                "PCI:1:0:0"
        Option          "XAANoOffscreenPixmaps"
        Option "AGPMode" "4"
        Option "AGPFastWrite" "true"
        Option "DisableGLXRootClipping" "true"
        Option "AddARGBGLXVisuals" "true"
        Option "AllowGLXWithComposite" "true"
        Option "EnablePageFlip" "true"
EndSection

Section "Monitor"
        Identifier        "Generic Monitor"
        Option                "DPMS"
EndSection

Section "Screen"
        Identifier        "Default Screen"
        Device                "ATI Technologies Inc Radeon R250 [Mobility FireGL 9000]"
        Monitor                "Generic Monitor"
        DefaultDepth        24
        SubSection "Display"
                Depth                1
                Modes                "1280x800"
        EndSubSection
        SubSection "Display"
                Depth                4
                Modes                "1280x800"
        EndSubSection
        SubSection "Display"
                Depth                8
                Modes                "1280x800"
        EndSubSection
        SubSection "Display"
                Depth                15
                Modes                "1280x800"
        EndSubSection
        SubSection "Display"
                Depth                16
                Modes                "1280x800"
        EndSubSection
        SubSection "Display"
                Depth                24
                Modes                "1280x800"
        EndSubSection
EndSection

#Section "ServerLayout"
#        Identifier        "Default Layout"
#        Screen                "Default Screen"
#        InputDevice        "Generic Keyboard"
#        InputDevice        "Configured Mouse"
#        InputDevice     "stylus"        "SendCoreEvents"
#        InputDevice     "cursor"        "SendCoreEvents"
#        InputDevice     "eraser"        "SendCoreEvents"
#        InputDevice        "Synaptics Touchpad"
#EndSection

Section "ServerLayout"
        Option          "AIGLX"         "true"
        Identifier        "Default Layout"
        Screen                "Default Screen"
        InputDevice        "Generic Keyboard"
        InputDevice        "Configured Mouse"
        InputDevice     "stylus"        "SendCoreEvents"
        InputDevice     "cursor"        "SendCoreEvents"
        InputDevice     "eraser"        "SendCoreEvents"
        InputDevice        "Synaptics Touchpad"
EndSection

Section "DRI"
        Mode        0666
EndSection

Section "Extensions"
        Option "Composite" "Enable"
EndSection

Now we must restart X by pressing Ctrl-Alt-Backspace (or rebooting the system if this doesn’t work).

Afterwards, we install Beryl like this:

sudo apt-get install beryl beryl-manager emerald-themes

Next we start Beryl:

beryl-manager

If all goes well, your desktop should now have 3D effects, and you should see the red Beryl gem in the top right corner of your desktop:

1

2

3

4

5

6

If this doesn’t work, right-click on the red Beryl gem and choose Select Window Manager > Beryl. Beryl should start then.

5 Make Beryl Start Automatically

Of course, you don’t want to start Beryl manually each time you log in to your desktop. Fortunately, there’s a way to make it start automatically.

First, we create the file /usr/bin/startberyl.sh:

sudo gedit /usr/bin/startberyl.sh

#!/bin/sh
beryl-manager
sleep 4
exec gnome-session

Then we make it executable:

sudo chmod a+x /usr/bin/startberyl.sh

Afterwards, we create the file /usr/share/xsessions/Beryl.desktop:

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

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

Then we log out of our current desktop session. On the login screen, go to Options > Select Session…, choose Beryl and click on the Change Session button. Then log in with your username and password. You will then be asked:

Do you wish to make Beryl the default for future sessions?

You can choose between Just For This Session and Make Default. If this is your first try, I recommend to select Just For This Session to see if Beryl really starts automatically. If it works, you can select Make Default at the next login.

 

6 Customize Beryl Behaviour And Window Themes

If you like to modify Beryl’s behaviour and effects, you can go to Applications > System Tools > Beryl Manager. In the menu that comes up, select Beryl Settings Manager. You can then customize Beryl:

7

To change window decorations and themes, you must start the Emerald Theme Manager by going to System > Preferences > Emerald Theme Manager:

8

7 Screenshots

Here are some further screenshots of Beryl in action, this time with a beautiful wallpaper instead of Ubuntu’s default brown background:

9

10

11

  • The ATI Radeon open-source driver HowTo: https://help.ubuntu.com/community/RadeonDriver
  • Install Beryl on Ubuntu Feisty with AIGLX: http://wiki.beryl-project.org/wiki/Install_Beryl_on_Ubuntu_Feisty_with_AIGLX
  • Ubuntu: http://www.ubuntu.com
  • Beryl: http://www.beryl-project.org

Comments

comments