Ubuntu Dapper Installation Guide

In Ubuntu Dapper you can choose between two methods of installing the proprietary ATI driver. If you are new to linux you should use the first method as it is a lot easier than the second one and will work well in most cases. The second method describes how to install the very latest driver version, but requires some additional work and knowledge.

Method 1: Installing Dapper's Included Driver (8.25.18)
The included fglrx driver supports Radeon 8500+ and the X-series cards up to X1900.

Unfortunately OpenGL seems to be broken for R200 cards (everything below Radeon 9500) in this driver version. The Troubleshooting section describes how to fix this after xorg-driver-fglrx is installed.

Installing the driver
Make sure the restricted repository is enabled in /etc/apt/sources.list or this guide will not work!

Help on enabling repositories can be found at https://help.ubuntu.com/community/Repositories/Ubuntu.

sudo apt-get update sudo apt-get install linux-restricted-modules-$(uname -r) #Okay if it is already installed sudo apt-get install xorg-driver-fglrx sudo depmod -a sudo aticonfig --initial sudo aticonfig --overlay-type=Xv

Now Reboot your system:

sudo shutdown -r now

An alternative to the aticonfig --initial command is to edit /etc/X11/xorg.conf and replace the string "ati" with "fglrx" in the "Device" section. This way you won't lose your old "Screen" and "Monitor" settings. Afterwards you can use aticonfig for setting overlay etc.

Confirm that it works
fglrxinfo display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: RADEON 9600 Generic OpenGL version string: 2.0.5814 (8.25.18)

Troubleshooting for Method 1

 * The output of dmesg | grep fglrx and /var/log/Xorg.0.log are most useful when looking for errors. You should really include this when you are asking for help somewhere.


 * Unfortunately OpenGL seems to be broken for R200 cards (everything below Radeon 9500) in this driver version which results in messages like
 * [fglrx] API ERROR: could not register entrypoint for Uniform2iARB
 * and similar when running OpenGL applications. This may be fixed by replacing /usr/lib/libGL.so.1.2 with libGL.so.1.2 from the previous driver version (8.24.8). To do so download this file: libGL.so.1.2 and then copy it to the /usr/lib/ directory.


 * It might be necessary to create a symlink to get accelerated OpenGL:
 * sudo ln -s /usr/lib/dri /usr/lib/xorg/modules/dri


 * AMD64 users: It may also be necessary to update /etc/profile if using GDM. Update the $LIBGL_DRIVERS_PATH variable to point to the dri path above.


 * To ensure you automatically get the current linux-restricted-modules package with kernel updates, you should install the linux-restricted-modules-??? package matching your kernel-type (without version numer), e.g. linux-restricted-modules-386, linux-restricted-modules-686 or linux-restricted-modules-k7.


 * If you used Method 2 before, you have to unblacklist fglrx again by editing /etc/default/linux-restricted-modules-common


 * If the screen is coming up blank on startup, start in recovery mode then try editing your /etc/X11/xorg.conf file to remove this line
 * Load "extmod"
 * and optionally replace it with this

SubSection "extmod" Option "omit XVideo" Option "omit XVideo-MotionCompensation" Option "omit XFree86-VidModeExtension" EndSubSection


 * See Troubleshooting for both Methods

Method 2: Generating/Installing Ubuntu packages for the new 8.29.6 drivers in Ubuntu Dapper Manually
The new fglrx driver supports Radeon 9500+ (older cards will not work!) and the X-series cards up to X1900.

Blacklist old fglrx module from linux-restricted-modules
As ubuntu's linux-restricted-modules package includes the fglrx module from an old driver version (8.25.18), we have to blacklist this module to make sure the new kernel module which is needed by the new driver will be used instead.

sudo gedit /etc/default/linux-restricted-modules-common Edit DISABLED_MODULES to include fglrx

Installing the new driver
Download the ATI driver installer: ati-driver-installer-8.29.6.run (this installer is for 32bit and 64bit systems)

This guide refers to the 32bit version of the driver. The installation procedure for 64bit should be the same as for 32bit, except the filenames of the created .deb packages will differ slightly and you have to install the ia32-libs package which can be done with apt-get or synaptic.

Change to the download directory. Make sure that you have the universe and multiverse repositories enabled in /etc/apt/sources.list before doing these steps.

