Installing the Proprietary AMD Catalyst 14.4 (fglrx) Driver on Fedora 20 (with kernel 3.14!)

Update:

Be sure to check out the next post in this series for the latest information on version 14.9 of the Catalyst (fglrx) driver for Linux.  The short story is: no patch is required for the new driver.  You can simply download and execute the .run file once you have met the prerequisites described below (including the removal of GNOME, unfortunately).

Introduction:

So, if you’ve been following the recent post on the AMD Catalyst 14.4 (fglrx) driver for Fedora 20, you know that we (thanks, Duane!) seem to have discovered the solution to installing Catalyst 14.4 (fglrx) on Fedora 20 with the latest Fedora kernel (3.14.3-200.fc20.x86_64).  It initially seemed that AMD had dropped support for kernel versions beyond 3.11 (see the “System Requirements” section about half-way down the page), and that may still be the case, but the Catalyst 14.4 driver installs successfully on Fedora 20 with kernel versions through 3.13.10-200.fc20.x86_64 (see here for instructions, but you’ll probably want to read on for the instructions for overcoming the incompatibility with the latest Fedora 20 kernel; if not, update your kernel!  Sheesh!).  Of course, it could also be a simple typographical error on behalf of AMD, since the 14.4 Release Candidate claims support for kernel versions through 3.13 (again, see the “System Requirements” section near the bottom of the page).

On Fedora 20 with kernel versions 3.14.2-200.fc20.x86_64 and above, however, the Catalyst 14.4 driver (as well as the Release Candidate) will not install successfully, but will fail with the following error:

Building module:
cleaning build area...
cd /var/lib/dkms/fglrx/14.10/build; sh make.sh --nohints --uname_r=3.14.2-200.fc20.x86_64 --norootcheck...(bad exit status: 1)
[Error] Kernel Module : Failed to build fglrx-14.10 with DKMS
[Error] Kernel Module : Removing fglrx-14.10 from DKMS

------------------------------
Deleting module version: 14.10
completely from the DKMS tree.
------------------------------
Done.
[Reboot] Kernel Module : dracut

To overcome this error, I tracked down a post in fedoraforum.org wherein one “leigh123linux” proposes a resolution to the issue with a simple patch (at first glance, it appears merely to instruct the code’s check for the kernel version to return success for kernel versions 3.14 and above).  A friendly Linux troubleshooter by the name of Duane commented on my post regarding the matter and finished the research I had started by locating and verifying the patch.

Prerequisites:

There are two major prerequisites for the AMD Catalyst 14.4 driver on Fedora 20.  The first is to meet the package requirements, and the second is to run a desktop environment other than GNOME (I use KDE).

Package Requirements

As stated by the “installer.html” document provided by the driver, the prerequisites are as follows:

  • GCC version 3.3.3 or higher.
  • Kernel headers or kernel sources matching version of the kernel you’re running.
    Please consult to documentation for your distribution how to get and install this.
  • XFree86 version 4.1.X, 4.2.X, 4.3.X, or XOrg version 6.8.X (Fedora 20 does not use XFree86) or higher.

Heed the warning:

  • If you have multiple version of X Window System installed on your computer the installer will try to detect the default X, and install the driver for the detected version. However, you could experience problems trying to run other versions of X after this. Also, if your X Window System is installed into a nonstandard location, installation of the driver could be either problematic or incomplete.

With a fully up-to-date Fedora 20 installation, perform the following command to acquire the requisite packages:

yum install gcc kernel-headers

It may be that kernel-devel is necessary too; let me know what you find.

GNOME Alternative

Unfortunately, the code included with GNOME 3.10 to allow for experimental Wayland support conflicts with the proprietary AMD Catalyst driver.  Attempts to boot into GNOME with the driver installed will result in a startup failure.  I hope AMD resolves this matter since Wayland is on its way to becoming mainstream, but in the meanwhile, remove GNOME and install KDE (other desktop environments may work as well, but that’s what I’m using and I have verified that it works properly):

#Update – This command was originally written with “GNOME Desktop Environment” rather than “GNOME Desktop.”  It appears the group name has been updated since the writing of this article, though I have not confirmed that hypothesis.  Anyway, the correct command is below:

sudo yum groupremove “GNOME Desktop”
sudo yum install @kde

You will then need to ensure that your machine boots using the KDE Desktop Manager (KDM).  To do that, see this post and follow the instructions at the beginning.  Once you’ve reached the part which reads “Now, when you reboot, you should see the KDM login manager,”  return to this post and follow the instructions which begin immediately below:

Installation Instructions:

(I will assume that you download the driver and the patch into the Downloads directory in your home directory):

1)  Download the AMD Catalyst 14.4 (fglrx) driver from AMD’s site.

Note:  If you are running a high-end AMD APU (such as the A10-6800k Richland 4.1 GHz model), you should consider installing the AMD Catalyst 14.4 Release Candidate driver instead.  See this post for details on the huge performance improvement (over 30%) I have observed in my system.

2)  Download Leigh123linux’s patch.

If you can’t reach the link for the patch, you can create a simple file (3.14_kernel.patch is the file name used by the rest of the instructions) with the following content:

--- lib/modules/fglrx/build_mod/firegl_public.c
+++ lib/modules/fglrx/build_mod/firegl_public.c
@@ -1784,7 +1784,11 @@ KCL_TYPE_Uid ATI_API_CALL KCL_GetEffecti
 #else 
 
 #ifdef current_euid
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)
+    return __kuid_val(current_euid());
+#else
     return current_euid();
+#endif
 #else
     return current->euid;
 #endif

3)  Change your working directory to your ~/Downloads directory and extract the amd-catalyst-14-4-linux-x86-x86-64.zip file (it will extract into a directory named fglrx-14.10.1006 in the current working directory):

cd ~/Downloads
unzip amd-catalyst-14-4-linux-x86-x86-64.zip.

4)  Change your working directory to the fglrx-14.10.1006 directory and extract the driver file:

cd fglrx-14.10.1006/
sh amd-driver-installer-14.10.1006-x86.x86_64.run --extract

Here, you’ll see a message which reads something like:  “Created directory fglrx-install.wIhzk3” and then “Verifying archive integrity… All good.” followed by a “Uncompressing AMD Catalyst(TM) Proprietary Driver-14.10.1006” followed by a lot of dots.

