Radeon HD 2000, 3000, 4000 on Ubuntu 12.04.2 and higher: fglrx (legacy) unsupported, what to do?

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?

  1. Wait for an updated 'legacy' ATI driver that properly works with xserver 1.13?
  2. Downgrade back to 12.04 Precise, which uses xserver 1.11?
  3. Try to downgrade xserver on 12.10 Quantal to 1.12, which could possibly break Unity and GNOME?
  4. Forced upgrade to HD 5000 series or later card? (Not possible with integrated graphics...)
  5. Some other 1337 action that fixes this problem painlessly?

If using AMD/ATI GPU drivers: Run the following command to remove them, and reboot:

sudo apt-get purge fglrx

Don't reinstall them as ATI cards (rather AMD Catalyst) currently don't support Unity-3D.

As to the optionsyou have, I'd suggest #1: Wait for AMD/ATI to catch up.


I have ATI Mobility 4650 HD and installing from Tomasz Makarewicz's AMD Catalyst Legacy PPA broke my unity and opengl. I got things working with this (found in the 2012 ubuntu forums thread Can't install ATI proprietary drivers in 12.10. Unity is Missing):

sudo sh /usr/share/ati/fglrx-uninstall.sh
sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*

sudo rm /etc/X11/xorg.conf

sudo apt-get install --reinstall xserver-xorg-core libgl1-mesa-glx libgl1-mesa-dri libgl1-mesa-glx libgl1-mesa-dri
sudo dpkg-reconfigure xserver-xorg

sudo reboot

I hope this helps until there is an official driver release by ATI.


There's the ppa:makson96/fglrx PPA that has the legacy driver. It will also downgrade your Kernel and X server to older versions, as the legacy driver is not compatible with newer Kernels nor X servers. However, please read the release notes from the link as the driver isn't fully compatible with the Unity used in Ubuntu 13.04.

If you want to use the PPA, run these commands from the terminal to downgrade the Kernel and X server and to install the legacy driver:

sudo add-apt-repository ppa:makson96/fglrx
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install fglrx-legacy

I have a Compaq Presario CQ56, with ATI Mobility Radeon HD 4250. Tried to use the ppa repository (as mentioned by lienmeat) and breaks my system with the legacy driver.

Actually, downgrading Xserver works well, but the fglrx not :S. In fact, ubuntu doesn't detect my card, son I can't even download the "privative driver" that the OS always suggested me.

In other words, I don't recommend install legacy with the method menciones above, the best desition us to wait for a fix

(Sorry for my bad english, i'm from Costa Rica, my english is not that good as my spanish xD)


Open source driver would work for me even considering less perfomance than fglrx, if it had a proper power consuption management.

I have Dell Inspiron 1545 with ATi Radeon 4350, and unfortunately open source driver seems not to manage GPU cooler state. The cooler was always on and running loud, nevertheless the system/graphics load. Once I downgraded the X server to 1.12.3 and installed legacy driver, as suggested by Fglrx on Launchpad (the same as lienmeat suggested us to do), GPU cooler started to work only if needed. Bless you silence of the coolers.

However, it would be great if AMD released legacy drivers supporting newer X server(s), though now I'm not sure they really care.