Install necessary tools:

sudo apt-get update sudo apt-get install module-assistant build-essential sudo apt-get install fakeroot dh-make debconf libstdc++5 linux-headers-$(uname -r)

Create .deb packages:

bash ati-driver-installer-8.29.6.run --buildpkg Ubuntu/dapper

Install .deb packages:

sudo dpkg -i xorg-driver-fglrx_8.29.6-1_i386.deb sudo dpkg -i fglrx-kernel-source_8.29.6-1_i386.deb sudo dpkg -i fglrx-control_8.29.6-1_i386.deb

The name of package change with 64 bits : example : sudo dpkg -i fglrx-control_8.29.6-1_amd64.deb

Remove any old fglrx debs from /usr/src/:

sudo rm /usr/src/fglrx-kernel*.deb

Compile the kernel module:

sudo module-assistant prepare sudo module-assistant update sudo module-assistant build fglrx sudo module-assistant install fglrx sudo depmod -a

Note: You have to remove any old fglrx debs and recompile the kernel module after each kernel update!

Update the xorg.conf file:

sudo aticonfig --initial sudo aticonfig --overlay-type=Xv

Reboot:

sudo shutdown -r now

Confirm that it worked
$ fglrxinfo display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: RADEON 9700 Generic OpenGL version string: 2.0.6065 (8.29.6)

$ glxinfo | grep render direct rendering: Yes

If your direct rendering is disabled then you may have to ensure fglrx_dri.so is where it should be. Try to symblink the dri folder if you get no direct rendering:

sudo mkdir /usr/X11R6/lib/modules sudo ln -s /usr/lib/dri /usr/X11R6/lib/modules/

Problems with module-assistant
If module-assistant is unable to build the module you may have to provide a Makefile.cpu file: cd /usr/src sudo touch kernel-headers-(version)/arch/i386/Makefile.cpu cd /usr/src/linux sudo make scripts/

With recent fglrx, the make.sh in /usr/src/fglrx.tar.bz2 (installed by the fglrx-kernel-source package) is not executable. You may need the following in order to make module-assistant happy: mkdir /tmp/scratch pushd /tmp/scratch tar xjf /usr/src/fglrx.tar.bz2 chmod +x modules/fglrx/make.sh sudo tar cjf /usr/src/fglrx.tar.bz2 modules popd

If installing over a custom-built kernel (for example 2.6.18), the procedure above may need to be modified slightly, especially if you didn't use make-kpkg to install your kernel: sudo module-assistant update sudo module-assistant build -k path/to/my/kernel/sources fglrx sudo module-assistant install -k path/to/my/kernel/sources fglrx sudo depmod -a
 * 1) sudo module-assistant prepare # no ubuntu package for 2.6.18

xorg.conf
The aticonfig --initial command will not update the xorg.conf file if it already has a "fglrx" Device section. However, you may force aticonfig to generate default Monitor, Device, and Screen sections with the following command:

sudo aticonfig --force --initial

Upgrade from Breezy
If method 2 doesn't work first time round, and you have upgraded from a Breezy installation, try this:

Remove previous versions of the fglrx driver: sudo dpkg -r fglrx-control sudo dpkg -r fglrx-kernel-source sudo dpkg -r xorg-driver-fglrx

dpkg will list dependencies for xorg-driver-fglrx which will need up be removed, for example:

sudo dpkg -r fglrx-kernel sudo dpkg -r fglrx-kernel-2.6.12-10-686-smp sudo dpkg -r xorg-driver-fglrx

Proceed with method 2

General
The output of dmesg | grep fglrx and /var/log/Xorg.0.log are most useful when looking for errors.

Also, LIBGL_DEBUG=verbose glxinfo can display missing files you can 'fix' by linking directories.

2D speed
If you suffer from slow 2D speed it might help to set Option		"XaaNoOffscreenPixmaps" in the fglrx section of /etc/X11/xorg.conf

Is the rebooting really necessary?
No.

However, rebooting is the easiest method to ensure that the kernel module(s) from the old driver are unloaded and the fglrx module is loaded instead. If you don't want to reboot for some reason, you may manually shut down Xorg, unload any old "drm", "radeon" or "fglrx" modules and then start Xorg again.

