Ubuntu Edgy Installation Guide

From cchtml.com
Revision as of 17:26, 22 January 2012 by Mooninite (talk | contribs)

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