Ubuntu Edgy Installation Guide
In Ubuntu Edgy 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 Edgy's Included Driver (8.28.8)
The included fglrx driver supports Radeon 8500+ and the X-series cards up to X1900.
Disable Composite Extension
In Ubuntu Edgy the Composite extension is enabled by default, however, fglrx does not yet support Composite with DRI. In order to to disable Composite you have to edit the xorg.conf file:
sudo gedit /etc/X11/xorg.conf
and add these lines at the end of the file:
File: /etc/X11/xorg.conf |
Section "Extensions" Option "Composite" "Disable" EndSection |
Installing the driver
Make sure the restricted repository is enabled in /etc/apt/sources.list or this guide will not work!
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.6011 (8.28.8)
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.
- If you used Method 2 before, you have to unblacklist fglrx again by editing /etc/default/linux-restricted-modules-common. You may have to run sudo lrm-manager afterwards.
Method 2: Generating/Installing Ubuntu packages for the new 8.30.3 drivers in Ubuntu Edgy Manually
The new fglrx driver supports Radeon 9500+ (older cards will not work!) and the X-series cards up to X1900.
Disable Composite Extension
In Ubuntu Edgy the Composite extension is enabled by default, however, fglrx does not yet support Composite with DRI. In order to to disable Composite you have to edit the xorg.conf file:
sudo gedit /etc/X11/xorg.conf
and add these lines at the end of the file:
File: /etc/X11/xorg.conf |
Section "Extensions" Option "Composite" "Disable" EndSection |
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.28.8), 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
File: /etc/default/linux-restricted-modules-common |
DISABLED_MODULES="fglrx" |
Installing the new driver
Download the ATI driver installer: ati-driver-installer-8.30.3.run (this installer is for 32bit and 64bit systems)
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:
sudo ln -sf bash /bin/sh bash ati-driver-installer-8.30.3.run --buildpkg Ubuntu/edgy sudo ln -sf dash /bin/sh
Install .deb packages:
sudo dpkg -i xorg-driver-fglrx_8.30.3-1*.deb sudo dpkg -i fglrx-kernel-source_8.30.3-1*.deb sudo dpkg -i fglrx-control_8.30.3-1*.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
IMPORTANT: You have to recompile the kernel module after each kernel update!
Update the xorg.conf file:
sudo aticonfig --initial sudo aticonfig --overlay-type=Xv
Note: You could also edit your /usr/X11/xorg.conf file to change your driver to fglrx then run:
sudo aticonfig --overlay-type=Xv
This way your xorg.conf file will stay clean.
Now 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.6119 (8.30.3)
$ glxinfo | grep render direct rendering: Yes
If your direct rendering is disabled, you may have to symlink the dri folder:
sudo mkdir /usr/X11R6/lib/modules sudo ln -s /usr/lib/dri /usr/X11R6/lib/modules/
Troubleshooting for Method 2
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
The module compiles, but doesn't work
For some reason fglrx may need gcc-4.0 to compile, if you experience some message related to gcc version in dmesg, try this:
First we'll install it
sudo apt-get install gcc-4.0
and link it to gcc.
sudo ln -sf /usr/bin/gcc-4.0 /usr/bin/gcc
After doing the module-assistant steps, you may want to return gcc to 4.1 by default:
sudo ln -sf /usr/bin/gcc-4.1 /usr/bin/gcc
Troubleshooting for both Methods
General
The output of dmesg | grep fglrx and /var/log/Xorg.0.log are most useful when looking for errors.
DRI does not work although the fglrx module is loaded
If fglrxinfo shows:
OpenGL vendor string: Mesa project: www.mesa3d.org
Make sure the Composite extension is disabled, add this to your /etc/X11/xorg.conf file:
Section "Extensions" Option "Composite" "Disable" EndSection
This should also resolve the corrupted mouse cursor problem in dual-head mode.
Module isn't loaded
If the fglrx module isn't loaded try to add fglrx to /etc/modules on a new line. See also bug 63912.
File: /etc/modules |
# /etc/modules: kernel modules to load at boot time. # # This file contains the names of kernel modules that should be loaded # at boot time, one per line. Lines beginning with "#" are ignored. fglrx |
2D speed
If you suffer from slow 2D speed it might help to set
Option "XaaNoOffscreenPixmaps"
in the fglrx device 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: if modprobe fglrx can't find the fglrx module, try rebuilding your kernel module dependency:
sudo depmod -a
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