Ubuntu Lucid Installation Guide
- 1 The Options
- 2 Open Source Drivers
- 3 Installing Open Source Edge Drivers
- 4 Proprietary Drivers a.k.a Catalyst/fglrx
- 5 Installing the drivers manually
- 5.1 Before you start
- 5.2 Download the latest Catalyst package.
- 5.3 Create .deb packages.
- 5.4 Install .debs.
- 5.5 Additional 64-bit instructions
- 5.6 Generate a new /etc/X11/xorg.conf file
- 5.7 Force use of the new xorg.conf (if necessary)
- 5.8 Test your installation
- 5.9 Just in case
- 6 HOW TO UPDATE DRIVER
- 7 HOW TO REMOVE DRIVER
- 8 Issues
Users with ATI cards basically have these options:
- Standard Open Source Drivers Usually stable. These drivers currently have relatively poor 3D performance, but newer 3D drivers using the Gallium3D infrastructure are under development.
- Edge Open Source Drivers These drivers have improved 3D performance
- The Ubuntu Way Use the restricted-driver management system (a.k.a jockey) that comes with Ubuntu to install the proprietary drivers.
- Install the proprietary drivers manually Package-based install of a driver downloaded from AMD/ATI's site.
Open Source Drivers
By default, Ubuntu will already try to use one of the open source drivers for your hardware. If the feature set and stability work for you, then you don't need to change anything.
The drivers that may be used are
- vesa Lowest common denominator across all graphics vendor, not many features.
- ati Actually a thin wrapper that will invoke the radeon driver (or another ati open-source driver for pre-Radeon cards).
- radeon Driver support all radeon classes of hardware - with limited 3D for newer cards.
- radeonhd An alternate driver support R520 hardware and later. This driver is now all but officially deprecated in favor of radeon.
By default there is no configuration file (xorg.conf) for X anymore, so X will try to do the right thing.
If you run into stability problems with 3D applications using the radeon/radeonhd drivers, consider trying a more recent kernel. mainline-2.6.34-lucid did the trick on a few machines.
Installing Open Source Edge Drivers
These packages are built regularly from the X.Org git repository, so they may not be fully stable. On Lucid, using this graphics stack now uses the r300g Gallium3D driver for 3D acceleration on Radeon R300-R500 (Radeon 9500 - Radeon X1950) class chips. It's probably a good idea to use the linux kernel provided by this repo if you go this route.
$ sudo add-apt-repository ppa:xorg-edgers/ppa $ sudo apt-get update
Now you can update your packages using Synaptic or Update Manager.
Proprietary Drivers a.k.a Catalyst/fglrx
- PLEASE READ FIRST!
Which cards do ATI no longer support? The ATI Radeon 9500-9800, Xpress200-1250, 690G, 740G, X300-X2500 (including Mobility RadeonHD 2300, since it is really a DirectX 9 part). See the complete list here. If your card is on that list, you are limited to open-source drivers on Ubuntu Lucid. If you really need the proprietary Catalyst/fglrx driver, you will have to use an older Linux distribution, such as Debian Lenny/5.0.x or Ubuntu Hardy/8.04.x.
|ATTENTION RADEON USERS|
NOTE: If you enter your card information on AMD/ATI's driver page, it will offer you the Catalyst 9-3 driver to download. However, the Catalyst 9-3 driver doesn't support X servers past 1.5, and it will not work with Lucid! !!!SO BE CAREFUL!!! If you tried to install Catalyst on a system with one of these cards, see the 'HOW TO REMOVE DRIVER' section to restore the default/pre-installed drivers.
Restricted Drivers Manager
NOTE: You must have the restricted repository enabled in System -> Administration -> Software Sources for this to work. You will be limited to the drivers for your version of Ubuntu that Canonical deems stable. This may not give you the latest drivers, but should be safest. On Ubuntu Lucid, this will install Catalyst 8.723, which is roughly equivalent to Catalyst 10-4. Go to the Restricted Drivers Manager (System -> Administration -> Hardware Drivers) and enable the "ATI accelerated graphics driver" (or double-click the "available driver" notification icon). Ubuntu will then install and configure the driver for you.
Installing the drivers manually
I recommend copying and pasting the commands. However, you can Ctrl + C in your browser but you cannot Ctrl + V in the terminal. When you have copied something, use Ctrl + Shift + V or Shift + Insert to paste into the terminal or go to the terminals menu, select edit and click paste. This method will ensure there are no typing mistakes and will greatly speed up the install process.
Before you start
Make sure universe and multiverse are enabled in your repository sources (System -> Administration -> Software Sources).
Install the prerequisite packages:
$ sudo apt-get install build-essential cdbs fakeroot dh-make debhelper debconf libstdc++6 dkms libqtgui4 wget
If you are using the x86_64 architecture (64 bit), be sure to install "ia32-libs" before proceeding!
$ sudo apt-get install ia32-libs
Download the latest Catalyst package.
This package contains both the 32-bit and 64-bit driver.
$ cd ~/; mkdir catalyst; cd catalyst/ $ wget http://www2.ati.com/drivers/linux/ati-driver-installer-15.12-x86.x86_64.run $ chmod +x ati-driver-installer-15.12-x86.x86_64.run</pre>
Create .deb packages.
$ sh ati-driver-installer-15.12-x86.x86_64.run --buildpkg Ubuntu/lucid
$ sudo dpkg -i fglrx*.deb
Additional 64-bit instructions
NOTE: If you have installed the "ia32-libs" package beforehand, you most likely you will not need to do this step.-- If you have a 64 bit install, the above dpkg command may complain that "Errors were encountered while processing: fglrx-amdcccle". This is because of a dependency of the amdccle package on 32 bit libraries. If you receive this error, issue the following command after the above dpkg command, which will force the installation of all of the 32 bit dependencies, and then the amdcccle package:
$ sudo apt-get -f install
Catalyst 15.12 on 64-bit systems requires the --force-overwrite command in the above dpkg command:
$ sudo dpkg -i --force-overwrite xorg-driver-fglrx_*.deb fglrx-kernel-source_*.deb fglrx-amdcccle_*.deb fglrx-modaliases_*.deb libamdxvba1_*.deb
Generate a new /etc/X11/xorg.conf file
Before you do this, back up your current xorg.conf if you have one (Lucid does not have an xorg.conf by default)
Back Up xorg.conf
$ sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
Unfortunately, there is no sure way to generate the ATI version of the Xorg.conf file. It is entirely dependent on your configuration. The following subsections will attempt to address possible (and tested) variations for their respective configurations.
This will work for most people:
$ sudo aticonfig --initial -f
If you have an X2 card (e.g. 4870X2), use... !!Do not use for two separate cards in crossfire!!
$ sudo aticonfig --initial -f --adapter=all
If you have a dual monitor display (also known as "Big Desktop"), use:
$ sudo aticonfig --initial -f --set-pcs-str="DDX,EnableRandR12,FALSE"
This was confirmed in http://phoronix.com/forums/showthread.php?t=18553.
Force use of the new xorg.conf (if necessary)
Some people find that changes to xorg.conf don't get used by the driver. To force the ati driver to adopt changes made to xorg.conf, type the following command:
$ sudo aticonfig --input=/etc/X11/xorg.conf --tls=1
Test your installation
Finally, reboot the computer and type
into the terminal. If the vendor string contains ATI, you have installed the driver successfully. Using fglrxinfo on a system with Catalyst 10-6 and a RadeonHD 4550 returns:
display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: ATI Radeon HD 4300/4500 Series (This line may be different depending on what graphics card you are using.) OpenGL version string: 3.3.9901 Compatibility Profile Context (This line may be different depending on what graphics card and Catalyst version you are using.)
NOTE: if you don't reboot first, fglrxinfo gives an error message.
Just in case
Write down or remember this series of Alt+PrntScr key combinations, just in case your screen should go black and Ctrl+Alt+F1 and Ctrl+Alt+Backspace doesn't work.
Alt+PrntScr+r, Alt+PrntScr+s, Alt+PrntScr+e, Alt+PrntScr+i, Alt+PrntScr+n, Alt+PrntScr+u, Alt+PrntScr+b
These key-presses will reboot the system safely. To remember the key-presses, remember this nonsensical phrase: "Raising Skinny Elephants Is Never Utterly Boring".
An alternative would be to hold down Ctrl+Alt+SysRq (SysRq is usually the same key as PrintScreen) and type very slowly R E I S U B. A way to remember this is by inverting the word: "BUSIER" or remembering a phrase: "Restart Even If System Utterly Broken". This would also safely shutdown the system.
HOW TO UPDATE DRIVER
DO NOT try to install a new version over an old one. Follow the REMOVE DRIVER section below to remove your existing driver, and then you can start at 'Downloading the latest Catalyst' to install the new one.
HOW TO REMOVE DRIVER
$ sudo /usr/share/ati/fglrx-uninstall.sh # (if you installed a downloaded version of Catalyst) $ sudo apt-get remove --purge fglrx* xorg-driver-fglrx</pre>
If you plan on using open-source drivers, you will need to reinstall some packages because Catalyst overwrites or diverts some key 3D libraries with proprietary versions. For more information on this issue, see this Ubuntu wiki page
$ sudo apt-get remove --purge xserver-xorg-video-ati xserver-xorg-video-radeon $ sudo apt-get install xserver-xorg-video-ati $ sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core $ sudo dpkg-reconfigure xserver-xorg</pre>
Unsupported Hardware Watermark
This can happen if your card's PCI ID wasn't officially certified to work with a particular version of Catalyst. It does not necessarily mean that your card is unsupported, but it does mean that you shouldn't file bugs with that particular card/driver combination. If you installed the driver by downloading it from AMD/ATI, installing a newer version of Catalyst will probably help. If you installed the proprietary driver included with Ubuntu or you do not want to upgrade to a newer version, it may be possible to work around the issue by using a control file from a different version of Catalyst.
$ cd ~/; mkdir catalyst; cd catalyst/ $ wget http://www2.ati.com/drivers/linux/ati-driver-installer-15.12-x86.x86_64.run $ chmod +x ati-driver-installer-15.12-x86.x86_64.run $ sh ati-driver-installer-15.12-x86.x86_64.run --extract driver $ sudo mv /etc/ati/control ~/control.bak $ sudo cp driver/common/etc/ati/control /etc/ati
If the above workaround causes issues, restore the original control file:
$ sudo mv ~/control.bak /etc/ati
If fglrxinfo reports that Indirect rendering by Mesa is in place, even though you have installed ATI driver, you might want to remove Mesa:
- Remove the package xserver-xgl.
- $ sudo apt-get remove xserver-xgl
- Explanation: If you installed this previously in order to make compiz work, it will not allow direct rendering on your display. You can check out if this is what it causing the problem by running
- $ DISPLAY=:0 glxinfo | grep render
- If it returns an ATI renderer, it means that xgl is being displayed indirectly on the display 1. (Taken from )
- Warning: This might make your compiz stop working as it is configured to use XGL. A solution might be to run the Envy script in order to configure compiz. Or, if Compiz stopped working due to "Composite" problem, check that the following is set in the /etc/X11/xorg.conf
Section "Extensions" Option "Composite" "Enable" EndSection
- Check for AGP and DRI errors in /var/log/Xorg.0.log like these are:
- (EE) fglrx(0): [agp] unable to acquire AGP, error -1023
- (EE) fglrx(0): cannot init AGP
- (EE) fglrx(0): atiddxDriScreenInit failed, GPS not been initialized.
- (WW) fglrx(0): * DRI initialization failed! *
- If you have Intel 8285P and E7205 chipsets and AGP not detected then you have to remove the i82875p_edac module and restart some others:
$ sudo modprobe -r i82875p_edac $ sudo modprobe -r fglrx $ sudo modprobe -r intel-agp $ sudo modprobe -r agpgart $ sudo modprobe agpgart $ sudo modprobe intel-agp $ sudo modprobe fglrx
- Blacklist the modules e7xxx_edac so it doesn't start up again when booting
$ gksu gedit /etc/modprobe.d/blacklisti82875p_edac.conf
- add the following line to the blank text file:
- This has been known to fix issues with -Mesa -AGP -DRI -Google earth and -suspend to RAM (s2ram).
- Explanation: http://openwetware.org/wiki/Computing/Linux/Ubuntu
- Check you are running the correct kernel.
- Explanation: If you upgraded to your current Ubuntu install (rather than doing a clean install), you may still be using the old kernel without knowing it.
- $ uname -r
- If your kernel version is less than 2.6.32, it is a kernel from a previous Ubuntu installation.
Hang at logout
If you experience hangs when logging out (of X) it is probably due to the /etc/ati/authatieventsd.sh script looking for X authorisation files in the wrong place when it starts up. You can kill the hanging authatieventsd.sh processes from a console tty to allow the shutdown of the X server. This can be fixed permanently with:
$ sudo mkdir -p /var/lib/xdm/authdir $ sudo ln -s /var/run/xauth /var/lib/xdm/authdir/authfiles</pre>
If that doesn't work then you can disable atieventsd with this command:
$ sudo /usr/sbin/update-rc.d -f atieventsd remove
Before the above commands verify that /etc/ati/authatieventsd.sh exists after build and install, if not just do: (assuming that the installer is in the directory we used to install)
$ cd ~/catalyst $ sh ati-driver-installer-15.12-x86.x86_64.run --extract driver $ sudo cp driver/packages/Ubuntu/dists/lucid/replacements/authatieventsd.sh /etc/ati/authatieventsd.sh $ sudo chmod +x /etc/ati/authatieventsd.sh</pre>
You'll have to restart for this to take effect.
Suspend hibernation works with the latest driver.
For Radeon 3200, to wake up from suspend, I had to add the following lines to /etc/X11/xorg.conf: (This settings is not good option, if you are using compiz-fusion or any other transparency-based thingie. Not working for HD 3850)
Section "Extensions" Option "Composite" "Disable" EndSection Section "ServerFlags" Option "AIGLX" "off" EndSection
Another way to get it working is to do enable Composite, but when you want to suspend simply disable Compiz Fusion. How would you do that? Easy! Install the fusion-icon package (in repos by default):
$ sudo apt-get install fusion-icon
After you have done that, launch it (Applications > System > Compiz Fusion Icon) and it appears in your notification area. To switch, simply right-mouse click on the icon and select Metacity. Your desktop will flicker and windows will dissapear, but after a while they appear again. Now try to suspend.
When you wake up again, you can (hopefully) unlock your screen and there you go! Now you want Compiz back again, so right-mouse-click on the Compiz Fusion Icon and select Compiz again. Desktop flickering again, but then voila! Your Compiz Fusion Desktop is back again! (At least, that is how it is supposed to work)
KNOWN PROBLEM: When you switch back, all your windows are on the same desktop. This happens because you switched to metacity.
Hopefully this helped some people, as it did for me! Solution posted by email@example.com
Can't remove fglrx with dpkg (diversion issue)
If dpkg refuses to remove an fglrx package and complains about a diversion of a file, you might need to manually remove it. For example, if dpkg complains:
dpkg-divert: mismatch on divert-to when removing `diversion of /usr/lib/libGL.so.1.2 to /usr/share/fglrx/diversions/libGL.so.1.2 by xorg-driver-fglrx' found `diversion of /usr/lib/libGL.so.1.2 to /usr/lib/fglrx/libGL.so.1.2.xlibmesa by xorg-driver-fglrx'
$ sudo dpkg-divert --remove /usr/lib/libGL.so.1.2
This module/version combo is already installed
If you get this error-message, simply uninstall the previous version before installing the new one with:
$ sudo dkms remove -m fglrx --all
New kernel installed?
In theory, DKMS should automatically install the fglrx kernel module for your new kernel the first time you boot it. Should you need to manually install it:
$ sudo dkms build -m fglrx -k `uname -r` $ sudo dkms install -m fglrx -k `uname -r`
if amdcccle doesn't work and says Identifier is not a valid word. Use lower case letter in xorg.conf