Healer_LFG Feb 26, 2013 @ 9:16am
Catalyst 13.1 on Ubuntu 12.04 PATCHED!!! Step by Step Guide!
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.

My specs:
-Computer-
Processor : 2x AMD Athlon(tm) II P360 Dual-Core Processor
Memory : 7916MB (1290MB used)
Operating System : Ubuntu 12.04.2 LTS
-Display-
OpenGL Renderer : ATI Mobility Radeon HD 4200 Series
X11 Vendor : The X.Org Foundation
-Multimedia-
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.
type in:
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:
sudo synaptic

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 you reboot.

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:

uname -a

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:
3.4.0-030400-generic.

Now check your Xserver version. type in:

X -version

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:
dir
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!
i.e, ./your_file_name
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:
fglrxinfo
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.
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/
Last edited by Healer_LFG; Oct 17, 2013 @ 9:07pm
Showing 1-15 of 33 comments
< >
MrTheSoulzツ Feb 26, 2013 @ 3:49pm 
this is not a sulotion its a patch, AMD needs to support the lastest X.org and the latest kernel.
i am not willing to roll back just beacuse AMD dosent get theyr stuff right :/
at this point anything that does not work with 3.8 kernel its not worth my time.
rudeboyskunk Feb 26, 2013 @ 4:38pm 
Originally posted by Linux MrTheSoulz:
this is not a sulotion its a patch, AMD needs to support the lastest X.org and the latest kernel.
i am not willing to roll back just beacuse AMD dosent get theyr stuff right :/
at this point anything that does not work with 3.8 kernel its not worth my time.

exactly: i don't want to sacrifice all the stuff i'd be missing with sticking with old versions of things just for stupid fglrx, especially when open source radeon works fine for most of my games.
John Noob doesn´t play ranked Feb 26, 2013 @ 5:07pm 
there is a PPA that install 13.1-legacy and downgrade X without all this commands but hurray! you have achieved it! (I would become crazy discovering all this steps) ;)
CanisMajoris Feb 26, 2013 @ 8:07pm 
Hey I did most of your guide already but when installing the ati driver I couldn't install it cause it said it needed superuser to do it.what do I do?
pepe33l Feb 26, 2013 @ 8:27pm 
The real fix when you are having incompatibilities with kernels / X server is to patch manually, use an older version and/or wait for someone else to patch the package. Reinstalling is *NEVER* a "fix". This isn't windows.
@everest: use sudo, kdesudo, gksudo or whatever sudo you have in your system.
Healer_LFG Feb 26, 2013 @ 9:26pm 
Originally posted by everest:
Hey I did most of your guide already but when installing the ati driver I couldn't install it cause it said it needed superuser to do it.what do I do?

You forgot the magic word: sudo. Prefixing your command with that tells your computer to run it in root as a superuser. Also, make sure you have Synaptic package manager closed. Synaptic runs in root, and root doesn't like having more than one thing in it at a time.
Last edited by Healer_LFG; Feb 26, 2013 @ 9:26pm
Healer_LFG Feb 26, 2013 @ 9:38pm 
Originally posted by John McClane:
there is a PPA that install 13.1-legacy and downgrade X without all this commands but hurray! you have achieved it! (I would become crazy discovering all this steps) ;)
Yeah, the PPAs never worked for me for some reason. I added the PPA headers, but the packages were never found (yeah, I made sure that I ran update/upgrade before I tried to install the packages). I hunted for a solution, but I didn't find one. The package names were right there on the PPA site, but when I used
sudo apt-get install PACKAGE_NAME
The package was never found. I tried both the Ubuntu-X PPA, and the Xorg-Edgers PPA, and neither worked for me. Every guide for doing so had the exact same steps, and I followed each one precisely, with the same errors every time.
pepe33l Feb 27, 2013 @ 3:29pm 
Did you add the ppa keys? or, did you use apt-add-repository to add the ppa?
Kamikaze Feb 27, 2013 @ 3:46pm 
Healer LFG - very well done guide for someone with only a weeks Linux experience! I believe you'll learn to love this O/S as so many of us already do - you've definitely got the spirit of a tinkerer :P Hope you stick with it.
CanisMajoris Feb 27, 2013 @ 7:02pm 
where do I add "sudo" to
Kamikaze Feb 27, 2013 @ 7:29pm 
@everest - you put "sudo " (all lowercase, and without the quotes) before a command to tell the system you want to execute the command following it, as a SuperUser. I'd recommend reading up on some newbie guides to Linux / Ubuntu if you couldn't guess that from some of the previous examples.
CanisMajoris Feb 27, 2013 @ 7:59pm 
Okay I managed to download the driver but when checking additional drivers the dot next to my frlgx drivers is not green
pepe33l Feb 27, 2013 @ 8:37pm 
@everest, did you restart the machine after installing the driver? are you sure the driver was installed correctly?
Healer_LFG Feb 27, 2013 @ 10:38pm 
Originally posted by pepe33l:
Did you add the ppa keys? or, did you use apt-add-repository to add the ppa?
I used add-apt-repository to add the ppa. I even ran an dit-upgrade after that, and it still found nothing new.
Healer_LFG Feb 27, 2013 @ 10:40pm 
Originally posted by everest:
Okay I managed to download the driver but when checking additional drivers the dot next to my frlgx drivers is not green
Ok, did you install it using the commands? you have to restart afterwards. Once you restart, pull up your terminal and type
fglrxinfo
and tell me what it says.
Showing 1-15 of 33 comments
< >
Per page: 15 30 50
Date Posted: Feb 26, 2013 @ 9:16am
Posts: 33