Radeon HD 2000, 3000, 4000 on 12.10 Quantal: fglrx (legacy) 12.6 unsupported, what to do?
- by Andrew Mao
After upgrading to 12.10 quantal, the packaged version of fglrx no longer works. I discovered that this is because there is a separate 'legacy' fglrx driver for the HD 2k-4k series cards, but it is incompatible with the xorg server on 12.10.
This is the most current version of the driver for HD 2000 through HD 4000 series cards. You can't use the non-legacy fglrx driver, but you can use the open-source radeon driver if you prefer your WM compositing to be laggy and your YouTube videos to play like they would on a Pentium MMX series:
http://support.amd.com/us/kbarticles/Pages/catalyst126legacyproducts.aspx
Usually this driver can be installed in the following way, necessary because apt-get install fglrx would pull in the non-legacy driver:
wget http://www2.ati.com/drivers/legacy/amd-driver-installer-12.6-legacy-x86.x86_64.zip
unzip amd-driver-installer-*
sudo sh ./amd-driver-installer-*.run --buildpkg Ubuntu/quantal
sudo dpkg -i fglrx*.deb
sudo aticonfig --initial -f
If you use a different version of fglrx (for example, a newer 12.9 that doesn't support those cards) then the final command will give you an error no supported hardware detected or something similar. However, everything works at this point and you will get a reasonable xorg.conf:
... other stuff
Section "Device"
Identifier "aticonfig-Device[0]-0"
Driver "fglrx"
BusID "PCI:1:5:0"
EndSection
... other stuff
At this point you're supposed to reboot and everything will be working with the fglrx driver. However, upon rebooting, you'll be treated to the following errors in Xorg.0.log when fglrx attempts to load:
(EE) Failed to load /usr/lib/xorg/modules/drivers/fglrx_drv.so: /usr/lib/xorg/modules/drivers/fglrx_drv.so: undefined symbol: noXFree86DRIExtension
Some searching around will show that this is a problem with the legacy ATI drivers not supporting xserver 1.13 or newer. (Arch Linux thread) ATI has released a fixed driver for its most recent (HD 5000 series or later) cards, but not for the 'legacy' cards yet. The non-legacy ATI drivers can't be used with the old cards.
What should an Ubuntu user, using one of these HD 2000-4000 series cards, do?
Wait for an updated 'legacy' ATI driver that properly works with xserver 1.13?
Downgrade back to 12.04 Precise, which uses xserver 1.11?
Try to downgrade xserver on 12.10 Quantal to 1.12, which could possibly break Unity and GNOME?
Forced upgrade to HD 5000 series or later card? (Not possible with integrated graphics...)
Some other 1337 action that fixes this problem painlessly?