Ubuntu Jaunty Installation Guide

= The Options = Users with ATI cards basically have these options:
 * 1) Standard Open Source Drivers These are stable and nice, but currently have poor 3D performance, if any.  If you have a Radeon X1k product or earlier, this is your only option.
 * 2) Edge Open Source Drivers These drivers have improved 3D performance
 * 3) The Ubuntu Way  Use the restricted-driver management system that comes with Ubuntu to install the proprietary drivers.
 * 4) Third (Fourth?) Party Installer Use envy/jockey or other installer helper.
 * 5) Install the drivers manually  Using the installer downloaded from AMD's site via either package based install or direct install.

= 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 facade that will invoke the radeon driver.
 * radeon Driver support all radeon classes of hardware - with limited 3D for newer cards.
 * radeonhd An alternate driver support R520 hardware and later.

By default there is no configuration file 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.29.3 did the trick on a few machines.

There's an ongoing debate about how and if the radeon and radeonhd drivers will be used in the future. For more information, see http://wiki.x.org/wiki/RadeonFeature

= Installing Open Source Edge Drivers =

These drivers are built regularly from the X.Org git repository. So sometimes they work, sometimes they don't. However, they have been stable for me, and are the only drivers that work for me. The fglrx drivers hang my system, and the standard "radeon" driver does not support a 2560x1600 resolution.

To install:

First add the repository https://launchpad.net/~tormodvolden/+archive/ppa. Instructions on how to do that are on that page. Then update your packages using Update Manager, and then add the xserver-xorg-video-radeonhd package. When you log in, you may be using the new driver, but you will probably still be using the radeon driver. To switch to the radeonhd driver, add this to /etc/X11/xorg.conf :

Section "Device" Identifier	"Default Device" Driver		"radeonhd" EndSection

= The Ubuntu way to install the Proprietary Drivers =

Restricted Drivers Manager

 * Ubuntu 9.04 (Jaunty) provides a notification saying that there are restricted drivers available
 * Go to the Restricted Drivers Manager and enable the "ATI accelerated graphics driver"
 * Ubuntu will then install and configure the driver for you

Note that you will be restricted to the drivers for you version of Ubuntu that Canonical deem as stable. This may not give you the latest drivers, but should be safest. The driver installed this way does not work with Radeon X1300.

= Installing the drivers manually = This portion of the guide works, since I have used it myself. I guess the rest of the guide is broken or it may be because the new driver doesn't support any of the older ATI cards anymore.
 * PLEASE READ FIRST!

Which cards does ATI no longer support? The ATI Radeon 9500-9800, X300-X2100, Xpress. See the complete list here. If your card is on that list, you are restricted to the 9.3 driver - however since 9.3 driver doesn't support xorg-xserver 1.6, it will not work with Jaunty! This guide currently is for installing 9.10. !!!SO BE CAREFUL!!!

_______________________________________________

I recommend using copy and paste. However, you can Ctrl + C in your browser but you cannot Ctrl + V in the terminal. When you have copied something simply 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.

If you are using the x86_64 architecture (64 bit), be sure to install "ia32-libs" before proceeding!

Make sure universe and multiverse are enabled in your repository sources.

Before you start
Install the necessary programs

NB in 9.10 (Karmic Koala) libstdc++5 has been superseded by libstdc++6. In some cases, libstdc++5 is still needed; however there is a workaround to this by symlinking libstdc++5 to libstdc++6.

The workaround is as follows:

Then run ldconfig.

1. Download the latest Catalyst package.
Download page: Catalyst -- File:. This package contains both the 32-bit and 64-bit driver.

Open a terminal window and switch to the directory you downloaded the installer to. (Example: $ cd Desktop)

Make sure your directory path does not contain spaces

(Errors may be experienced during the creation of the *.deb files for manual install for version 9.12. If so try 9.11 as I tested it myself and had no errors)

2. Create .deb packages.
note that if you are following these instructions for karmic to replace jaunty with karmic

3. 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 keypresses will reboot the system safely. To remember the keypresses, 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 remebering a phrase: "Restart Even If System Utterly Broken". This would also safely shutdown the system.

