Ubuntu Jaunty Installation Guide
ATTENTION UBUNTU JAUNTY USERS |
Warning: Does not work for all system combinations at this time |
The Alternatives
Users with ATI cards basically have these options:
- 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.
- Edge Open Source Drivers These drivers have improved 3D performance
- The Ubuntu Way Use the restricted-driver management system that comes with Ubuntu to install the proprietary drivers.
- Third (Fourth?) Party Installer Use envy/jockey or other installer helper.
- 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" 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.
Installing the drivers manually
- PLEASE READ FIRST!
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.
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.6. !!!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
Terminal Command |
sudo apt-get install build-essential cdbs fakeroot dh-make debhelper debconf libstdc++5 dkms |
1. Download the latest Catalyst package.
Download page: Catalyst 15.12 -- File: radeon-crimson-15.12-15.302-151217a-297685e.zip. 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
2. Create .deb packages.
Terminal Command |
sh radeon-crimson-15.12-15.302-151217a-297685e.zip --buildpkg Ubuntu/jaunty |
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"
4. Install .debs.
Install the debs, depending on if you're on a 32-bit or 64-bit system:
- For 32-bit systems
Terminal Command |
sudo dpkg -i xorg-driver-fglrx_*.deb fglrx-kernel-source_*.deb fglrx-amdcccle_*.deb |
(This may fail due to a missing dkms. If so install this first. Also check the version numbers (8.620) against the created debs)
- For 64-bit systems
Terminal Command |
sudo dpkg -i xorg-driver-fglrx_*.deb fglrx-kernel-source_*.deb fglrx-amdcccle_*.deb |
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:
Terminal Command |
sudo apt-get install -f |
Catalyst 15.12 on 64-bit systems requires the --force-overwrite command in the above dpkg command:
Terminal Command |
sudo dpkg -i --force-overwrite xorg-driver-fglrx_*.deb fglrx-kernel-source_*.deb fglrx-amdcccle_*.deb |
Using tab completion can make this command easier.
Finishing the Install: Configuration
Now you'll have to edit your xorg.conf
Note: If you've used fglrx previously, skip down to step 6.
For Ubuntu:
Terminal Command |
sudo gedit /etc/X11/xorg.conf |
For Kubuntu:
Terminal Command |
sudo kate /etc/X11/xorg.conf |
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
Save and exit, then run
6. Generate a new /etc/Xorg.conf file
Terminal Command |
sudo aticonfig --initial -f |
in a terminal. If it doesn't give an error you should be good.
If you have an X2 card (e.g. 4870X2), use
Terminal Command |
sudo aticonfig --initial -f --adapter=all |
instead in a terminal to generate the /etc/Xorg.conf file.
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:
Terminal Command |
sudo aticonfig --input=/etc/X11/xorg.conf --tls=1 |
8. Test your installation
Finally, reboot the computer and type
Terminal Command |
fglrxinfo |
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.
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:
Terminal Command |
sudo aticonfig --initial -f |
in a terminal. If it doesn't give an error you should be good.
If you have an X2 card (e.g. 4870X2), use
Terminal Command |
sudo aticonfig --initial -f --adapter=all |
instead in a terminal to generate the /etc/Xorg.conf file.
and
Terminal Command |
sudo aticonfig --input=/etc/X11/xorg.conf --tls=1 |
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.
Tweaks
- Add tweaks as needed: http://ubuntuforums.org/showthread.php?t=849422
- 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.
- 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, 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: Framebuffer error ("No valid linear framebuffer address"), garbled screen.
- Working 9.04 (x64) on x86_64 with Radeon4870X2 and 9.4 and 9.6 driver (9.5 still does not work): use 'aticonfig --initial -f --adapter=all'
- 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.
- 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.
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 [1])
- 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#Verifying, or other links: [2], [3], [4].
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
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:
Terminal Command |
sudo dkms remove -m fglrx -v 8.522 --all |
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:
Terminal Command |
sudo dkms build -m fglrx -v 8.552 -k `uname -r` |
if amdcccle doesn't work and says Identifier is not a valid word. Use lower case letter in xorg.conf