
My Thinkpad T43 came with a 64 MB ATI Radeon X300. Since ATI is committed to giving its customers "proprietary, patented optimizations," if I do not want to use fglrx, ATI's binary, non-open sourced driver, I must go with radeon, a slow-performing open source driver without any 3D acceleration. While the open-source drivers are fine for everyday computer use, they do not work well when trying to do cool graphical things like running OpenGL screensavers or XGL. Since Ubuntu is among the distributions of Linux that has no compunctions about putting binary drivers in its repositories, installing the binary drivers is normally relatively easy, especially as there are a multitude of documents that describe how to do it.
But what are using the development version of Ubuntu, Edgy Eft? Now only does it use the 2.6.17 kernel (instead of 2.6.15) but it uses X.org 7.1. Alas, the binary ATI drivers need to be compatible with the version of X.org, and the current version of the drivers and kernel modules in the Ubuntu repositories is not. While there is a bug filed for the problem, it has not yet been fixed. Tired of using the radeon driver, I decided yesterday not to wait for updated packages and install the ATI drivers on my own. Cue fanfare!
I have painfully reconstructed the steps that I took to get it working (part of the problem was that I thought I had it working and started plowing ahead on XGL, only to realize that it was half-working - the computer was using the fglrx driver but there was still no 3D acceleration. While the documents I was using all tried to be complete walkthroughs to the process of getting ATI drivers working on Ubuntu (although many of them were targeted toward Dapper, the process still seemed to work), none of them had all of the information I needed. As a result, I will try to provide links to documents that helped whenever I can.
If you have Ubuntu's fglrx binary driver installed
You need to uninstall it. Go to Synaptic Package Manager (System -> Administration) and search for fglrx. Remove all of the packages you find. Since the fglrx driver interacts with the kernel, you will also find it useful to remove the linux-restricted-modules package.[1] Do that.
Installing the ATI binary driver
Go to ATI's website for Linux drivers and download the latest installer file (as the time of this writing, 8.28.8). You want the file called ati-driver-installer-
chmod +x ati-driver-installer-
./ati-driver-installer-
Depending how recently updated your Edgy installation is, you may run into problems with the ATI installer complaining about syntax errors. A recent Edgy update changed the shell sh from bash to dash. You will have to do some extra work on the command line by temporarily making the sh command redirect to bash instead.
sudo mv /bin/sh /bin/sh.bak
sudo ln -s /bin/bash /bin/sh
./ati-driver-installer-
sudo mv /bin/sh.bak /bin/sh
Installing the Kernel Module
The ATI installer package should have built several Debian packages ("debs") in the directory it was in. We should install fglrx-kernel-source and then uncompress the binary kernel modules it provides.
sudo dpkg -i fglrx-kernel-source_
cd /usr/src
sudo tar xvf fglrx.tar.bz2
Now install your new drivers and kernel modules. While I am using the 2.6.17-6.18 kernel with version 8.28.8 of the ATI drivers, your version number may be different.
sudo dpkg -i ~/xorg-driver-fglrx_8.28.8-1_i386.deb fglrx-kernel-2.6.17-6-686_8.28.8-1+2.6.17-6.18_i386.deb
Finishing
The driver also includes a program called atieventsd which might take up all of your CPU. I found a thread on a French SUSE forum that suggested removing a socket file would stop the problems. It worked for me:
sudo rm /var/run/atieventsd.socket
If you were not previously using fglrx, take this opportunity to modify your xorg.conf. Reboot and run "fglrxinfo" on the command line. If the driver (and 3D acceleration) are working properly, you should see something like this:
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: MOBILITY RADEON X300 Generic
OpenGL version string: 2.0.6011 (8.28.8)
Woot!
Next: XGL and Compiz.
External Links
- A Ubuntu Wiki document on installing ATI binary drivers:If this document could not help you, this is probably where you want to go.
- A thread on the Ubuntu forums about installing the ATI drivers after using a custom kernel on Dapper (6.04): Although I am using the stock kernel from Edgy, this was still very helpful. It also included a patch which may or may not have been useful in creating the kernel module.
--
[1] If you need linux-restricted-modules for some reason - madwifi drivers, perhaps? - you will either have to keep it installed and blacklist the Ubuntu-provided fglrx module from running or find some other way to get the drivers that you need.
# At 22:55 on August 30, 2006, Martey wrote:
New versions of the linux-restricted-modules and xorg-driver-fglrx packages hit the Ubuntu repositories today with support for X.org 7.1, making this document obsolete for Edgy. It might come in handy when ATI updates its drivers or X.org 7.2 is released.
I forgot to mention that you will need to add the "fglrx" to /etc/modules so that the kernel will load the module that you have created.
Per footnote 1, you should be able to keep linux-restricted-modules by blacklisting the fglrx kernel module.
# At 22:01 on September 12, 2006, Darkling wrote:
Hi, and thanks for putting the effort into getting this working. I would just like to point out that instead of you bash/dash hack, you can just prepend bash to the beginning of the command. This will force the offending commands to run in bash... et voila.
The command would look like this:
bash ati-driver-installer-8.28.8.run --buildpkg Ubuntu/edgy
# At 23:40 on October 3, 2006, Ittai wrote:
Things seem to work almost out of the box on Edgy Beta (post-Knot 3): I just installed the Ubuntu fglrx driver/module, added the lines
Section "Extensions" Option "Composite" "false" EndSection
to my xorg.conf (which I saw on some other site: Reportedly, with Composite enabled, GL and DRI or DRM or some such are disabled). Things work great. My only GL testing has been with the usual cool GL screensavers, though. I have a Radeon Xpress 200M, btw.
# At 18:59 on October 12, 2006, Daniele Albrizio wrote:
Not so easy ... the binary script refers to shell in different steps. You need to modify the link.
# At 5:30 on January 16, 2007, Meeh wrote:
I couldn't get it to create the Debian packages. I got to this part:
sudo mv /bin/sh /bin/sh.bak sudo ln -s /bin/bash /bin/sh ./ati-driver-installer-.run â€"buildpkg Ubuntu/edgy sudo mv /bin/sh.bak /bin/sh
It gives me all the unpacking details... but at the end it coundn't make any .deb. I can't go any further from there
# At 18:33 on April 2, 2007, Dudley wrote:
I owe you lunch or something. Seriously! I've strugled with the ATI drivers for 2 years (jumping through various hoops to get dual-head working) and got it working in 30mins following the above.
Don't know what makes you think that this is no longer relevant, 'cause on 6.10 still doesn't work.
U D Man!
P.S.: If you're planning on taking down this page, please let me know. Or better, do I have permission to repost on a free (also ad-free) site for newbies that I'm working on? (Of course, linking back and giving full credit.)
Dudley C.