Note: You may also having to rebuild your module dependency by using "depmod -a".

HP Notebook dv5029us / dv5040us / zv6000 / dv8000
If you have an HP Notebook Computer (or Compaq) such as the HP dv5029us, dv5040us or zv6000 series, it is needed to modify the BIOS configuration. It seems for some reason using sideport memory (the card's onboard memory only) leads to an apparent system crash although the logs show successful initialization of DRI. It is needed to run the BIOS setup screen, go to memory options, and select UMA+Sideport memory and assign a value to it (I assigned an extra 128M from the system RAM). Boot the computer and the fglrx driver will work. FGLRX version is 8.24.8 on an i386 Ubuntu Dapper install.


 * Ubuntu FGLRX drivers 8.25.18, do not work properly on the dv5029us (Radeon Xpress 200M) as of this writing (5/30/2006). It is needed to revert to 8.24.8 for this specific computer in order to get proper 3D acceleration, and 2D with no tearing off.


 * ATI Driver 8.26.18, does not work with the Radeon Express 200M. Some HP/Compaq laptops only have working 3D support with ONLY UMA video memory( Sideport+UMA won't work ). This is due to a 1 year old flaw in the ATI driver. If you want to use your onboard/Sideport memory, you can only get 2D support by adding [ Option "no_dri" "yes"] to the fglrx driver section of /etc/X11/xorg.conf


 * jul-22-2006, marciowb wrote: I have a HP Pavilion zv6000 - a notebook computer with AMD64 - and it have a ATI Radeon Xpress 200M with 128MB of dedicated memory (Sideport) and it accepts to use shared memory (UMA), also. But if I try to use Sideport or Sideport+UMA the 3D acceleration fails and/or my computer hangs. It works fine if I configure its BIOS to use only UMA, including with a good 3D acceleration performance. Configured to use only UMA it works with the ATI Driver 8.26.18 and 8.25.18, but I was unable to do it works the ATI Driver 8.24.8. I tried several times to use 8.24.8 but it doesn't seem to work with 3D acceleration, only 2D. I see the Xorg.log file the fglrx driver fails to load the DRI driver. I used the Kubuntu with the Linux kernel 2.6.15-26-amd64-generic.


 * aug-7-2006, mde wrote: I have an HP dv8120ca / dv8000 laptop with a Radeon Xpress 200M. After installing the 8.27.10 driver, no matter what I set the bios to (128 UMA+Sideport or just Sideport, UMA Only is not an option in my bios), I get the black screen/99% cpu usage problem.  I have tried to contact ATI to complain about this bug... Their response: "ATI does not provide direct technical support for laptops/notebooks at this current time (telephone or email). If you require direct technical support please contact the system manufacturer of your laptop/notebook.".  To contact ati's linux driver feedback team and request they fix the problem, go to [https://support.ati.com/].  I have written a template letter you can use for your submission should you so desire.  It is available at [http://www.rhthm.com/ati/]. 


 * sep-30-2006, mde wrote: Installed the 8.24 driver (hp dv8000 / dv8120ca w/ 200m) and it all works. I recommend this solution!  Don't try to force the later drivers to work unless you're some sort of sadist :).  (Had to set to Sideport+UMA 128MB)


 * sep-12-2006, tekNico wrote: on an HP dv5008EA with the 200M adapter, DRI works with the 8.24.8 driver, and setting the BIOS to Sideport+UMA to 128MB video memory. The 8.28.8 breaks some on-screen widgets.


 * Sep-27-2006: HP Pavilion dv8000 (Radeon Xpress 200M). Turned off Sideport and installed the driver from the repositories, ver 8.25.18. The computer started up fine, but was extremely unstable and crashed in about 5 minutes of work. Same thing with driver ver 8.29.6. At the end I installed ver 8.24.8 and that seemed to work well.


 * Oct-17-2006: webbertiger wrote: on my HP Pavilion dv8309us with Radeon Xpress 200M and AMD64 cpu, the driver (ati-driver-installer-8.29.6.run) downloaded from [ATI website] works fine. I also manually added "1440x900" in xorg.conf to get the wide screen.

HP zt3000 / Compaq nx7000
Beginning with ATI driver version 8.19, the drivers fail to properly detect modelines that are compatible with the LCD screen of the HP zt3000 (and equivalent Compaq nx7000 model), and they must be inserted into xorg.conf manually. For the 1680x1050 LCD screen, inserting the following modelines into the "Monitor" section works: Modeline "640x350" 119.12  640 1728 1760 1840  350 1052 1058 1080 Modeline "640x400" 119.12  640 1728 1760 1840  400 1052 1058 1080 Modeline "720x400" 119.12  720 1728 1760 1840  400 1052 1058 1080 Modeline "640x480" 119.12  640 1728 1760 1840  480 1052 1058 1080 Modeline "800x600" 119.12  800 1728 1760 1840  600 1052 1058 1080 Modeline "1024x768" 119.12  1024 1728 1760 1840  768 1052 1058 1080 Modeline "1152x864" 119.12  1152 1728 1760 1840  864 1052 1058 1080 Modeline "1280x960" 119.12  1280 1728 1760 1840  960 1052 1058 1080 Modeline "1280x1024" 119.12  1280 1728 1760 1840  1024 1052 1058 1080 Modeline "832x624" 119.12  832 1728 1760 1840  624 1052 1058 1080 Modeline "1280x768" 119.12  1280 1728 1760 1840  768 1052 1058 1080 Modeline "1280x800" 119.12  1280 1728 1760 1840  800 1052 1058 1080 Modeline "1152x768" 119.12  1152 1728 1760 1840  768 1052 1058 1080 Modeline "1400x1050" 119.12  1400 1728 1760 1840  1050 1052 1058 1080 Modeline "1440x900" 119.12  1440 1728 1760 1840  900 1052 1058 1080 Modeline "1600x1024" 119.12  1600 1728 1760 1840  1024 1052 1058 1080 Modeline "1680x1050" 119.12  1680 1728 1760 1840  1050 1052 1058 1080

If you have the "1920x1200" version of the HP zt3000 the Modeline is: Modeline "1920x1200" 150.75 1920 2016 2048 2185 1200 1202 1208 1235

If you have the "1280x800" version of the HP zt3000 the Modeline should be: ModeLine    "1280x800" 69.8 1280 1336 1368 1440 800 802 808 823 -hsync -vsync

** If the above ModeLine still makes the screen flicker (as it did in my zt3000) use the following ModeLine ModeLine    "1280x800" 70.875 1280 1336 1368 1440 800 802 808 823 -hsync +vsync ** Try this as well if the other two don't work. Determined using powerstrip in windows. ModeLine    "1280x800" 68.625 1280 1336 1368 1440 800 802 808 823 -hsync -vsync

If you have the compaq nx7010 with 1280x800 screen then the following modeline should work: Modeline "1280x800" 70.875 1280 1320 1352 1456 800 801 804 820 +hsync +vsync This was determined using powerstrip in windows.

** If the above ModeLine still makes the screen flicker (as it did on my nx7010) use the following Modeline "1280x800" 68.625 1280 1304 1336 1408 800 804 808 816 +hsync +vsync This was determined using powerstrip in windows.

When using a Compaq NX7010 (Radeon R250Lf Mobility M9) with 1650x1050 screen, powerstrip gives the following working params (CApiTAlisation important), just use one single ModeLine: ModeLine "1650x1050" 121.500 1680 1712 1800 1872 1050 1051 1054 1065 +Hsync +Vsync On the Compaq NX7010, be sure to copy the 8.24.8 libGL.so.1.2 as in Troubleshooting for Method 1 above.

Note: This line will also work on the Compaq X1000 series

Revert to Xorg driver
If (for any reason) the fglrx install fails, you can revert to the Xorg driver by executing sudo dpkg-reconfigure xserver-xorg and selecting the "ati" driver, or simply restoring the previous /etc/X11/xorg.conf file, if you made a backup.

You also need to remove the xorg-driver-fglrx or your manually installed drivers to get the 3D acceleration back, since it is provided by file /usr/lib/libGL.so.1.2 which belongs to libgl1-mesa package and which is moved to backup and replaced at the installation of xorg-driver-fglrx (or the manually built) package. In case the removal of the fglrx drivers fails to restore the file from libgl1-mesa, you have to reinstall the package by running:

sudo apt-get install --reinstall libgl1-mesa