4. Install .debs.
Install the debs, depending on if you're on a 32-bit or 64-bit system:


 * For 32-bit systems

(This may fail due to a missing dkms. If so install this first. Also check the version numbers (8.632) against the created debs)


 * For 64-bit systems

Using tab completion can make this command easier.

5. Additional 64-bit instructions
--If you have installed the "ia32-libs" package 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:

Catalyst on 64-bit systems requires the --force-overwrite command in the above dpkg command:

Using tab completion can make this command easier.

Now you'll have to edit your xorg.conf
Note: If you've used fglrx previously, skip down to step 6.

For Ubuntu:

For Kubuntu:

and add the following line to the Device section (if it does not already exist). Include the following lines without [...]: Section "Device" [...]	Identifier	"SOME IDENTIFIER" [...]	Driver		"fglrx" [...] EndSection

6. Generate a new /etc/Xorg.conf file
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.

Generic Config
This will work for most people:

X2 Cards
If you have an X2 card (e.g. 4870X2), use... !!Do not use for two separate cards in crossfire!!

Dual/Multi Monitors
If you have a dual monitor display (also known as "Big Desktop"), use:

This was confirmed in http://phoronix.com/forums/showthread.php?t=18553.

7. Force use of /etc/Xorg.conf file
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:

8. Test your installation
Finally, reboot the computer and type

into the terminal. If the vendor string contains ATI, you have installed the driver successfully. Release 9.6 looks like: display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: ATI Radeon HD 4800 Series (This line may be different depending on what graphics card you are using.) OpenGL version string: 2.1.8673


 * Please note: Depending on the particular ATI card that you own, you may or may not automatically have all of the relevant driver features enabled. R500 and R600 cards (X1xxx, HD series, and newer) in particular will need TexturedVideo enabled in Xorg.conf (rather than the traditional VideoOverlay) in order to support Xv accelerated video playback.
 * Also note: if you don't reboot, fglrxinfo gives an error message - this threw me for a bit as I didn't read the line above the box very carefully.

=HOW TO UPDATE DRIVER=

To update your driver to a new version (say 9.5 to 9.6) first disable the current driver through Ubuntu's Hardware Manager or use EnvyNG to remove the driver, then go to synaptic and search for "xorg-driver-fglrx" without the quotes and mark it for "Complete removal" and hit "Apply" then reboot your computer. Now simply repeat steps #1, 2, 4 and finally run these commends in a terminal: in a terminal. If it doesn't give an error you should be good.

If you have an X2 card (e.g. 4870X2), use... !!Do not use for two separate cards in crossfire!!

instead in a terminal to generate the /etc/Xorg.conf file.

and

then reboot.

It is very important that you COMPLETELY remove the old driver which includes the config files because when upgrading without uninstalling the old driver I noticed even though the new driver installed and worked there were some annoying problems that I experienced but after I completely uninstalled the old driver then installed the new one, it worked perfectly.

=HOW TO REMOVE DRIVER=

To completely remove the driver disable the current driver through Ubuntu's Hardware Manager or use EnvyNG to remove the driver, then go to synaptic and search for "xorg-driver-fglrx" without the quotes and mark it for "Complete removal" and hit "Apply" then reboot your computer.

Alternatively, use the following command from the terminal.

=Tweaks=
 * 1) Add tweaks as needed: http://ubuntuforums.org/showthread.php?t=849422
 * 2) Restart X, if it doesn't work, you can use the "vesa", "ati", "radeon" or "radeonhd" driver in the mean time, until you make it work.
 * 3) If you downgraded X to make fglrx work: enter synaptic, make sure all packages with "xorg" and "x11" are locked so that you can update and upgrade without worries.

Done! Now run amdcccle, glxgears, nexuiz, warsow etc :)

= Issues =