5)  Now, you should see a newly created folder called fglrx-install.whateveryourcomputernamedit (mine, for example, was fglrx-install.wIhzk3).  Move into the “common” subdirectory and use the Linux patch command to apply Leigh123linux’s patch file to the kernel:

cd fglrx-install.wIhzk3/common
mv ~/Downloads/3.14_kernel.patch ./          #this is not necessary, but I do it for sanity's sake
patch -p0 < 3.14_kernel.patch

If you are successful, you will see “patching file lib/modules/fglrx/build_mod/firegl_public.c” across your terminal.

6)  Now that you’ve patched the installation package, run the installation:

sudo ../ati-installer.sh 14.10 --install

7)  Follow the Setup wizard (simple, just hit “Continue” and  “I Agree” and “Continue.”

8)  Reboot your machine and enjoy!

Special thanks to Duane and Leigh123Linux!  Let me know if you have any issues with this process and I’ll be glad to assist.

This entry was posted in Information Technology and tagged , , , . Bookmark the permalink.

118 Responses to Installing the Proprietary AMD Catalyst 14.4 (fglrx) Driver on Fedora 20 (with kernel 3.14!)

  1. Boon says:

    This is work for me! Good detail and easy to follow. Thank you so much.

  2. Gerard H. Pille says:

    Would anyone have a copy of Leigh123linux’s patch? I can’t seem to get to the Fedoraforums.

  3. Gerard – I’ve included the text of the patch file in the post with an update I made today. You should be able to simply copy it and paste it into a file to be used with the process I detail.

    Boon – Glad to be of service! This is what open source is all about.

  4. Duane says:

    Version 14.6 Beta of the Catalyst driver was released by AMD today.

    This version like the last fails to install on Fedora 20 with the 3.14 kernel.

    The patch and instructions on this blog will work with the new Catalist 14.6 Beta driver with a few small changes to the procedure as listed below.

    Step 4:
    cd fglrx-14.20
    sh amd-driver-installer-14.20-x86.x86_64.run –extract

    Step 6:
    sudo ../ati-installer.sh 14.20 –install

    I installed the 14.6 Beta driver and it seems to be working well. I have done very little testing though.

    bitwiseoperator: Thanks for all of your work writing up these very clear and helpful instructions.

  5. Sweet, dude, thanks for the information. I appreciate all your work, as well! It’s been a good team effort.

    In addition, you haven’t done any benchmarking, by chance, have you? I’m interested in seeing if I maintain superior performance using the Catalyst 14.4 RC driver.

    • Duane says:

      Unfortunately I have not done any benchmarking on any of the drivers. My benchmarking consists of loading Left for Dead 2 on Steam to see if the stuttering has been fixed. Cant seem to find the solution to the stuttring. The game seems to run fine except that it will randomly stutter (Sound and Video).

      I did notice that since installing the 14.6 Beta driver my “desktop” machine the desktop seems more snappy. Hard to quantify it but the windows seem to be more fluid, and dragging and scrolling seem faster. I am running the current KDE 4 in Fedora 20.

      I also have a “gaming” machine that is still on 14.4. Maybe I will try installing the Phronix benchmark and test it on 14.4.1006 before upgrading to 14.6 Beta. I can then compare the difference between 14.4 and 14.6 Beta.

      • Interesting. What hardware are you running, if you don’t mind me asking? Do both your non-gaming and gaming machines exhibit this stuttering issue? Given my A10-6800k APU, I do feel some significant frame rate drops during scenes with lots of action in L4D2. Sometimes this can cause the sound to stutter slightly, but it’s rare. I presume from your concern, however, that your symptoms aren’t expected to be the result of a simple hardware bottleneck?

      • Duane says:

        The stuttering occurs on both of my machines. I am beginning to think it is the game and not my computers. Both machines have pretty good CPU’s, lots of memory and one has a Radeon 7830 and the other a R280X. You can see the specifications of the gaming machine in the benchmarks below.

        I ran a few benchmarks on my machine to see if there was any difference in the performace between the Catalyst 14.4.1006 release driver and the Catalyst 14.6 Beta Driver. The results are nearly the same. If anything the 14.6 Beta is slightly slower than the 14.4.1006 Release Driver.

        http://openbenchmarking.org/result/1405303-PL-AMDR280XC23
        http://openbenchmarking.org/result/1405316-PL-AMDR280XC19

        These benchmarks probably wont help you as I did not test the 14.4 RC Driver and my computer has a descrete video card and not an APU.

      • Yeah, that’s some nice hardware. Without software issues, I wouldn’t expect any sort of trouble for you with L4D2. There must be either driver or L4D2 issues.

        Thanks for the benchmark work there; I wasn’t expecting any real performance improvement between 14.4 and 14.6 (it appears to be largely a bug fixing release, with a handful of bugs addressed), so it’s good to have that confirmed. My to-date unreplicated (though thoroughly tested and found to be consistent in my environment) performance improvement has been with the 14.4 Release Candidate driver (14.4, not 14.4.1006). I’m still using the 14.4 RC driver because I experience over 30% performance gains (which is crazy).

        I’ll still run some benchmarks of my own to see if perhaps, for my APU, the performance gains have been merged back into the 14.6 driver. My sad guess, however, is that no one is aware of this issue. Maybe I should see if I can submit the data to AMD somehow…

  6. Andrew says:

    So awesome, thanks for this!

  7. kristof says:

    hello everyone, i want to ask if this patch only works for fedora or can it be used on other distributions?I’ve tried it from arch but i’ve got the same error from the installer (not supported hardver)

  8. Le Rebelle says:

    Well done !!!
    upgraded to kernel 3.14.4.200 today….patched and installed amd proprietary driver…all work fine !!

    Nice job !

    Many thanks !!

  9. Dani says:

    Hi ! I just tested the solution listed above. Works like a charm. Fedora 20 (latest update available), kernel-3.14.5-200, driver (version 14.10) patched exactly as listed, but I used Cinnamon because I just don’t like KDE. Instant success !

    Thanks a lot!

  10. Miku says:

    I installed it but it still had some errors at the end, how could i test that it works corectly.

    • Miku – could you post the error(s) you received? I generally boot Steam up to test my configuration (it complains about OpenGL if the Catalyst driver is not installed properly). You can also check out your system journal (journalctl -r) and look for anything related to AMD, ATI, Catalyst, fglrx, etc. If there are problems with the driver, generally your system will not successfully boot into graphical mode, though, so if you ran the installation routine and rebooted successfully into graphical mode, it’s probably working properly.

      Post your error(s) for further analysis, though.

      • miku says:

        I got it working i reinstalled and now i got it working.
        thnx

      • Duane says:

        You can also run the following command to see if the fglrx driver is loaded and running.

        glxinfo | grep direct

        Checks to see if Direct Rendering is enabled. If it is then the fglrx driver is loaded and running. if not then the kernel module is not loading properly and direct rendering will be unavailable. The desktop will still run but will probably be very slow.

  11. Kuba says:

    GUYS, YOU ROCK! I spent 2 days working on how to fix it, and i followed the whole topic you mention, but here everything is explained as clear as possible. AllUpperCase Thanks So Much EndOfAllUppedCase 😀

  12. marquiz says:

    Hi, Im not very expertise on this matters. My problem is that I have
    AMD Radeon HD 8750M
    Fedora 20
    Kernel 3.13.9-200.fc20.x86_64
    kernel-headers-3.14.7-200.fc20.x86_64

    As far as I understood the only way is to uninstall gnome and install kde ?? right ?
    What about having kernel 3.13 and kernel-headers 3.14 ?? how can I make them match ?

    The brilliance of my laptop screen is burning my eyes and because of the drivers lack I cant get the brillance level down (the keyboard keys dont work)

    Thanks

    • Marquiz –

      You may have multiple versions of the kernel installed, so you’re seeing mismatched kernel-headers and kernel packages. You shouldn’t have kernel headers for a version of the kernel which you do not have. I recommend running sudo yum update to ensure you’re fully up-to-date. If you still see this sort of mismatch after doing that, I’d simply uninstall the current kernel-headers package (sudo yum erase kernel-headers), reboot, and install the kernel-headers package again (sudo yum install kernel-headers) once you’re rebooted into a clean environment running the latest kernel version (you’re currently on 3.13.9-200.fc20.x86_64 and you should be on 3.14.7-200.fc20.x86_64 – you’re pretty far behind).

      Let me know how it goes. For your other questions, yes, you need to uninstall GNOME and install another desktop environment – KDE is what I use and recommend, but others have reported successfully using Cinnamon and XCDE.

  13. Hello, everyone. I have a problem with my external graphic. When I installing, wizard show dialog message that is ” your graphic adapter is not support by this driver. Installation will not process”.
    #lspci | grep VGA
    00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)

    01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] (rev ff)
    Please help me.

    • Hoàn –

      It looks to me like your machine may be detecting your Integrated GPU on your Intel Processor and failing as a result. More research is required, but it may be that you’ll need to somehow prevent that integrated GPU from being detected and/or supported by drivers in your operating system in order to force the Catalyst driver to detect your ATI Whistler. Another option might be to find a way to specify the GPU to the AMD Catalyst driver at installation. I’ll be thinking about the issue – sorry I don’t have an immediate answer. It’ll be hard for me to troubleshoot because I don’t have a similar environment (I run only an AMD A10-6800k APU).

    • Edward Wayne says:

      Guys, I also followed the tutorial and it all went flawlessly, like a charm! At first I was incredibly happy, finally I will be able to use my beloved Linux! But then, after the restart and the successful installation when Fedora booted from Grub it started loading those three lines in the bottom, as it is in the safe mode and after the lines loaded a black screen appeared and froze, as well the Caps Lock and the Scroll Lock were pinging all the time until I restarted my PC. Now this is nothing new to me, since I got the upgrade of this PC ~ an year now, I am unable to use Linux on it. If the driver installation does not fail, I get to that frozen black screen and only Caps Lock and Num Lock pinging till end of time.

      I was all hyped especially about this guide ’cause here’s my system specs:
      AMD A10-6800K
      Asrock fm2a55m-vg3
      1×2 & 1×4 GB 1600 MHz Kingston HyperX

      Every setting on this is stock. After the failure of this guide, which apparently works for the APU, I’m all desperate for ever running Linux on this box. :/

      • Edward Wayne says:

        Uhh, that must had been in the bottom, not in other guy’s post, my apologies.

      • Edward Wayne says:

        I used Mate, which is based on Gnome, I hope this was the core of my issue!

      • Interesting – let us know how your solution goes!

      • Edward Wayne says:

        Unfortunately … Absolutely the same approach. Installation is flawless, after reboot with the 3.14 Kernel and the proprietary display driver a rescue-like boot initiates and after it’s done a kernel panic occurs. Perhaps it’s for the best wiping Linux from my Desktop. I know it helps nobody, but I lost weeks and tried everything I could dig from the internet trying to make this work, with only 1 result, exactly and precisely the above said one.
        I’m still opened for new suggestions though, I despite the Windows over all and using it is a pain for me.

      • Edward Wayne says:

        Just tried nomodeset and acpi=off … Absolutely the same result.

  14. patb says:

    Thanks so much for this lucid explanation, Duane et al.

    For what it’s worth, I have Debian 7.4.0 and kernel version 3.14 on a HP-Pavilion-TS-11-Notebook-PC. I had the problem “Failed to build fglrx-14.10 with DKMS”. So I patched the package as per the instructions here and everything worked perfectly.

    What is interesting though is that I am actually using Gnome version 3.4.2 and it is working fine. The cautions in the post (which of course refer to the later Gnome version 3.10) do not seem to apply for my setup.

    Cheers, Pat.

    • Glad we could help! Since you’re using a version of GNOME prior to 3.10, your results are expected, though I have also read that other distributions (such as Arch) seem capable of running the Catalyst driver with the most recent version of GNOME.

  15. rakesh p says:

    Still Not Getting installed

    the .log file has the following error

    fglrx installation requires that the system have kernel headers for 3.7 release. /lib/modules/3.14.8-200.fc20.x86_64/build/include/generated/uapi/linux/version.h cannot be found on this system.
    One or more tools required

    done everything asked

    and one thing where to find Xfree86-mesa drivers

    • Rakesh, it sounds like your system is informing you that the kernel-headers package is not installed for the 3.14.8-200.fc.x86_64 kernel. If you execute sudo yum list kernel-headers on your system, what output is generated?

      Also, I’m afraid I must question your “done everything asked” statement, given that you’re asking where to find the XFree86 packages and I explain in the article that Fedora 20 does not use XFree86, so you should not install them. =)

      • rakesh p says:

        Done Everything asked :Followed the procedure step by step as mentioned in the article
        Did execute yum install kernel Headers
        even then i get an error of missing version.h

      • Please execute the command: sudo yum list kernel-headers. Copy your console input and output and paste it into a comment for me so I can see exactly what your system is doing. We should be able to figure this out.

    • Edward Wayne says:

      Just install the kernel-devel packages.

      • Yeah, I saw some other mentions of that helping – I do have kernel-devel installed, but I’m not sure it’s always required. Further testing would be nice – I’ll try to find some time to try it. Let us know how it goes if you try it, Rakesh.

      • Edward Wayne says:

        It’s required at all times to install FGLRX.

  16. masingan says:

    I found this error too.

    fglrx installation requires that the system have kernel headers for 3.7 release. /lib/modules/3.14.8-200.fc20.x86_64/build/include/generated/uapi/linux/version.h cannot be found on this system.

    but, I solute this error installing kernel-devel.

    #yum install kernel-devel

  17. Good post. I learn something new and challenging on blogs I stumbleupon every day.
    It will always be exciting to read articles from other writers and practice a
    little something from their sites.

  18. Jonathan Day says:

    I just got this to work also on OpenMandriva. Seems that I’ll have to do it every time there’s a kernel upgrade, though.

    Thanks!

    • Thanks for the confirmation of success on OpenMandriva! Once you’ve patched the Catalyst driver, your process for updating the kernel should reduce to:

      1) Uninstall the Catalyst driver (aticonfig –uninstall)
      2) Update the kernel and reboot.
      3) Reinstall the patched Catalyst driver (ati-installer.sh 14.10 –install)

      So you won’t have too much work each time.

  19. Mark Rushing says:

    Thanks for this! And yes, the package “kernel-devel” is required as well.

  20. Kodiak says:

    Does this work with XFCE & LightDM? That’s my preferred environment.

  21. Kodiak says:

    Kernel-devel is required.

  22. JR says:

    Hi,

    I’ve tried your method to install the driver on a 3.15.8-200.fc20.x86_64 kernel and get the following result:

    1st- an error followed by a crash of the X-Server when a wanted to see the error log from the GUI. After, when I tried to see the log from the console it was in binary format and I can’t post here wich was exactly the cause of it.

    2nd- starting a new shell with root I executed the uninstall script and was able to execute startx with success. KDE worked well and without errors.

    3rd- At the next boot 3.15.8-200 kernel was unable to start X-Server, nor a new terminal session can execute startx.

    4th- rebooting the system with the previous kernel (3.15.7-200) starts normally and gets into graphic mode.

    5th- listing the /boot I’ve seen that the initramfs-3.15.8-200 was changed, so I removed and reinstalled the 3.15.8-200 kernel but getting no positive result, it means there is anything corrupted on the graphic system related to this kernel. I don’t know yet.which config or library is causing the problem.

    • Sorry to hear of your troubles, but I’m not sure which error log you attempted to view that you found in binary format. Is the log file to which you are referring /var/log/Xorg.0.log? These files should not be binary files, but simple text which is easily readable to locate the error message being thrown with the X server crashes. Additionally, I’m not sure why a reboot (step 3 in your list) following an apparently successful uninstallation (step 2 in your list) would result in issues. The relevant /var/log/Xorg.0.log entries might help us figure this out.

  23. Ali says:

    Thanks a loooooooooooooooot man! even much more!
    I am currently migrating from windows to linux and after two week of reading/researching and experimenting linux inside virtual machine finally i started switching to Linux but after 10 time re-installation and trying different DEs etc finally I realized my card is not supported by ATI OS driver(always on cpu rendering) , tried to install proprietary driver and failed … , after about 30 hour headache finally i decided to switch back to windows , but suddenly i found this page and installed the driver
    Hello *nix world !

  24. Alexander says:

    Thanks! It works for me with 3.15 kernel.

  25. daniel1919 says:

    your graphics adapter is not suppoerted by this driver …how come ?
    00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
    01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Thames [Radeon HD 7550M/7570M/7650M] (rev ff)

    • You know, I’ve seen this before; it appears to be a result of your Intel processor’s on-die GPU being detected first by the driver installer. The driver installer software therefore thinks that you don’t have an AMD GPU, despite the fact that you clearly have a Radeon HD 7550M/7570M/7650M graphics adapter. I have yet to discover a work-around for this (it’s hard for me to work on it myself since I don’t have a similar configuration on which to work). Let me know if you discover one.

      • Roumano says:

        If your bios allow it, try to disable switchable graphics on it, you will be able to install it after.
        For me i was able to install it (but got a black screen on gdm without error)

      • Andrew says:

        I am having the same problem with an Intel i7 4710HQ & AMD 8850M (aka R9 M265X).

        I have tried going through all the scripts and trying to find a place where it selects index 0 in display adapter and was going to change it to index 1,but I found no such occurrence.

        Any help would be much appreciated.

      • Andrew says:

        It is a UEFI and I don’t see an option to disable it. I guess I have to switch to Ubuntu again (which I’m not too happy about at all). Really hope AMD gets Catalyst working right on Fedora again. I don’t see the point in having an awesome graphics card if you are going to just use Mesa which only supports like OpenGL 3.3 (the 8850M supports GL 4.4 and maybe 4.5 if they get it all figured out).

    • daniel1919 says:

      I don not have UEFI enabled

      • Can you disable the Intel graphics in your BIOS? I doubt you have any use for it given the presence of your Radeon card. If you can just prevent Fedora from detecting it, I’m sure that’d solve your problem. Sadly, I don’t have a system on which I can test solutions for this problem (as I said previously), but I’d go with the BIOS solution first and then, if that doesn’t work, perhaps vgaswitcheroo?

  26. Anton says:

    Hey there!

    Thank you for the article.

    Unfortunately, even though I follow your steps and install the drivers without any error, after reboot my KDE desktop does not load. And KDM start and street magic with .xinitrc does not help. I have r9 290 gpu and 3.14-2-amd64 kernel.

    When I uninstall the drivers and reboot – kde works fine again. Now I’m thinking whether I could do smth additional to be able to start kde after installing the drivers or maybe the reason could be in the fact they I’ve been trying to install the drivers for about 3 days and have installed a lot of (junk?) pkgs like: build-essential cdbs dh-make dkms execstack dh-modaliases linux-headers-generic fakeroot libqtgui4 lib32gcc1 etc. I’m very new to linux and can not understand whether these pkgs could “harm”.
    Can you give any advice? Shall I fully re-install the system and use your method? should I up- or downgrade the kernel?

    Thanks!

    • Hey, sorry to hear of your troubles. I assume you’re using Fedora 20? If that’s the case, I’m not sure why your kernel is so out of date (we’re up to 3.16.2-200.fc20). If you’ve been installing a ton of stuff and you have no idea what you’ve been doing, and if it’s not much trouble for you, I’d reinstall the entire OS. Once you do that, bring it fully up to date (yum update), and then follow the procedure I’ve detailed – if you’re using Fedora 20, there is no reason of which I can think for it not to work. I’ve received only a few reports of specific issues (such as having an Intel graphics processor alongside the AMD GPU), and if you run into a failure, do let me know.

      If you don’t want to reinstall your entire OS, I’d try to go back over the things you’ve tried over the last three days and undo what you did. That might prove difficult if you’re very new to Linux, but it’d be a good learning experience, I’m sure.

      • Anton says:

        hey!

        Thanks for the reply! I forgot to say that I have Debian 8 (‘jessie’). Ok I’ll think of reinstalling

      • Ah ha! Well, this is specifically written for Fedora 20 (as the title implies), but various folks have informed me that the same process (referring to the most important part: applying the patch to the driver and installing it) works on Ubuntu (which is derived from Debian).

        So, it’s hard for me to tell what might be wrong with your system (I have very little experience on Debian or related Linux distributions – all my Linux time is spent in Fedora/Red Hat Enterprise Linux/CentOS). A good general rule of system administration thumb, however, is that one should try to keep a good record and understanding of what has happened to one’s system, and if you find that you’ve performed a whole slew of actions which you did not thoroughly understand, especially when it comes to trying to get low-level stuff like drivers to work, you might consider reinstalling. I recommend keeping a log of your administrative actions so that you can look back on it for solution ideas if things aren’t working properly.

  27. Anton says:

    OK so eventually, even after re-installation of the OS I would see black screen of the terminal after reboot. KDE simply did not want to start.

    Nevertheless, I solved the problem by installing the new firmware. For those of you guys who just need a correct screen resolution – try downloading and installing firmware-linux-nonfree_0.43_all.deb
    I use debian “jessie”, kernel 3.14-2-amd64, ati radeon r9-290.

    Anyways – a big thanks and respect to the author. I see that the article does helps a lot of people!

  28. Chroohn says:

    Greetings.
    I tryed to install the amd driver on f20 3.16.3 but got an black screen after x starts with no errors in Xorg.0.log .
    I also ‘tryed’ to remove GNOME but it returns with ‘No environment named GNOME Desktop Environment exists’. No idea what thats about and google also only shows howto install but not unistall that thing. I hopped just login on Cinnamon may help but well. Iam using Linux distro’s for some years now and lately each version gets worse and iam not very experienced at it. I just want something stable for programming. Does someone knows howto fix that problem ?

    • Hey man, I’m pretty sure the problem is that your system is still running the GNOME Desktop Environment. It looks like they might’ve updated the package name, so now you do yum groupremove "GNOME Desktop" rather than yum groupremove "GNOME Desktop Environment". I’ve updated the blog entry to reflect what appears to be a recent update to the name of the group. Try seeing if you have the group installed (yum grouplist "GNOME Desktop" will show you if it’s installed or merely available). If you do, boot your system and when the screen goes black (where it should load the GNOME Desktop Manager) press Ctrl+Alt+F2 to get into another non-graphical terminal. From there, log in, execute aticonfig --uninstall and reboot when prompted. Then, you should be able to get back into your system, and follow the directions in the post to install the driver.

      Let me know if that doesn’t work out for ya.

  29. Gil says:

    Hi people,
    The patch worken fine on my Fedora 20 till kernel 3.15-8
    I updated this wik to kernel 3.16.2 and the kernel module does not compile again.
    Have you got this issue too ?

    • No, I don’t have that same experience. When you say “the kernel module does not compile again,” do you mean that the “ati-installer.sh 14.10 –install” command fails? You shouldn’t have to patch the lib/modules/fglrx/build_mod/firegl_public.c file every time you install the driver (providing you’re reinstalling from the same folder to which you applied the patch initially).

  30. jtuadmin says:

    thank you very match! Patch work with kernel 3.16 too!!!

  31. Gil says:

    Hi
    So I left the sources of the amd driver already patched as of kernel 3.15 and I let the dkms installer do the job as previously, and I get this error message in sh.make.log:

    Building modules, stage 2.
    MODPOST 1 modules
    FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol ‘__static_cpu_has_safe’
    make[2]: *** [__modpost] Erreur 1
    make[1]: *** [modules] Erreur 2
    make[1] : on quitte le répertoire « /usr/src/kernels/3.16.3-200.fc20.i686+PAE »
    make: *** [kmod_build] Erreur 2
    build failed with return value 2

    where am I wrong ?

    Thx

  32. Gil says:

    Hi

    tried again with the new 14-09 release of the proprietary driver.

    It works fine with the 3.15* kernel but nothing to do with the 3.16 😦

  33. Kjeld Flarup says:

    The latest release 14.9 9/29/2014 from AMD contains the patch, and it installs with no complaints. However when I start I get this error in Xorg.0.log

    [ 30.562] (II) Loading sub module “fglrxdrm”
    [ 30.562] (II) LoadModule: “fglrxdrm”
    [ 30.562] (II) Loading /usr/lib64/xorg/modules/linux/libfglrxdrm.so
    [ 30.562] (II) Module fglrxdrm: vendor=”FireGL – AMD Technologies Inc.”
    [ 30.562] compiled for 1.4.99.906, module version = 14.30.4
    [ 30.567] ukiDynamicMajor: failed to open /proc/ati/major
    [ 30.567] ukiDynamicMajor: failed to open /proc/ati/major
    [ 30.567] (**) fglrx(0): NoAccel = NO
    [ 30.567] (**) fglrx(0): AMD 2D Acceleration Architecture enabled
    [ 30.567] (–) fglrx(0): Chipset: “AMD Radeon HD 7600M Series” (Chipset = 0x6840)
    [ 30.567] (–) fglrx(0): (PciSubVendor = 0x1179, PciSubDevice = 0xfb41)
    [ 30.567] (==) fglrx(0): board vendor info: third party graphics adapter – NOT original AMD
    [ 30.567] (–) fglrx(0): Linear framebuffer (phys) at 0xb0000000
    [ 30.567] (–) fglrx(0): MMIO registers at 0xc2000000
    [ 30.567] (–) fglrx(0): I/O port at 0x00003000
    [ 30.567] (==) fglrx(0): ROM-BIOS at 0x000c0000
    [ 30.567] (EE) fglrx(0): failed to map MMIO register space!(EE) fglrx(0): MapMMIO failed
    [ 30.567] (EE) fglrx(0): PreInitAdapter failed
    [ 30.567] (EE) fglrx(0): PreInit failed
    [ 30.567] (II) fglrx(0): === [xdl_xs114_atiddxPreInit] === end
    [ 30.569] (II) UnloadModule: “fglrx”
    [ 30.569] (II) UnloadSubModule: “fglrxdrm”
    [ 30.569] (II) Unloading fglrxdrm
    [ 30.569] (II) UnloadSubModule: “vgahw”
    [ 30.569] (II) Unloading vgahw
    [ 30.569] (II) UnloadSubModule: “fglrxdrm”
    [ 30.569] (EE) Screen(s) found, but none have a usable configuration.
    [ 30.569] (EE)
    Fatal server error:
    [ 30.569] (EE) no screens found(EE)

    Any ideas what is wrong.

    • Kjeld Flarup says:

      After disabling secure boot it started up – but alas the screen was black.

      • Man, sorry about that one – I don’t have any ideas at the moment, but I will let you know if I can think of something. Post back if you come up with something, yourself. Have you tried uninstalling the module completely (as I recommend to Gil, I use the aticonfig –uninstall command for this purpose), rebooting cleanly, ensuring that the module is entirely uninstalled (check to make sure the aticonfig –uninstall command returns an error indicating that the aticonfig command cannot be found), ensure your system is fully updated, and then try it again, ensuring you don’t receive any errors during the installation process?

  34. Gil says:

    So I thought that te patch had to be installed with this version of the driver too. So I patched a file already patched.
    I’ll try again.

  35. Gil says:

    So, I tried to install with the automatic installer the 14-09 driver, together with the last 3.16.4.200 (32 bits) kernel
    I get the same error:

    Building modules, stage 2.
    MODPOST 1 modules
    FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol ‘__static_cpu_has_safe’
    make[2]: *** [__modpost] Erreur 1
    make[1]: *** [modules] Erreur 2

    Thanks in advance for any help 🙂

    • Gil –

      Are you sure you have executed aticonfig --uninstall, received notice that the uninstallation process completed successfully, and rebooted cleanly afterwards prior to attempting this installation?

    • Duane says:

      This problem seems to be related to the 32bit 3.16 fedora kernel.

      I have installed the Catalist 14.9 on multiple 64bit machines with the 3.16 kernel and have had no problems.

      Tonight when I tried installing the Catalist 14.9 driver on a 32bit fedora install with the 3.16 kernel it failed with the following error :

      FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol ‘__static_cpu_has_safe’

      I even tried installing the driver with the fedora-testing kernel version 3.16.7 and the ati installer fails with the same error.

      Booted the machine with the 3.15.10 kernel and driver intalls and works well.

      I plan on doing some more testing and will post here if I am able to find a solution.

    • Duane says:

      I managed to get the Catalyst 14.9 driver working with the Fedora 20 32 bit 3.16 series kernels with the help of the Arch Linux AUR repository. It seems that the Arch Linux guys have dealt with this issue already.

      Here is the link for reference : https://aur.archlinux.org/packages/catalyst-hook/

      They have included a patch to fix the driver license compatibility. The driver will not build because the driver claims that it is Proprietary and tries to call a part of the kernel that is supposed to only be for GPL code. That is my limited understanding of the problem.

      Here is the patch that they use :
      ********COPY BETWEEN THESE LINES *******
      — 13.1/common/lib/modules/fglrx/build_mod/firegl_public.c 2013-01-15 22:33:27.000000000 +0100
      +++ 13.1/common/lib/modules/fglrx/build_mod/firegl_public.c 2014-08-18 20:05:44.327520475 +0200
      @@ -250,7 +250,7 @@
      #endif

      #ifdef MODULE_LICENSE
      -MODULE_LICENSE(“Proprietary. (C) 2002 – ATI Technologies, Starnberg, GERMANY”);
      +MODULE_LICENSE(“GPLProprietary. (C) 2002 – ATI Technologies, Starnberg, GERMANY”);
      #endif
      #ifdef MODULE_DEVICE_TABLE
      MODULE_DEVICE_TABLE(pci, fglrx_pci_table);
      ********COPY BETWEEN THESE LINES *******

      You can copy the patch save the file and apply the patch to the extracted Catalyst 14.9 driver. You can then install the driver and the kernel module will build successfully.

      Here are the instructions to change the driver source file and install the driver manually:

      1) Download driver from AMD web site.
      2) Unzip driver.
      unzip amd-catalyst-14-9-linux-x86-x86-64.zip
      3) Change directory to the driver folder.
      cd fglrx-14.301.1001
      4) Extract the driver.
      ./amd-driver-installer-14.301.1001-x86.x86_64.run –extract
      5) Change directory to the extracted driver folder. The folder name is random so yours will be different.
      cd fglrx-install.nifw7k
      6a) Edit source file manually method.
      vi ./common/lib/modules/fglrx/build_mod/firegl_public.c
      Find and change the following line:
      MODULE_LICENSE(“Proprietary. (C) 2002 – ATI Technologies, Starnberg, GERMANY”);
      to
      MODULE_LICENSE(“GPLProprietary. (C) 2002 – ATI Technologies, Starnberg, GERMANY”);
      6b) Apply patch method.
      Save the patch above to a file in the extracted driver folder.
      eg: fglrx-14.301.1001/fglrx-install.nifw7k/patch
      Apply the Patch.
      patch ./common/lib/modules/fglrx/build_mod/firegl_public.c < patch
      7) Install the driver. Has to be installed as root user.
      ./ati-installer.sh 14.301 –install

      The driver should build the kernel module and install properly.

      • Gil says:

        Thanks Duane,
        I’ll try it asap and let you know what.
        ++

      • Gil says:

        Finally I got an error:

        Here’s may patch file:
        — 13.1/common/lib/modules/fglrx/build_mod/firegl_public.c 2013-01-15 22:33:27.000000000 +0100
        +++ 13.1/common/lib/modules/fglrx/build_mod/firegl_public.c 2014-08-18 20:05:44.327520475 +0200
        @@ -250,7 +250,7 @@
        #endif

        #ifdef MODULE_LICENSE
        -MODULE_LICENSE(“Proprietary. (C) 2002 – ATI Technologies, Starnberg, GERMANY”);
        +MODULE_LICENSE(“GPLProprietary. (C) 2002 – ATI Technologies, Starnberg, GERMANY”);
        #endif
        #ifdef MODULE_DEVICE_TABLE
        MODULE_DEVICE_TABLE(pci, fglrx_pci_table);

        and here’s the error message:

        $ patch -u < /download/ati14-09/firegl_public_c.patch
        patching file firegl_public.c
        patch: **** malformed patch at line 11: MODULE_DEVICE_TABLE(pci, fglrx_pci_table);

        I believe that the patch should be cut before the last line, but I would like you to confirm.

        Thx

      • Gil says:

        Hi again

        Finally I tried to do the change by hand as said but always the same error 😦

        Sorry

      • Gil says:

        Finally here we go !
        I made the changes in the file firegl_public.c by hand (that is more easier than with the patch), I ran the installer from within the fglrx-install.blabla directory.
        DKMS did the job.
        And the good syntax in effect in this line is:
        “GPL_\_0_Proprietary. (C) 2002 – ATI Technologies, Starnberg, GERMANY”);
        of course without the 3 underscores
        Thanks a lot agein Duane !

      • Duane says:

        No problem. Glad to hear you got it working. Sorry about all the confusion caused by the original post removing the escape characters. I am wondering if a space may have worked instead of a null. I will try a space the next time I have to install it for a new kernel. Hopefully AMD fixes it in the next release, then we wont have to jump through hoops to get it working.

    • Duane says:

      Here is the patch again. Maybe there was a carriage return or something on the last line.

      — 13.1/common/lib/modules/fglrx/build_mod/firegl_public.c 2013-01-15 22:33:27.000000000 +0100
      +++ 13.1/common/lib/modules/fglrx/build_mod/firegl_public.c 2014-08-18 20:05:44.327520475 +0200
      @@ -250,7 +250,7 @@
      #endif

      #ifdef MODULE_LICENSE
      -MODULE_LICENSE(“Proprietary. (C) 2002 – ATI Technologies, Starnberg, GERMANY”);
      +MODULE_LICENSE(“GPLProprietary. (C) 2002 – ATI Technologies, Starnberg, GERMANY”);
      #endif
      #ifdef MODULE_DEVICE_TABLE
      MODULE_DEVICE_TABLE(pci, fglrx_pci_table);

      After you edited the file manually and saved it. Did you run the installer from the extracted folder? The main installer wont work as it will just extract another copy of the driver and use that to install and not the version that you edited.

      ./ati-installer.sh 14.301 –install

      What error were you getting? Same as before?

      • Duane says:

        Oops. I just looked at the patch again. It looks like the copy and paste to the forum took out the excape sequence for the null between “GPL” and “Proprietary”. You probably also have to take off the “13.1/” from the first 2 lines of the patch as you are in the correct folder, the Arch guys put theirs in a 13.1 folder.

        If manually editing just put “GPL” before the Proprietary.

        Should look like:

        MODULE_LICENSE(“GPLProprietary. (C) 2002 – ATI Technologies, Starnberg, GERMANY”);

        Sorry for all the confusion. I must have been half asleep when I posted last night.

      • Duane says:

        Lets try this one more time. The forum keeps getting rid of the escape codes.

        The following should be added to the string just before Proprietary.
        GPL\0
        Line should look like :
        MODULE_LICENSE(“GPL\0Proprietary. (C) 2002 – ATI Technologies, Starnberg, GERMANY”);

      • Duane says:

        Still not working in the post.
        “GPL” then “\” then “0”

      • Duane says:

        The small “o” is actually a zero.

      • Duane says:

        You can also download the tarball from the AUR link in the original post to get the patch file.

  36. Gil says:

    No I did a /usr/share/ati/uninstall.sh. Is there some difference ?

    • Well, once difference is that I’ve never uninstalled the driver using that script directly. It may well be called by the aticonfig utility, but it may also be the case that the aticonfig utility does other important things as well. If you try to execute the aticonfig --uninstall command in your operating system’s current state, what happens? There shouldn’t be any harm in trying it, and it might resolve the matter.

      Also, if you don’t mind, could you reply to these comments directly so that we maintain a single thread for the same subject? Just an organizational request – no big deal.

    • Ahh, Gil, I think I know what’s causing your trouble. I didn’t notice the menu options at the installer (I’m not sure how long I’ve not noticed them). You should choose “Install Driver 14.301.1001 on X.Org 6.9 or later 64-bit” rather than “Generate Distribution Specific Driver Package (Recommended).”

  37. Gil says:

    So I tried again everything, including the aticonfig –uninstall command and I get always the same thing:
    The driver runs fine on the 3.15 kernel (32 bits) and it is impossible to make it run on 3.16 kernel.

    😦

    • Well that is a bummer, man, and I’m sorry to hear it. If I had a 32 bit system on which to test, I’d do my best to help you out. I presume you are, but are you sure that your processor won’t support a 64 bit architecture? I haven’t had a 32 bit processor in over a decade.

  38. Gil says:

    I does of course, it is a Core i7 920 proc.
    But I don’t want to change for the 64 bits OS because there are a lot of apps of third parties which are delivered only in 32 bits arch. So that needs everytime to install the 32 bits libraries after having spent time to search which ones are missing ;).
    But I’m sure that one day or another one, the driver will work. Till this I keep the choice to work with 3.15+catalyst or 3.16+radeon.
    Thanks a lot to you.

    • Well, glad I could help. I would definitely recommend running the x86_64 version of Fedora 20, which does support 32 bit applications, though, as you note, this does require some seeking of missing dependencies on occasion. Nonetheless, it’d get you around this problem and give your system more power and versatility. But even if you choose to remain with a 32 bit OS, I applaud your optimism. =)

  39. ozgur bas says:

    Hi, I have tried to follow steps described here, but something missing on my computer. Please help, install log says that “Supported adapter detected.
    Check if system has the tools required for installation.
    fglrx installation requires that the system have kernel headers for 3.7 release. /lib/modules/3.11.10-301.fc20.x86_64/build/include/generated/uapi/linux/version.h cannot be found on this system.
    One or more tools required for installation cannot be found on the system. Install the required tools before installing the fglrx driver.
    Optionally, run the installer with –force option to install without the tools.
    Forcing install will disable AMD hardware acceleration and may make your system unstable. Not recommended.”

    • ozgur bas says:

      $ uname -r
      3.11.10-301.fc20.x86_64

      • ozgur bas says:

        rpm -q kernel
        kernel-3.11.10-301.fc20.x86_64
        kernel-3.16.6-200.fc20.x86_64

        ========================================
        ]# yum install gcc binutils make kernel-devel kernel-headers dkms libstdc++ libgcc fontconfig freetype zlib
        Loaded plugins: langpacks, refresh-packagekit
        Package gcc-4.8.3-7.fc20.x86_64 already installed and latest version
        Package binutils-2.23.88.0.1-13.fc20.x86_64 already installed and latest version
        Package 1:make-3.82-19.fc20.x86_64 already installed and latest version
        Package kernel-devel-3.16.6-200.fc20.x86_64 already installed and latest version
        Package kernel-headers-3.16.6-200.fc20.x86_64 already installed and latest version
        Package dkms-2.2.0.3-28.git.7c3e7c5.fc20.noarch already installed and latest version
        Package libstdc++-4.8.3-7.fc20.x86_64 already installed and latest version
        Package libgcc-4.8.3-7.fc20.x86_64 already installed and latest version
        Package fontconfig-2.11.0-2.fc20.x86_64 already installed and latest version
        Package freetype-2.5.0-5.fc20.x86_64 already installed and latest version
        Package zlib-1.2.8-3.fc20.x86_64 already installed and latest version
        Nothing to do

      • It looks like this is your problem right here. Your other output demonstrates that you have kernel-headers and kernel-devel installed for kernel 3.16.6-200. This is correct. However, the output from uname -r shows that you are currently running your environment with kernel version 3.11.10-301. Your rpm -q kernel output shows that you have both kernel 3.11.10-301 and 3.16.6-200 installed on your system.

        Why are you running kernel 3.11.10-301? If you intend to run your system with that kernel version, you’ll need to install kernel-devel and kernel-headers for 3.11.10-301, and not 3.16.6-200. I don’t recommend this, of course. My recommended solution is to boot your system with kernel 3.16.6-200 and install the driver. However, if you have some good reason for using 3.11.10-301, you won’t be able to do that.

        So why are you using kernel 3.11.10-301?

  40. Gil says:

    One more time, guys !

    This time I have just updated to kernel 3.17.2-200.fc20.i686+PAE and after installing it, dkms tryed to compile the kmod for the catalyst driver and there is again a new error that is:

    CC [M] /var/lib/dkms/fglrx/14.301.1001/build/2.6.x/firegl_public.o
    CC [M] /var/lib/dkms/fglrx/14.301.1001/build/2.6.x/kcl_acpi.o
    /var/lib/dkms/fglrx/14.301.1001/build/2.6.x/kcl_acpi.c: In function ‘KCL_ACPI_Slot_No_Hotplug’:
    /var/lib/dkms/fglrx/14.301.1001/build/2.6.x/kcl_acpi.c:845:21: erreur: ‘struct acpi_device_flags’ has no member named ‘no_hotplug’
    tdev->flags.no_hotplug = true;
    ^
    make[2]: *** [/var/lib/dkms/fglrx/14.301.1001/build/2.6.x/kcl_acpi.o] Erreur 1
    make[1]: *** [_module_/var/lib/dkms/fglrx/14.301.1001/build/2.6.x] E/kcl_acpi.orreur 2
    make[1] : on quitte le répertoire « /usr/src/kernels/3.17.2-200.fc20.i686+PAE »
    make: *** [kmod_build] Erreur 2
    build failed with return value 2

    So it seems that there is something wrong with the kcl_acpi.o file…

    and if someone… aso… thx

    • Duane says:

      Have not tried this on 32 bit fedora, but it works on 64 bit fedora.

      Extract the driver:
      amd-driver-installer-14.301.1001-x86.x86_64.run –extract

      Change to the extracted folder. Random folder name.
      cd fglrx-install.5QoSI9

      Edit the offending source file.
      vi ./common/lib/modules/fglrx/build_mod/kcl_acpi.c

      Comment out the following line. It is line # 845.
      // tdev->flags.no_hotplug = true;

      Install the driver.
      ./ati-installer.sh 14.301.1001 –install

      I wish AMD would get their stuff in order so that we dont have to keep doing all this.

  41. Gil says:

    YESSSSSSSSSS !
    It works fine also for me.
    Duane, that is not the AMD’s fault: in effect, every new Fedora kernel that comes out includes some new modifications which prevents the compilation of the kernel.
    And the Fedora staff never matter which issues can happen with third parts softs.
    Thanks Duane and see U for the next kernel 🙂

  42. BS86 says:

    also works on linux mint and therefore on ubuntu (64 bit) 😉

  43. Greatful anon says:

    <3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3<3 You kind sir are amazing. RMA my card becuase its broken, I get it back and 4 hours of different drivers and kernel versions until I decided to look it up, found this page and it's working. I'm so happy! 3rd monitor has been ordered. I cant wait.

  44. pranav says:

    OMG you’re life saver thank you soo much

Leave a comment