|
IMPORTANT NOTICE
This document is about the open-source xserver-xorg-video-radeonhd driver. This driver is no longer maintained and is OFFICIALLY DEPRECATED by the xserver-xorg-video-radeon driver, which Ubuntu should use by default for any Radeon(HD) chip. The rest of the page below this section is maintained only for historical/archive purposes. For more information, see RadeonDriver page. If you were looking for instructions on the ATI proprietary Catalyst driver (a.k.a fglrx), see http://wiki.cchtml.com/index.php/Ubuntu
Introduction
This document explains how to install and use the open-source radeonhd drivers on Ubuntu. This shouldn't be necessary... unless you're having problems with the open-source "ati/radeon" driver that comes pre-installed with Ubuntu.
Cards Supported
Look at the following list to determine if your card is supported: http://cgit.freedesktop.org/xorg/driver/xf86-video-radeonhd/plain/README
Group 1: (DirectX9 generation) non-RadeonHD cards, including RS600/RS690/RS740 IGP's and M52-M68 Mobility chips. The Radeon X2300 HD also belongs in this group because it is based on an RV5x0 chip
Group 2: (DX 10.x generation) RadeonHD cards, including RS78x/RS880 IGP's and >= M71 Mobility parts.
- Group 3: (DX 11 generation) RadeonHD 5x00 cards (RV8x0)
For reference, here is a matrix of radeonhd features
Ubuntu 9.10/Karmic
Cards in Group 1 have accelerated 2D/3D/Xv. Cards in Group 2 have accelerated 2D/Xv support. 3D acceleration for Group2 cards can be enabled by installing a recent kernel >= 2.6.32 and using packages from the xorg-edgers PPA (see that section).
Ubuntu 10.04/Lucid
Cards in Group 1 and Group 2 should have accelerated 2D/3D/Xv out of the box. Using packages from the xorg-edgers PPA may enable additional 3D functionality. Cards in Group 3 have only very basic mode-setting support at this time: http://www.phoronix.com/scan.php?page=news_item&px=Nzk0Ng
Preparation
Previous or current installations of ATI's proprietary Catalyst/fglrx drivers are known to interfere with the installation of the open-source drivers. If you have installed proprietary drivers downloaded from ATI/AMD's website:
sudo sh /usr/share/ati/fglrx-uninstall.sh
If you've installed the proprietary drivers through Ubuntu (i.e. Synaptic or Jockey/Restricted Hardware Drivers):
sudo apt-get purge xorg-driver-fglrx fglrx-amdcccle fglrx-kernel-source xorg-driver-fglrx-dev
To make sure you have the correct version of libGL.so and libglx.so:
sudo apt-get --reinstall install libgl1-mesa-glx xserver-xorg-core
For more information on this topic, see: https://wiki.ubuntu.com/X/Troubleshooting/FglrxInteferesWithRadeonDriver
Pre-built .deb Packages
Recommended method
For Group 1 Cards
Unofficial test packages updated from git can be found in the PPA at https://launchpad.net/~xorg-edgers/+archive/drivers-only Owners of these cards may also wish to try the xorg-edgers PPA to obtain a more recent mesa 3D driver, which could fix bugs or improve performance (it could also introduce bugs though): https://launchpad.net/~xorg-edgers/+archive/ppa
For Group 2 Cards
2D/3D/Xv should work on 10.04/Lucid without any modification (just make sure you have firmware-linux package installed if you're doing a minimal/custom install). You can also choose to run more current 3D drivers from xorg-edgers (see instructions below).
Using 9.10/Karmic
For 3D support, obtain packages for the latest kernel (2.6.33 is the latest stable released kernel at the time of this writing) here: http://kernel.ubuntu.com/~kernel-ppa/mainline/ . You will need the image and headers package corresponding to your architecture (amd64 for x86-64 machines and i386 for 32-bit) as well as the headers 'all' package. The full kernel source is not needed, unless you plan to do something with it. For installing the .deb's, I recommend making a directory in your home folder and putting the packages there. I use 64-bit in this example:
cd ~/ mkdir kerneldebs cd kerneldebs/ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.33/linux-headers-2.6.33-020633-generic_2.6.33-020633_amd64.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.33/linux-headers-2.6.33-020633_2.6.33-020633_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.33/linux-image-2.6.33-020633-generic_2.6.33-020633_amd64.deb sudo dpkg -i linux* sudo mkdir /lib/firmware/radeon cd ~/ wget http://people.freedesktop.org/~agd5f/radeon_ucode/R600_rlc.bin http://people.freedesktop.org/~agd5f/radeon_ucode/R700_rlc.bin sudo mv R?00_rlc.bin /lib/firmware/radeon/
Now boot into the new kernel and verify that the rest of your hardware is working.
Add the xorg-edgers PPA
Follow the directions on this page to add the PPA to your sources: https://launchpad.net/~xorg-edgers/+archive/ppa . Once you've done that, update the package information and upgrade the mesa and X packages offered. If you had Ubuntu's radeonhd installed, you can upgrade that too, or install it if not. Now you should configure your xorg.conf (hints are provided in this document) and restart your system.
Building radeonhd from git Source
It is highly recommended to use pre-built packages from one of the PPA's above, especially for Ubuntu 9.10/Karmic. However, if you want to build the radeonhd driver directly from source, here is the procedure:
Prerequisite Packages
The following command will install all the packages needed:
sudo apt-get build-dep xserver-xorg-video-radeonhd
Initial Build
Note: Make sure you are connected to the internet when running git commands
cd ~/ git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-radeonhd cd xf86-video-radeonhd ./autogen.sh --prefix=/usr make sudo make install
Updating radeonhd
Check the following link to see if the driver has been updated since you've installed it: http://cgit.freedesktop.org/xorg/driver/xf86-video-radeonhd/ If so, you can pull the updates and recompile the driver to update it:
cd ~/xf86-video-radeonhd git pull make clean ./autogen.sh --prefix=/usr make sudo make install
Configuration
xorg.conf Basics
Open your xorg.conf for editing in any text editor (gedit is used in this example):
gksu gedit /etc/X11/xorg.conf
Now change/add the Driver line in the Device section.
Section "Device" ... #Other directives here Driver "radeonhd" Option "DRI" "on" #this is the default in recent radeonhd versions Option "AccelMethod" "EXA" #this is the default in recent radeonhd versions EndSection
Compiz
Note: This step is unnecessary in Ubuntu 9.10 and later (https://bugs.launchpad.net/bugs/399577) Note2: Compiz requires 3D hardware acceleration.
Add radeonhd to the driver whitelist for your user:
mkdir -p $HOME/.config/compiz echo 'WHITELIST="$WHITELIST radeonhd"' >> $HOME/.config/compiz/compiz-manager
HDMI Audio
By default, HDMI audio is disabled. In the Device section of your xorg.conf, you'll need to add the following lines:
Option "Audio" "true" Option "HDMI" "all"
To test this, figure out the card and device number of your HDMI device and send a sound there:
aplay -l aplay -D plughw:<CARD NUMBER>,<DEVICE NUMBER> <PATH TO SOME SOUND FILE>
For example, if aplay -l returns "card 1: HDMI [HDA ATI HDMI], device 3: ATI HDMI [ATI HDMI]", then:
aplay -D plughw:1,3 /usr/share/gnome-power-manager/gpm-critical-power.wav
Further configuration of ALSA and PulseAudio may be required, but that's outside the scope of this document.
Power Management
The GPU should automatically drop to low-power mode when the video signal is disabled (i.e. when the monitor turns itself off using DPMS after a specified amount of idle time). You can check/change your DPMS settings on-the-fly with the xset command and you can statically set the appropriate options in xorg.conf. Please read the appropriate man pages (xset and xorg.conf) for more information on that topic. At this time, full dynamic control of clocks and voltages (i.e. ATI PowerPlay) is not implemented in the open-source drivers. However, one can force the GPU to low-power mode at all times by adding the following line in the Device section of xorg.conf:
Option "ForceLowPowerMode" "true"
Note that this may decrease performance under GPU load.
Diagnostic Commands
glxinfo | grep "renderer string"
If 3D hardware acceleration is enabled, this command should return a line that looks like "OpenGL renderer string: Mesa DRI R300 (or R600)..." If it returns "software rasterizing" then it would be a good idea to have an expert look through your /var/log/Xorg.0.log file to see what's wrong, or maybe you can a better idea of what's wrong with:
LIBGL_DEBUG=verbose glxinfo
Additional Help
The developers of this driver often respond to technical support requests at: http://www.phoronix.com/forums/forumdisplay.php?f=43 For IRC, the developers can be found at #radeonhd on freenode.net