I saw a ton of people having trouble with the proprietary drivers for their graphics cards on Linux. Most people have trouble installing with the AMD Catalyst driver, A.K.A. fglrx on Ubuntu 12.04 and Ubuntu 12.10, due to incompatibilities with the latest kernel version and the latest xorg-xserver version. I discovered the reason why, and how to patch it after an entire week of wrestling with my drivers and Linux, all the while being completely new to Linux.
Processor : 2x AMD Athlon(tm) II P360 Dual-Core Processor
Memory : 7916MB (1290MB used)
Operating System : Ubuntu 12.04.2 LTS
OpenGL Renderer : ATI Mobility Radeon HD 4200 Series
X11 Vendor : The X.Org Foundation
Audio Adapter : HDA-Intel - HDA ATI SB
Here's a how-to guide describing how to install the latest proprietary (non-beta) driver from AMD, which, at the time of this post, is catalyst 13.1. I had to pull from a hodgepodge of guides for each part, and had to wipe Ubuntu and reinstall nine times while figuring out the right way. This is a patch which will downgrade your system. If you do this, then you will lose some of the features that the newer versions offer. It doesn't change anything visually, so if you only picked up Linux for steam, then I don't believe the downgrade will significantly affect you. Linux gurus, please correct me if I'm wrong.
Here is the product of my trial and error: Step 1: get a fresh install of Ubuntu 12.04. As far as I am aware, you cannot roll back your Xorg version far enough in 12.10, so if you have to stick with 12.10, I cannot help you.
My recommended method would be to install by booting from a CD, because using wubi gave me issues, but whatever works for you. Step 2: Install Synaptic package manager and open-terminal
once you have booted your computer, pull up your terminal by either going to the dash and searching for "terminal", or by using the keyboard shortcut CTRL+ALT+T. ** PROTIP** you can paste INTO your terminal by pressing CTRL+SHIFT+V, OR by right clicking and selecting paste.
Sudo apt-get install synaptic && sudo apt-get install nautilus-open-terminal
then type in your password. you can then launch it from your dash, or from the terminal by typing:
into your terminal. Step 3: Roll back your X version
Launch synaptic, close the initial popup you get, and then click in the search box in the bar at the top. search for "xserver-xorg-core"
you should get about 6 results, with one already installed (usually x.1.13.xxxx). look for the one that is the version x:1.11.xxxx, right click, and select "mark for installation". install that, and it should downgrade your X version to 1.13 to 1.11, a version compatible with the latest AMD driver. NOW CLOSE SYNAPTIC Step 4: Roll back your Kernel and Headers.
This is easy, as long as you get the right version. The right version depends on if you have a 32 bit OS, or a 64 bit OS. As you can see from my specs, I'm running the 64 bit version.
Here's how to download the files using your terminal.
32 bit users:
64 bit users:
Go make some coffee while you wait for these to download.
Now to install them.
For 32 bit users:
sudo dpkg -i linux-headers-3.4.0-030400_3.4.0-030400.201205210521_all.deb && sudo dpkg -i linux-headers-3.4.0-030400-generic_3.4.0-030400.201205210521_i386.deb && sudo dpkg -i linux-image-3.4.0-030400-generic_3.4.0-030400.201205210521_i386.deb
For 64 bit users:
sudo dpkg -i linux-headers-3.4.0-030400_3.4.0-030400.201205210521_all.deb && sudo dpkg -i linux-headers-3.4.0-030400-generic_3.4.0-030400.201205210521_amd64.deb && sudo dpkg -i linux-image-3.4.0-030400-generic_3.4.0-030400.201205210521_amd64.deb
now, next you have to boot the 3.4 kernel when you restart. to do this, you will have to reboot, launch the GRUB loader during boot, and pick the kernel. Obviously, you need to know how to do that BEFORE
Press and hold SHIFT while rebooting to get to the GRUB menu. Look for kernel 3.4.xxx.
If it isn't there, then select "previous versions", and it should be there. simply select it, and boot. **IMPORTANT**
YOU WILL NEED TO DO THIS EVERY BOOT, UNLESS YOU CAN SET IT TO 3.4 BY DEFAULT.
I do not know how, but I only have one week's worth of Linux experience, so surely someone else can help you with that.
Now to see if it worked.
Pull up your terminal, and type in:
this tells you your kernel version. you should get something like this:
Linux zeke-Inspiron-M5030 3.4.0-030400-generic #201205210521 SMP Mon May 21 09:22:02 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
what's important, is the bit right after your computer name. it should say:
Now check your Xserver version. type in:
If it didn't work, make sure that the "X" is a CAPITAL letter. that first line should read:
X.Org X Server 1.11.3
now, if all that went through correctly, update your system by putting this into console.
sudo apt-get update && sudo apt-get upgrade
I reccomend rebooting. **DON'T FORGET TO BOOT KERNEL 3.4** Step 5: Remove the previous driver.
If you haven't tried to install any video driver, then you don't need to do this. If you aren't sure, then follow these steps just to be sure, since it cannot hurt.
type this into console to purge the old driver.
sudo apt-get remove --purge fglrx* Step 6: Install the dependencies.
type this into console:
sudo apt-get install build-essential cdbs dh-make dkms execstack dh-modaliases fakeroot libqtgui4 ia32-lib*
64 bit users will also need this:
sudo apt-get install lib32gcc1
If you get any errors saying something like "package not found", then enable canonical partners in your software repository. Do this by pulling up synaptic (don't forget the magic word, "sudo"), going to the settings tab, and selecting repositories. Go to the "Other Software" tab, and enable check both boxes for "canonical partners". then, try step 6
again.Step 7: Download the correct driver.
Follow the steps here to get the correct driver for your system. Go to this address in your browser and select what applies to you.http://support.amd.com/us/gpudownload/Pages/index.aspx
I recommend saving it to your Downloads directory. Step 8: Install the driver
navigate to the directory where you saved the driver in step 7. There are two ways that you can do this:
- you can navigate there in your terminal using the cd command:
cd Downloads **note for windows CMD line veterans** The cd command in linux is CASE SENSITIVE. I was tearing my hair out until I realized this. i.e, "cd downloads" will not work, but " cd Downloads" will. The terminals can also use the dir command.
- you can navigate there by using the file manager. If you use this method, then right click in any empty space in your Downloads directory and click "open in terminal"
Unzip the file. Make sure your terminal is in the same directory as the driver file
You will need to copy paste your driver in place of the text below. to get it from your console, type:
to get a list of all the files and folders in your current directory.
If you are using the file manager, DO NOT COPY/PASTE THE FILE DIRECTLY; THAT WILL NOT WORK.
right click the file, and select "properties". That will give you the file name directly.
unzip INSERT_YOUR _FILE_NAME_HERE
this will extract the *YOUR_DRIVER*.run file from your zipped file.
Now, get the name of the run file, like you did above with the zip file. It should have the same name as the previous file, EXCEPT, it will be a .run file instead of a .zip.
DON'T IGNORE THAT "./" IN THE CODE BELOW, IT NEEDS TO BE THERE!
chmod +x INSERT_YOUR_FILE _NAME_HERE && sh ./INSERT_YOUR_FILE_NAME_HERE
sudo dpkg -i fglrx*.deb
sudo amdconfig --initial -f
Now use synaptic to look for any broken packages:
Pull up synaptic, and select the packages tab. Select "fix broken packages", and then click apply. NOW CLOSE SYNAPTIC
Now, to configure your system for the driver, type this into your console:
sudo amdconfig --initial -f Step 9: see if it worked.
reboot. (Don't forget, boot the kernel version 3.4.0!)
Once rebooted, type this into console:
it should give you something like this:
display: :0.0 screen: 0
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: ATI Mobility Radeon HD 4200 Series
OpenGL version string: 3.3.11672 Compatibility Profile Context
To see if Ubuntu is using it correctly, go to the Dash, and look for "System Settings". Click on Additional Drivers, and it should show your driver, with a green dot next to it. If there is no dot, then it did not install correctly.
Anything that looks too crazy probably means something went wrong. If you're entirely sure that you followed the steps correctly, and it still isn't correct, then this method will not work for you. If this is the case, then type
sudo apt-get remove --purge fglrx*
into console again to remove the driver. My apologies to anyone inconvenienced by this.
If it works, then you're done! Look for Catalyst Control Center (administrative version) in your Dash to tweak your configuration.
This works for my rig; I cannot guarantee that it will work for yours, especially if you are using multiple monitors or multiple graphics cards on the same machine. [/b]
If any Linux gurus see a problem with this guide, please leave a comment, and I will correct it, or elaborate.
EDIT: Here's a link to the older Ubuntu releases. http://releases.ubuntu.com/