Installation
There are some system configurations on which none of the installation alternatives work with the latest 9.5 driver (please add; also please add if you got it to work in one of the listed setups):
 * Ubuntu 9.04 (x64 and i386) on x86_64 with Radeon HD4870X2 and 9.5 driver: Framebuffer error ("No valid linear framebuffer address"), garbled screen.
 * Working 9.04 (x64) on x86_64 with Radeon4870X2 and 9.4 driver: use 'aticonfig --initial -f --adapter=all'
 * Working 9.04 (x64) on x86_64 with Radeon4870X2 and 9.6 driver: use 'aticonfig --initial -f' (without adapter=all, if you only have one screen)
 * Ubuntu 9.04 (x64) on x86_64 with Radeon HD3870X2 and 9.5 driver: "No supported adapters detected."
 * Ubuntu 9.04 (x64) on x86 and x86_64 with Radeon HD4850X2: Framebuffer error, garbled screen.
 * Ubuntu 9.04 (x64) on x86_64 with Radeon HD4850: Framebuffer error, garbled screen (with automatic log-on, using the restricted drivers manager installation).
 * Ubuntu 9.04 (x64) on x86_64 with Radeon HD 3300 (790GX): garbled screen.
 * Working Radeon HD 3300 connected to an HDTV, I had a garbled screen before, I reinstalled Ubuntu, then follow manual steps closely. Reinstalled because I didn't know how to remove fglrx, but you may be able to avoid reinstalling by following fglrx complete removal in this guide.
 * Working 790GX (A790GMH/128M) with 9.5 driver after manual install (following install with envyng, which might be older version as of 25/5/09). Able to change display resolution which before was not working.
 * Working 790GX (MSI 790GX-G65): Now able to call System/Video Configuration which hang up. This driver also reduced the power consumption by 15 W (from 93 W down to 78 W). Thank you for that great installation guide.
 * Working Radeon HD 3450 connected to an HDTV on Kubuntu 9.04. Followed manual install of latest drivers (9.6) to the letter, rebooted, and works fully.

Mesa drivers
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 a some others:

rmmod i82875p_edac rmmod fglrx rmmod intel-agp rmmod agpgart modprobe agpgart modprobe intel-agp modprobe fglrx


 * Blacklist the modules e7xxx_edac so it doesn't start up again when booting - add the following line at the beginning of /etc/modprobe.d/blacklist:
 * blacklist i82875p_edac


 * 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're upgrading from Gutsy to Hardy in some instances the Grub bootloader does not get updated and the new kernel is not loaded.
 * Run in a terminal:
 * uname -r
 * If the output starts with 2.6.22 or below you are not using the current kernel and the Ati drivers will not load properly.

If this doesn't help, try Ubuntu Gutsy Installation Guide, or other links:, ,.

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

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 your home directory)

sh ati-driver-installer-8-12-x86.x86_64.run --extract driver

sudo cp ~/driver/packages/Ubuntu/dists/jaunty/replacements/authatieventsd.sh /etc/ati/authatieventsd.sh

(jaunty is to be replaced by the name used at the building stage (intrepid,hardy,8.10,8.04,etc...)

sudo chmod +x /etc/ati/authatieventsd.sh

just reboot login and ctrl+alt+backspace to try

Suspend/Hibernation
Suspend hibernation works with the latest driver.

For ATI X1400, to get the laptop to wake up from suspend, I had to change the following in /etc/default/acpi-support:

SAVE_VBE_STATE=false

POST_VIDEO=false

ENABLE_LAPTOP_MODE=false

Comment: This is a little surprising, since the comments at the beginning of /etc/default/acpi-support seem to make it quite clear that those settings are ignored unless you add "acpi-support" to SUSPEND_METHODS. --Bewst 23:22, 19 December 2008 (UTC)

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):

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 zwyber@gmail.com

Can't remove fglrx with dpkg
If dpkg really-really refuses to remove an older fglrx-package, it might be needed to edit /var/lib/dpkg/diversions and remove a few lines. This is a hack and should be avoided.

This module/version combo is already installed
If you get this error-message, simply uninstall the previous version before installing the new one with:

New kernel installed?
I found out that when getting a new kernel the fglrx kernel-module is not installed for your new kernel. You can do that by these simple steps:

if amdcccle doesn't work and says Identifier is not a valid word. Use lower case letter in xorg.conf