IMPORTANT UPDATE - PLEASE READ BEFORE YOU DO ANYTHING THIS GUIDE IS DEPRECIATED USE THIS THREAD!!!
This How To was originally written for versions 5.04 and 5.10 of Ubuntu. I do not know if it works for 6.06LTS. I am currently running Ubuntu 6.10 (Edgy Eft). If you are running Edgy I recommend following the instructions in THIS THREAD. I also recommend using the latest drivers from ATI/AMD. Personally, I find them easier to get working than the Ubuntu restricted drivers which did not work for me at all.
The linked method has the advantage of easily generating and installing a .deb package which is a cinch to uninstall and update (you will need to reinstall the driver every time the kernel is updated). I recommend rebooting rather than trying to restart X when you do this. As usual, please read the whole of the first post in that thread BEFORE doing anything!!!
Replace the filename at the end of the wget command with the latest driver package name to download the drivers. Alternatively, download the package via your web browser to the folder where you will be performing the installation - eg ~/Desktop/atitemp - and skip the wget command.
At the time of this update (March 20, 2007) the latest driver package for Intel CPU's is:
Do not use the xorg.conf file below to configure X. Follow the instructions in the linked thread. Trust me on this, I tried it and had to boot to the recovery console!
If you are running an older ATI card which is unsupported by the newest ATI drivers you can download older drivers from the ATI/AMD website: START HERE. In this case, download the package via your web browser to the folder where you will be performing the installation - eg ~/Desktop/atitemp - and skip the wget command.
I will leave the original HOW TO as is for those who are still running older versions of Ubuntu.
HOW TO: ATI Drivers v0.2 (Revised) For Ubuntu 5.04 and 5.10
I know, I know, flog the dead horse . But I believe this is worth doing because I, and others, have had my xserver freeze at boot time after following some of the instructions found on these forums - in particular the use of fglrxconfig. I guess i'm just trying to bring the best info I've gained from other threads (and now this one!), plus my own (limited) experience, into one place.
I would suggest that you first try and enable 3D acceleration with the method I have outlined. If it works, back up your xorg.conf and give fglrxconfig a go which has the advantage of including a routine to configure TV out.
Please read the whole thing BEFORE you go and break your system
NOTE 1: If you use defoma fonts and also use fglrxconfig to generate your xorg.conf file you will need to add the relevant lines from your backed up copy of xorg.conf (or my example below) to the "Files" section of the xorg.conf generated by fglrxconfig as the defoma font directories are ignored by fglrxconfig.
NOTE 2: I know everyone wants the bleeding edge version of the drivers for their gfx card. However, unless you are using a custom kernel I highly recommend sticking with the official ubuntu driver packages. Why? These packages are designed to work perfectly with your ubuntu system. The rpm from ATI is not. Also, installing the non-ubuntu drivers will cause problems when/if xlibmesa-gl is upgraded. If you choose to ignore this advice, that's OK - you will learn more about how your system works. Maybe more than you wanted to know Don't say I didn't warn you.
1. Official Ubuntu Kernel:
If you are using an official ubuntu kernel there is no need to **** around with the rpm file from the ATI website - it will just get unnecessarily messy - SO DON'T, OK? Make sure you have the Ubuntu Restricted repositories enabled (they should be by default) and install the drivers like this:
You probably don't need the control panel unless you are using dual monitors. If you want it add fglrx-control to the above command.
$ sudo apt-get install linux-restricted-modules-<your-kernel-version> xorg-driver-fglrx
Then edit your xorg.conf file - see 3 below.
2. Custom Kernel:
If, and ONLY if, like me and many other Linux tweakheads who can't leave well enough alone, you are running a custom kernel which you have craftily configured and compiled yourself the official Ubuntu fglrx driver package will be useless to you. Follow the instructions here making the necessary kernel version adjustments. Also, make sure you have your kernel headers installed in addition to your (properly configured) kernel source. Since you've compiled your own kernel I assume (uh-oh) that you know what you're doing.
Come back here and go to the next section.
2(a). ATI rpm on standard Ubuntu kernel
If, contrary to my advice, you ARE going to install the ATI .rpm package on a standard Ubuntu kernel the instructions at the above link will work for you. But make sure to uninstall the restricted modules first.
3. Edit /etc/X11/xorg.conf
This is the file which tells your xserver WTF is going on. Mess this up and it won't work. At worst the thing will freeze on boot - which ain't so bad if you're comfortable at a command prompt (and the longer you use linux the more comfortable you're likely to get with that ) - and at best you just won't get hardware 3D acceleration.
Back up your xorg.conf, eg:
Make another copy somewhere else if it makes you feel more secure. update: please write down the path to your saved xorg.conf now. This way you will be able to find it if you end up stuck logging into a console rather than GNOME
$ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf-old
Go here and look at section 5. Configure X. Hell, read the whole page. Cut and paste the configuration there into the relevant sections of your xorg.conf file - AFTER BACKING IT UP!!!! N.B. The driver packages provided on that page do NOT work in ubuntu - I've tried. However, if someone with some knowledge could work out how to modify the source package scripts ...
And before anyone points out that the linked page is for xfree86 drivers - trust me on this one: the config works for xorg as well. I used this config on debian with instant success and no problems and when I finally ignored fglrxconfig and used it in ubuntu the drivers worked -finally!!! You will also notice that on that site it is expressly stated: DO NOT USE fglrxconfig TO GENERATE YOUR xorg.conf FILE!!!!!!!!!!! - at least the first time.
Once you've edited and saved xorg.conf restart your x server (<Ctrl>+<Alt>+<Backspace>), log in and try these commands:
If you don't get something like this:
Then something is wrong!!!
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9600 Generic
OpenGL version string: 1.3.4893 (X4.3.0-8.10.19)
If it's working do
And for the real test do
Oh, and that stuff about not being able to change screen resolutions on the fly? Rubbish Just get rid of everything under "Screen" -> "Modes" except the 24 bit depth section. Also make sure that "omit xfree86-dga" [fixed - thanks to gratefulfrog] is enabled in the modules section. You do not need to specify your preferred resolution first. After a reboot you should be able to choose resolutions on the fly as normal.
I include my xorg.conf for your reading/copying/editing pleasure, with thanks to Flavio Stanchina for his fantastic work.
If you use this file please make sure that you enter the paramaters for YOUR devices, eg, keyboard, mouse, etc, rather than mine
Another note about the xorg.conf file above - this does not contain any settings in the "Monitor" section relating to LCD displays - hopefully xserver-xorg took care of that when you installed it - also see below.
# /etc/X11/xorg.conf (xorg X Window System server configuration file)
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# If you have edited this file but would like it to be automatically updated
# again, run the following commands:
# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.custom
# sudo sh -c 'md5sum /etc/X11/xorg.conf >/var/lib/xfree86/xorg.conf.md5sum'
# sudo dpkg-reconfigure xserver-xorg
FontPath "unix/:7100" # local font server
# if the local font server has problems, we can fall back on these
# paths to defoma fonts
# Load "extmod" but omit DGA extension - this must be included as is if you want to change resolution on the fly
Option "omit xfree86-dga"
Identifier "Generic Keyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
Identifier "Configured Mouse"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
Identifier "ATI Technologies, Inc. Radeon 9600 (R300 AP)"
# If X refuses to use the screen resolution you asked for,
# uncomment this; see "Bugs and Workarounds" for details.
# === Video Overlay for the Xv extension ===
Option "VideoOverlay" "on"
# === OpenGL Overlay ===
# Note: When OpenGL Overlay is enabled, Video Overlay
# will be disabled automatically
Option "OpenGLOverlay" "off"
# === Use internal AGP GART support? ===
# If OpenGL acceleration doesn't work, try using "yes" here
# and disable the kernel agpgart driver.
Option "UseInternalAGPGART" "no"
# You don't actually need this next BusID bit - unless maybe you have dual monitors?
# I've removed it from mine (single monitor only) and all is well.
# I think it's a leftover from fxglrconfig - doh!
Identifier "NEC E1100+"
Identifier "Default Screen"
Device "ATI Technologies, Inc. Radeon 9600 (R300 AP)"
Monitor "NEC E1100+"
Modes "1600x1200" "1280x960" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
If you hit serious problems and end up having to log in at a terminal because your xserver freezes all you need to do to reverse things is login with your username and password and:
The /path/to/xorg.conf-old is the path you wrote down when you backed it up while following the instructions in section 3. You DID write it down didn't you?
$ sudo cp /path/to/xorg.conf-old /etc/X11/xorg.conf
$ sudo reboot
If you've installed the Control Panel and are wondering how to start it:
Originally Posted by pystyj
1. CHECK FOR ERROR MESSAGES:
To look for error messages check the following files in a text editor:
2. INSTALL/REINSTALL THE DRIVERS WITH THE XSERVER STOPPED:
$ gedit /var/log/Xorg.0.log
$ gedit /var/log/dmesg
(I have an unconfirmed suspicion that if you run a -k7 kernel you may have to do it this way from the beginning - will try and find out. Don't be shy about doing it this way from the start if you feel comfortable at the command line - you must know how to use a console text editor, eg, vi, vim, nano, etc. Although you could edit your xorg.conf before stopping the xserver - the new file won't be used until you restart the xserver. By this stage you should have the fglrx driver installed anyway.)
If you've done the above and restarted your xserver, checked that xorg.conf is correct and it's still not working give this a go:
3. ENABLE LVDS:
Originally Posted by valthonis
If it's not working and you're receiving LVDS related errors (see 1 above) the following might help:
Originally Posted by valthonis
DISCLAIMER: I take no responsibility in the extremely unlikely event that you irreparably break your system. I definitely am not an expert, so you are on your own. The settings in the provided xorg.conf file are not in any way guaranteed to work on your specific system - but give them a go anyway Any opinions expressed herein are mine alone, are not endorsed by the ubuntu project or anyone sane and can properly be ignored. Any errors, omissions and inaccuracies in this HOW TO are entirely a result of my laziness and/or stupidity.
Falvio Stanchina's ATI Linux Drivers for Debian site. This is also linked to in section 3 above. Even though his packages will not work with Ubuntu, please do have a look. He includes useful links & troubleshooting tips.
Gentoo ATI Radeon FAQ (a good source of troubleshooting hints) - thanks again to Flavio Stanchina.
ATI Linux FAQ at the ATI website.
And if all else fails try the ATI channel at irc.freenode.org #ati
(If anyone is aware of resources which could/should be added to this list - and I'm sure there are plenty - please post them or PM me.)