Installing the Proprietary AMD Catalyst 15.7 (fglrx 15.20) driver on Fedora 22 with Linux Kernel 4.0.6

UPDATE:  See the next post in the series for a consolidated patch allowing installation of the driver using Linux kernel version 4.1.3!

Warning:  While the procedure below appears to ultimately succeed (and it seems confirmed to work beyond my system by steel’s comments on the last post),

  1. SDDM (the Simple Desktop Display Manager; successor to KDM) seems to freak out, presenting a white screen with some black smudgy artifacts in the upper left.  I can still enter my password and see my mouse cursor, though.
  2. Once I get beyond SDDM, KDE works…except only one of my monitors was recognized initially.

The latter problem (2) seemed to be a result of the /etc/X11/xorg.conf file provided by the new driver installation.  Fortunately, old xorg.conf files are preserved by the fglrx installation process, so I just copied my latest /etc/X11/xorg.conf.fglrx-# file (where # is some integer) back to /etc/X11/xorg.conf and rebooted, and that solved that problem; both monitors are now recognized and working properly.

As for (1), I’m working on a solution, but I thought I’d warn everyone so they aren’t disappointed if it happens to them.  These instructions produce a workable result, but not yet exactly right.

Update:  It looks like this may simply be a problem with my local configuration, as steel confirms that he is using SDDM and KDE without experiencing the problems I describe above, though he is experiencing other problems.  I’m hopeful I can resolve the issue.

Process Development Summary

Hey, AMD has released a nice updated AMD Catalyst 15.7 driver based on that 15.20 fglrx iteration released as a .deb package for Ubuntu!  The glorious part for us Fedora users: it supports’s X11 Server version 1.17, which is used on Fedora 22!  No longer do we need to downgrade the server to make use of the latest officially released Catalyst driver.  So, below, find the instructions for installation of the latest Catalyst 15.7 driver on Fedora 22 with kernel version 4.0.6-300.fc22.x86_64.

The process retains much of its content from past processes, but with the following new changes:

  1. Continuing to adopt open source modifications, it would appear, AMD has integrated a couple of modifications made to the firegl_public.c file described by two stanzas previously included in the ultra-2.patch file.  As a result, I have removed those stanzas from the new Catalyst157.patch file provided below.
  2. The downgrade to’s X11 Server 1.16 is no longer required!  Hooray!

As I wrote last time, the new Fedora KDE Plasma Desktop Spin is wonderful, and I have taken the release of Fedora 22 as an opportunity to conduct a fresh OS installation.  I store all of my data on a central server (nfsv4 + autofs = woot) and maintain administrative familiarity with my software, so blowing away and reinstalling the OS is no problem.  Honestly, I recommend a rebuild if you’re well organized and it’s not too big of a headache.  A fresh OS is nice.

Prerequisite Discussion

Universal Package Prerequisites

Remaining yet unchanged, the general prerequisites are:

  • 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.
    • Note this is the protocol version, and not the server version discussed above and below.

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 22 installation, perform the following command to acquire the requisite packages:

dnf install gcc kernel-headers kernel-devel

Fedora 22 Products and the Proprietary AMD Catalyst Graphics Driver

Update:  As Mike points out below, it appears the Catalyst driver merely fails to work with GDM, but it will support GNOME if some additional installation steps are followed.  It appears all you must do is that which is documented in the “do not reboot after the installation” section and the subsequent “save it replace it” section.  I would look into this myself and integrate it into these instructions if I weren’t running the KDE Spin, but feel free to ask any questions that may arise during the process or confirm that it works for others as Mike did in the comments below.

But if you don’t want to do that, I encourage you to install the Fedora 22 KDE Plasma Desktop Spin (or any non-GNOME spin to your liking).

Installing the kde-desktop-environment With Fedora 22

If you REALLY don’t want to reinstall your OS entirely, and you don’t want to try the GNOME solution above, you can execute

dnf group install "KDE Plasma Workspaces"

And it’ll probably work.  I haven’t tested this yet (I’ll spin up a Fedora 22 Workstation VM soon), but make sure you use SDDM (the successor to KDM) as your Desktop Manager ’cause the GNOME Desktop Manager (GDM) breaks with the Catalyst driver, as well..  You can try following the procedure I laid out in the original post on this subject way back in March of 2014; let me know if it doesn’t work for you. Once you’ve set yourself up with KDE and SDDM in some fashion (just install the Spin), you’re in good shape to simply install the driver as described below.

Installation Instructions

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

2)  Change your working directory to your ~/Downloads directory and extract the file:

$ cd ~/Downloads
$ unzip

3)  Extract the run archive:

$ sh --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-15.20.1046″ followed by a lot of dots.

4)  Now, you should see a newly created folder called fglrx-install.whateveryourcomputernamedit (mine, for example, was fglrx-install.wIhzk3).  Change your working directory appropriately and apply the Catalyst157.patch.

$ cd fglrx-install.wIhzk3
$ mv ~/Downloads/Catalyst157.patch.doc ~/Downloads/Catalyst157.patch  #WordPress does not permit me to upload a .patch file, so I add the .doc extension to lazily get around that restraint
$ mv ~/Downloads/Catalyst157.patch ./          #this is not necessary, but I do it for sanity's sake, to keep the patch file with the patched code as a reminder
$ patch -p0 < Catalyst157.patch

If you are successful, you will see the following output:

patching file common/lib/modules/fglrx/build_mod/firegl_public.c
Hunk #1 succeeded at 4498 (offset 30 lines).
Hunk #2 succeeded at 4517 (offset 30 lines).
Hunk #3 succeeded at 4548 (offset 30 lines).
Hunk #4 succeeded at 4566 (offset 30 lines).
patching file common/lib/modules/fglrx/build_mod/kcl_str.c

5)  As Jacob Yates points out, one must copy the version.h header file into the build directory for the current kernel version:

$ sudo cp /usr/include/linux/version.h /lib/modules/`uname -r`/build/include/linux/

6)  Now that you’ve patched the installation package and copied the header file needed to build the module, run the installation:

$ sudo ./ 15.20 --install

7)  Choose the “Install Driver 15.20 on X.Org 6.9 or later 64-bit” option from the Setup Wizard, and then simply follow the prompts. Ensure that you do not select “Generate Distribution Specific Driver Package (Recommended)”.  This will only work if you use one of the officially supported Linux distributions listed on AMD’s site (Fedora is not included).

8)  Reboot your machine and enjoy!

Properly Maintaining your Catalyst Implementation

Being a custom kernel module, you unfortunately must rebuild the Catalyst driver every time you upgrade the kernel version or, in some cases, other GPU-dependent packages (like mesa).  The surefire way to tell that you need to reinstall your driver is a notice from Steam (for example) that

OpenGL GLX context is not using direct rendering, which may cause performance problems.

The solution to this issue is to uninstall your driver, reboot, reinstall it, and reboot.  Don’t wait for this error to pop up after kernel upgrades, however, because you’ll probably just see a black screen and have to enter a CLI terminal to uninstall the driver.

General Guidelines

Before every kernel upgrade:

1.  Uninstall the driver

$ sudo aticonfig --uninstall

2.  Reboot

$ shutdown -r now

3.  Upgrade your system

$ sudo dnf upgrade

4.  Reboot

$ shutdown -r now

5.  Reinstall the driver

$ cd /driver/location/fglrx-install.wIhzk3   #Keep your patched driver files around and ready to go!
$ sudo ./ 15.20 --install

It’s not so bad, but it adds a little burden.  I hope to design a DKMS solution which automatically handles this for you, but I haven’t gotten to it yet.


Remember, if you see this message:

“Your Graphics adapter is not supported by this driver. Installation will not proceed”

Check out the post to which that link sends you for a potential resolution for your problem.  You probably have an Intel CPU with an on-die Haswell GPU combined with a Radeon GPU, but let me know if you don’t, or if you encounter an issue that that post doesn’t resolve.

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

135 Responses to Installing the Proprietary AMD Catalyst 15.7 (fglrx 15.20) driver on Fedora 22 with Linux Kernel 4.0.6

  1. steel says:

    Hey, I’m also using KDE Plasma 5 with SDDM. Didn’t noticed your Problems on a (full-hd) dual-head configuration when I first used 15.20 series extracted from ubuntu. Some weeks ago I switched to two 4k monitors connected through DisplayPort. With the new setup the automatic configuration was broken and I also needed to set up a xorg.conf with “aticonfig –initial=dual-head”.

    However since my new setup after standby only one monitor is working, the other one is deactivated and only a reboot can fix that. Thought it’s due to the high resolution or the connection through DisplayPort. Did you experienced this problem also? Have you connected your monitors with DisplayPort or HDMI and DVI?


    • Ah, thanks for the valuable information. Nice dual 4k setup! I, too, tried to remedy my lack of a second recognized display by running the aticonfig –initial=dual-head command, but to no avail; the system continued to refuse to recognize the second monitor even after a reboot. For what it’s worth, I’m using a dual-monitor configuration with one monitor connected via DVI and the other via VGA. Copying an old xorg.conf file resolved my issue, as I wrote above.

      I’ll be working on the SDDM matter today – thanks for the correction, by the way! I’ve been calling SDDM “KDM” for a while now..

  2. Guys, is it really the case that each kernel upgrade will $%^& driver? 😦 If that would not be the case, I would install it, but… fedora kernels are updated quite frequently….

    • That’s my understanding. It’s really not that big of a deal, especially given the benefits of the proprietary driver in terms of performance. I’d say it adds 5 minutes to your Fedora 22 dnf upgrade process once every two weeks or so.

      I simply can’t play any games using my Richland APU (A10-6800K) with the open source RadeonSI driver, but I can play quite a lot of games with the Catalyst driver. If I recall correctly, Phoronix benchmarks show the RadeonSI driver lagging behind by at least 25%, if not 50% in terms of frames per second when compared with the Catalyst driver.

      • Oh, … man … yes, performance. I am just afraid I will forgot about this and when I will see Mesa crash I will think I have screwed up some DevOps work instead of simple Kernel upgrade event… 🙂 Oh .. anyways, yes, I will do it. RadeonSI is slow as bitch…

      • Maybe there is some possibility to trigger these commands ( in the form of one single *.sh ) “automatically” if dnf did upgrade the kernel? Maybe there is some hook assets to be used?

  3. Sev says:

    So, the glx error can be fixed by installing steam and updating it fully before you install the ATI Drivers. I read it on an ubuntu forum while I was reading your previous post on getting the drivers to install on Fedora22. Just adding to the post carry on the good work as always much appreciated.

    • Hmm, well I’m always running the latest, up-to-date Steam installation, but sometimes I find the Catalyst driver breaks for a small variety of reasons (almost always due to package upgrades – usually the kernel, but sometimes Mesa or something else related to the Catalyst driver). I was simply pointing out that the GLX error is usually an indicator that one of these reasons has caused breakage, and reinstallation is the proper way to remedy it. It looks like your comment somewhat hints at the same thing.

  4. Mike says:

    I combined your install + this
    to get this working on Gnome. I am using the lightdm as per the fed21 guide link states and everything is working fine. I did have to reinstall the steam client to get the games to run properly though.

  5. Bob Coles says:

    I have the same white screen problem. Running “journalctl -o verbose -b -p err”, which prints out systemd journal errors for the current boot it says:
    “MESSAGE=SELinux is preventing sddm-greeter from ‘unix_read, unix_write’ accesses on the semaphore Unknown. For complete SELinux messages. run sealert -l 7fb35be2-ad5b-40f1-a143-f1265e4bb110”

    Running the sealert program it says:
    “If you believe that sddm-greeter should be allowed unix_read unix_write access on the Unknown sem by default.
    Then you should report this as a bug.
    You can generate a local policy module to allow this access.
    Do allow this access for now by executing:
    # grep sddm-greeter /var/log/audit/audit.log | audit2allow -M mypol
    # semodule -i mypol.pp”

    I am not sure if this is a bug somewhere else or if I should grant sddm-greeter access to semaphore “unknown”.

    • Hey man, good find – thanks for the heads up. The Catalyst driver has had problems with SELinux in the past, so this isn’t too surprising. I’ll look into this as soon as I can. SELinux is an awesome beast which I love, but it can certainly require some deep knowledge to make sense of it.

  6. Bob Coles says:

    I tried granting permission to sddm-greeter, but the “not permissioned” error keeps occurring. I don’t know if this is the problem or not.

  7. Bill C says:

    Very helpful article! I have the AMD driver up and running on Fedora 22.

    Ran into the same white login screen problem. I confirmed it’s SELINUX by disabling it, and got the login screen back. I re-enabled SELINUX, ran the audit2allow/semodule exercise 3 (or 4?) times, and that seems to have fixed the problem.

    • Bob Coles says:

      Thanks @Bill C for being more persistent than I was. I tried running audit2allow/drmodule a few more times and now my F22 KDE installation works properly too.

  8. Sev says:

    Confirmed that AMD Drivers do install using the fix posted above with gnome. I accidentally updated my kernel not looking at the updates and broke my KDE install. So, I gave the gnome one a go. Follow Bitwise’s instructions upto this step “sudo ./ 15.20 –install” after the install DO NOT REBOOT then go to the other guide and follow the directions towards the end where it says Gnome-XFCE and take it from there. You should be all set. ScreenCap. I’m sure we all appreciate all the ongoing work and information everyone has been contributing. Going to show off linux gaming at tomorrow’s LAN Party.

  9. GUYS! RPMFusion posted dropbox repo!!! TEST TEST TEST TEST TEST!!!!

    • iUser says:

      As much as I understand from their…conversation, it’s much safer for now to read the guide here and “tackle” (what?!) with Terminal instead of installing package with eyes closed which may not do it properly. Remember that RPMFusion packages were properly prepared for Kernel they are facing, probably without all those patching rituals. Fedora is racing Kernels like crazy while AMD is taking it easy (still on 3.19 as of today). Also the packaging rules before something bumps into the repository are quite stiff to ensure as much as possible that everything works fine. It’s not Windows after all, people actually CARE here about stability xD

      • Yeah, I think I agree with iUser here; I post the guide because it represents the most effective and elegant custom solution (I don’t want to call it something so uncharitable as a hack, but I can see why someone might call it that) to the problem which I can find/develop. I want the process to be completely transparent to those who would implement it, and that transparency is gone with a package from some random repo (especially one provided by an angry Internet denizen such as this “leigh scott” character).

        I have no idea whose repository that is or what’s been packaged up and offered. I don’t install packages from anywhere but the most trusted sources, and this just doesn’t meet that requirement.

      • Agreed to both iUser and bitwiseoperator comment here. All the credibility was lost because this repo was provided by this ‘leigh scott’ character; Jet … sandbox machine and just straight forward Fedora 22 Installation and catalyst installation might be worth it.. :).

  10. iUser says:

    I have two little questions just in case before I will attempt to use the guide (yeah I’m paranoic sometimes).
    1) What is SDDM? I suspect it’s Desktop Environment but which one?
    2) I believe that before I will use the guide I should restore XOrg version properly to latest one from Fedora 22?

    Thank you for advance and have a nice day~!


    • 1) As written in the article around the first time SDDM is mentioned, it’s the successor to KDM. If you install the KDE Spin for Fedora 22, it comes with SDDM.
      2) Yeah, undo the downgrade performed in the previous guide. Just go back to the previous guide and reverse all the steps. Basically, clear the Fedora 21 repositories from your /etc/yum.repos.d directory, remove the exceptions from the repository files for the Fedora 22 repositories in /etc/yum.repos.d, and then perform a complete dnf upgrade; ensure that the Xorg server components are upgraded to version 1.17.

      • iUser says:

        Oh~ KDE succesor, seems like I’m outdated with KDE infos 😛
        Okay then, I will perform update ASAP and report back the success ^_^
        Once again thank you very much for great guide 🙂

      • iUser says:

        Dang, Kernel 4.0.7 is not co-operating on that one. After reboot it goes to black-screen while loading (on some Job Plotter or whatnot in verbose mode). Uninstalling the Catalyst in classic way and rebooting gets me back safely to the graphical login screen (MESA-powered I believe). I will try to downgrade somewhat Kernel do 4.0.6 or use previous most up-to-date Kernel, the 4.0.4 (not found, yeah I like that joke).

        Of course there is always a chance I did something wrong, but I tried to follow the guide as close as possible (including the additional steps to restore XOrg properly).

  11. You should use the RPMFusion akmod system and make packages for Fedora in RPMFusion for those of us who want/need the Catalyst driver!

  12. Leigh Scott says:

    The dropbox repo has the same packages as F21 pending

    The dropbox repo packages are also gpg signed

    sudo dnf config-manager –add-repo=
    dnf install akmod-catalyst

  13. Damon says:

    Any working metod for kernel 4.1 or 4.1.2?

  14. @Leigh Scott, thanks for finally pointing it out. It was wayyy better than being douchbag at the package request…. 😉

  15. I successfully installed Catalyst 15.20 following these instructions on my machine with 290x and Fedora 22 KDE spin. Your efforts are much appreciated.

    Got much better Unigine Valley benchmark results than with the stock open-source Radeon driver.

    However, I observe severe graphical corruption in Google Chrome, slow graphics redraw in Inkscape and other applications. Had to roll back to Radeon driver.

    • Hmm, bummer. Did you check your journal for AVC denials? The Catalyst driver has been known to have some SELinux issues, so if you’d like to troubleshoot those issues, you might try temporarily disabling SELinux, rebooting, and then reinstalling the driver just to see if the issues persist or are cleared up.

      • I have SELinux disabled (this is one of the first things I do after Fedora installation).

      • Ah, ok, good information. For what it’s worth, I humbly recommend learning to use SELinux and keeping it properly implemented on your system; it’s one of the finest security systems available to us, if you ask me. Thanks for the report, though!

  16. Josh Bee says:

    I have Intel/AMD hybrid and when using the dedicated GPU (as appears to be default) my xorg crashes. If I use aticonfig –px-igpu it works fine using the intigrated. Any Suggestions? I have a Lenovo y40 with AMD Radeon R9 M275
    Log file

    • So, were you able to complete the installation successfully and without any DKMS error notifications during or after the installation process? If so, did you have to use the method in which you specify the radeon.runpm=0 kernel argument at boot before installing? If so, what happens during the crash? Does your system simply boot to a black screen?

      • Josh Bee says:

        I did have to use the radeon.runpm=0 to get the installer to detect the card. I got a success message upon install and the log shows no DKMS errors. When it boots to sddm I just get an _ cursor at the top left. I can Ctrl+alt to another vty however (how I got playing and found out using the –px-igpu works)

      • Some folks have run into SELinux issues with SDDM; you might try an experimental disabling of SELinux to see if that has any impact. We won’t keep it disabled, mind you; it’s just a quick and simple way to confirm or reject the hypothesis. I’d set SELinux to permissive, reboot, and if you see SDDM without issue, check for and document AVC entries in the systemd journal. We can then figure out the right way to cause SELinux to permit whatever access is required and restore SELinux to its targeted mode of operation.

      • Josh Bee says:

        Should have mentioned I already set SELinux to permissive once I read about that problem and it is still in that state

      • Ah, ok – interesting…wonder what’s going on here.. Did any previous installations of the Catalyst driver work for you? If so, did you try restoring the /etc/X11/xorg.conf file from one of the previous successful iterations (stored with .fglrx-# suffixes in that same X11 directory)? I had to do that, myself, to get my config straight.

      • Josh Bee says:

        I just got this laptop a few weeks ago and as such have never had a working Catalyst driver on it (been successful with complete AMD systems in the past this is my first intel/amd hybrid). I was able to follow a guide to have some applications run on the dedicated card using the open source driver. (I believe it was by using xrandr to sink to the Intel card) but performance/stability was lacking to say the least (general rendering problems on apps running on that card)… Do you think maybe trying older drivers (and applying appropriate patches) would have a chance of working? (slow connection at home or i’d try tonight, have to do downloads while at work)

      • Josh Bee says:

        not sure why that last comment didn’t use my G+ but It was me, not an imposter

      • Haha, no worries. I doubt an older driver would work since the newer driver offers the best support for Fedora 22 and its accompanying Xorg X11 Server version 1.18. I mean, you could try installing Fedora 21 and using the latest driver for it, since it was more stable and problem free, but I’d hate to resort to that or go through the burden of a reinstallation (which may or may not be that burdensome depending on your situation).

        Given where you ended up, I take it you iterated through all the options you could with the aticonfig command? aticonfig –initial? Did you try using xrandr to output the native display options for your laptop and manually set the display to fit that resolution?

      • Josh Bee says:

        Yeah tried pretty much all that. Guess I’ll just wait until the next update to try again.
        Thanks for trying to help.

  17. Sharevari says:

    Don’t work with kernel 4.0.8

  18. HH says:

    Hi, I’m getting this error after intalling (with no errors) and rebooting:

    [ 290.216] (EE) fglrx(0): failed to map MMIO register space!(EE) fglrx(0): MapMMIO failed
    [ 290.216] (EE) fglrx(0): PreInitAdapter failed
    [ 290.216] (EE) fglrx(0): PreInit failed


  19. HH says:

    Fedora 22, catalyst 15.7, put SELINUX on Permissive mode, but nothing …


  20. HH says:

    ATI Radeon HD 7970, AMD FX-8350 CPU, and 15.6 GB DDR3 RAM. Running on KDE Plasma 5.3.2 with kernel-4.0.8-300.fc22.x86_64 …

  21. HH says:

    Forgot to mention ASUS CROSSHAIR V FORMULA-Z motherboard. In the past I had some issues with SELINUX, but I don’t think is the case now. Did try with SELINUX in permissive mode, also tryed with version selinux-policy-3.13.1-128.8.fc22 and also selinux-policy-3.13.1-122.fc22, but with no positive results.

    Did download everything again (Catalyst157.patch and the AMD driver), did check if I made the copy of version.h (and I did), and still get the same:

    1) The driver installs flawlessly, no error messages whatsoever … Well, these two warnings:

    (zenity:26436): GLib-GObject-WARNING **: The property GtkMisc:xalign is deprecated and shouldn’t be used anymore. It will be removed in a future version.

    (zenity:26436): GLib-GObject-WARNING **: The property GtkMisc:yalign is deprecated and shouldn’t be used anymore. It will be removed in a future version.
    Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

    2) After reboot I enter the decrypting password for the hard disk and that’s it, I get the MMIO message and these:

    [ 290.216] (II) fglrx(0): === [xdl_xs117_atiddxPreInit] === end
    [ 290.217] (II) UnloadModule: “fglrx”
    [ 290.217] (II) UnloadSubModule: “fglrxdrm”
    [ 290.217] (II) Unloading fglrxdrm
    [ 290.217] (II) UnloadSubModule: “vgahw”
    [ 290.217] (II) Unloading vgahw
    [ 290.217] (II) UnloadSubModule: “fglrxdrm”
    [ 290.217] (EE) Screen(s) found, but none have a usable configuration.
    [ 290.217] (EE)
    Fatal server error:
    [ 290.217] (EE) no screens found(EE)
    [ 290.218] (EE)
    Please consult the Fedora Project support
    for help.
    [ 290.218] (EE) Please also check the log file at “/var/log/Xorg.0.log” for additional information.
    [ 290.218] (EE)
    [ 290.221] (EE) Server terminated with error (1). Closing log file.

    But that’s just the end of Xorg0.log …

    I’ve tried everything I know so far, sorry for not being more helpful.


  22. HH says:

    Ok, did revert to kernel-4.0.6 and tried it again, but same result. Looks like an update, but cannot find which (too tired, up to my nose looking at dnf history). I tried to manually load it with modprobe fglrx, but fired:

    modprobe: ERROR: could not insert ‘fglrx’: Required key not available


  23. HH says:

    Confirmed, it also works flawlessly for kernel-4.0.8 in Fedora 22, not so for 4.1.2, didn’t try 4.1.3 (just saw it) nor 4.0.9 (just saw them on bodhi) …


  24. david says:

    Thank you very much, ccc installs fine
    one issue is that now my laptop screen backlight doesn’t work once x starts,
    the light turns off just before the login is displayed. It is on during boot up to that point
    confirmed hardware buttons (fn+__) are adjusting backlight settings with
    xrandr -q –verbose

    Not your problem, seems like it might be an asus thing or maybe my card
    model asus b43s
    card 6470m
    there are random discussions online but none that provided a solution that worked

    ps: on this laptop the bios setting to enable linux amd driver actually recognizing the video card is called operating system and only choices are windows 7 or other windows version, choose the other windows version

    pps, another difference post amd install – the fedora starting animation has changed from the glowing foot (with open source drivers) to the 3 coloured bar line across bottom of screen (with amd drivers). uninstalling amd changes this back to the glowing foot. Don’t know what this indicates.

    • Have you tried adding “acpi_backlight=vendor” to the kernel arguments at boot? If you don’t know how to do that, I can help you out. Hopefully it works for you; it’s a known solution to the problem you describe in many cases. Let me know if it works for you.

  25. Andrey says:

    So, it not properly work with fedora 22 gnome ?

  26. hckr says:


    I am using kernel 4.0.8-300.fc22.x86_64 and GNOME. I successfully installed the driver following the instructions as @sev did. As I do not want to switch to lightdm from gdm, I activated auto-login for my account(better do it before installing the driver or before the reboot). So I now use fglrx with kernel 4.0.8+GNOME+gdm on Fedora 22. However, I cannot log out and then login using gdm but lockscreen and suspend functions work just fine.

  27. mrod says:

    So for kernel 4.1.2-200, which file has to get patched. When I try installing the patch using
    patch -p0 < kernel_4.1-remove-IRQF_DISABLED.patch

    I get :
    can't find file to patch at input line 3
    Perhaps you used the wrong -p or –strip option?
    The text leading up to this was:
    |— lib/modules/fglrx/build_mod/firegl_public.c 2015-07-04 15:31:23.000000000 +0100
    |+++ lib/modules/fglrx/build_mod/firegl_public.c 2015-07-13 17:22:23.850772235 +0100

  28. Moch Lutfi says:

    after fresh install fedora 22 then follow step by step above instruction but when execute command to copy header not success even using root
    sudo cp /usr/include/linux/version.h /lib/modules/`uname -r`/build/include/linux/

    Note: uname -r already changed with the output.

    • Can you post the input and output from your terminal session?

      • Moch Lutfi says:

        oh my bad, kernel-devel my machine different with current kernel.
        but after successfull install fglrx and follow the step then restart. my screen completely black. I’m already test with gnome fedora and fresh install using KDE with same problem. Thanks.

  29. m.tayeh94 says:

    i have fedora 22 with cinnamon and linux 4.1.3
    can i use this guide to install amd catalyst ?
    Are there any other steps ?
    Thank you 🙂

  30. Henric says:

    Thank you all for the great work. Fedora22 with latest updates as of (2015-08-02) and except sddm issue it works great.

    Please Please Please keep up the good work my computer is pretty much useless without the propiertary drivers.

    // Hence from Sweden

    • =) Glad I could help! I’ll hopefully be working those SDDM issues out soon. I need to sit down and create a new instruction set working that out and combining the various patches into one; hopefully I can do that tonight.

  31. Leigh Scott says:

    You can use the f21 packages

    dnf install akmods kernel-devel
    dnf –releasever 21 install amods-catalyst

  32. ian says:

    is there any way to get dnf warn you if a kernel update is available and eventually exclude those kernel update from the update list?

  33. Cahiakh says:

    Thanks for the installation guide, it works for me, i’m using 4.1.3 kernel with SDDM and XFCE desktop.
    But, there are some problems here :
    i can’t get the tty console (ctrl+alt+F2~) only blank black screen, no text or anything
    and performance issue when playing some HD videos, it runs kinda laggy and the player responds very slow.
    i’m using laptop wtih Radeon HD 6300 with AMD E350 processor.
    is there anyway to fix these problems? please, i’ve been using fedora for long time, and i don’t want to switch to another distro just because of this driver problem
    Greetings from Indonesia 🙂

  34. Hello, i have tried all steps for Fedora 21 linux and i have this result in

    Supported adapter detected.
    Supported adapter detected.
    Detected a previous installation, /usr/share/ati/
    Installation with force option.
    Check if system has the tools required for installation.
    fglrx installation requires that the system have kernel headers. /lib/modules/4.1.3-100.fc21.x86_64/build/include/linux/version.h cannot be found on this system.
    fglrx installation is being forced. Installation will proceed without the required tools on the system.
    Uninstalling any previously installed drivers.
    Forcing uninstall of AMD Catalyst(TM) Proprietary Driver.
    No integrity verification is done.
    restore of system environment completed
    Uninstall fglrx driver complete.
    For detailed log of uninstall, please see /etc/ati/fglrx-uninstall.log
    System must be rebooted to avoid system instability and potential data loss.
    /usr/share/ati/ completed with 0
    [Message] Kernel Module : Trying to install a precompiled kernel module.
    [Message] Kernel Module : Precompiled kernel module version mismatched.
    [Message] Kernel Module : Found kernel module build environment, generating kernel module now.
    AMD kernel module generator version 2.1
    doing Makefile based build for kernel 2.6.x and higher
    rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
    make -C /lib/modules/4.1.3-100.fc21.x86_64/build SUBDIRS=/usr/lib/modules/fglrx/build_mod/2.6.x modules
    make[1]: Entering directory ‘/usr/src/kernels/4.1.3-100.fc21.x86_64’
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_InstallInterruptHandler’:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3501:22: error: ‘IRQF_DISABLED’ undeclared (first use in this function)
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3501:22: note: each undeclared identifier is reported only once for each function it appears in
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: At top level:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:6444:12: warning: ‘KCL_fpu_save_init’ defined but not used [-Wunused-function]
    static int KCL_fpu_save_init(struct task_struct *tsk)
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_InstallInterruptHandler’:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3505:1: warning: control reaches end of non-void function [-Wreturn-type]
    scripts/ recipe for target ‘/usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o’ failed
    make[2]: *** [/usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1
    Makefile:1387: recipe for target ‘_module_/usr/lib/modules/fglrx/build_mod/2.6.x’ failed
    make[1]: *** [_module_/usr/lib/modules/fglrx/build_mod/2.6.x] Error 2
    make[1]: Leaving directory ‘/usr/src/kernels/4.1.3-100.fc21.x86_64’
    Makefile:88: recipe for target ‘kmod_build’ failed
    make: *** [kmod_build] Error 2
    build failed with return value 2
    [Error] Kernel Module : Failed to compile kernel module – please consult readme.
    [Reboot] Kernel Module : dracut

    I have 4.1.3-100 kernel

    [vodolaz095@steel ~]$ uname -rivo
    4.1.3-100.fc21.x86_64 #1 SMP Wed Jul 29 18:59:46 UTC 2015 x86_64 GNU/Linux

    I use LXDE desctop environment

    • Well, the part that immediately catches my eye is: “fglrx installation requires that the system have kernel headers. /lib/modules/4.1.3-100.fc21.x86_64/build/include/linux/version.h cannot be found on this system.”

      Did you follow step 5? The version.h file needs to be in /lib/modules/4.1.3-100.fc21.x86_64/build/include/linux/.

  35. wachumaju says:

    Thanks to everyone here, opensuse and sebastian-siebert I successfully installed catalyst driver 15.7 on Fedora 22 LXDE Kernel 4.1.3. I found a link at pointing to some patches at I applied the amd-4.1.3-kernel-compatibility-fixes-patch then the amd-4.1.0-kernel-compatibility-fixes-patch directly to my previously catalyst157-patched AMD Catalyst Driver 15.7 and it installed without a hitch. I just followed followed bitwiseoperator’s Installation Instructions from up to step 5 then applied the two patches. I did not include the exact links in this comment as I don’t actually know if its allowed by the rules. Thanks again everyone.

  36. Ed says:

    Good job. Worked like a charm on fedora 22 and radeon hd 5450 as in insert the three patches during install….. Its a beauty on my monitor.
    Except now my tigervnc is broken…
    i can connect, so no firewall or selinux issues.
    i get a text terminal but no gnome when connecting with a client on my laptop
    any sggestions?

    • Ed says:

      Some details:

      uname -r
      Linux copper.thread 4.1.3-201.fc22.x86_64 #1 SMP Wed Jul 29 19:50:22 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

      lspci -k | grep -A 2 VGA
      01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cedar [Radeon HD 5000/6000/7350/8350 Series]
      Subsystem: ASUSTeK Computer Inc. Device 03ca
      Kernel driver in use: fglrx_pci

      X.Org X Server 1.17.2

      less /var/log/Xorg.0.log |grep EE
      (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
      [ 63.832] (EE) systemd-logind: failed to get session: PID 1464 does not belong to any known session
      [ 68.870] (EE) fglrx(0): Cannot read int vect
      [ 69.172] (EE) fglrx(0): Cannot read int vect
      [root@copper ~]# less /var/log/Xorg.0.log |grep WW
      (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
      [ 68.038] (WW) Falling back to old probe method for fglrx
      [ 68.548] (WW) fglrx: No matching Device section for instance (BusID PCI:0@1:0:1) found
      [ 69.172] (WW) fglrx(0): GetVBEMode failed
      [ 69.172] (WW) fglrx(0): board is an unknown third party board, chipset is supported
      [ 73.897] (WW) fglrx(0): Option “VendorName” is not used
      [ 73.897] (WW) fglrx(0): Option “ModelName” is not used
      [ 73.897] (WW) fglrx(0): Option “SecurityTypes” is not used
      [ 73.897] (WW) fglrx(0): Option “UserPasswdVerifier” is not used
      [ 73.897] (WW) fglrx(0): Option “PasswordFile” is not used

      Xorg.0.log – vnc
      [ 63.872] (II) LoadModule: “vnc”
      [ 64.405] (II) Loading /usr/lib64/xorg/modules/extensions/
      [ 64.994] (II) Module vnc: vendor=”Constantin Kaplinsky”
      [ 64.994] compiled for 1.17.2, module version = 1.0.0
      [ 64.994] Module class: X.Org Server Extension
      [ 64.994] ABI class: X.Org Server Extension, version 9.0

      playing with …

      xsetroot -solid grey
      vncconfig -iconic &
      xterm -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
      # twm &
      exec gnome-session &
      # fluxbox &
      # exec /etc/X11/xinit/xinitrc

      gets me a vnc connection with “Oops! Something has gone wrong” and a Log out button
      then the xterm if i dont # it

      • Ed says:

        More info:
        as per your article “Configuring the TigerVNC-Server on Fedora 21” i tried adding the lines:
        Load “vnc”

        Option “SecurityTypes” “VncAuth”
        Option “UserPasswdVerifier” “VncAuth”
        Option “PasswordFile” “/home/myuser/.vnc/passwd”
        to the xorg.conf, but that broke both monitor and vnc….
        removing them got me working monitor (including sound via hdmi) and vnc with the oops.

      • Hmmm.. are you typically able to get a graphical VNC session with a geometry of 80×24? That seems pretty strange to me. What happens with a more typical resolution like 1920×1080?

  37. iUser says:

    I have gasped today so much I thought I will inhale too much air…
    There is kmod-catalyst package in RPMFusion repo for newest 4.1.3 Kernel…but for Fedora 21 for now…hopefully Fedora 22 will get package soon(TM)…
    Maybe we are on the right path finally 😀
    Good job for the MESA, but I have more :3
    AMD is working on Vulkan (or Vulcan?) which will be like…OpenGL^3 but better, faster and direct in communication of the hardware…and the best part? It will work on older GPUs as well as long as:
    – GPU can utilize OpenGL 3.1 – Vulkan will work partially
    – GPU can utilize OpenGL 4.x – Vulkan will work in full power

    We are theoretizing with friend that if everything will go nicely, even WINE will get it’s share of speed boost in all manner :3 but that’s theory for now.

    I wonder if I can “hack” (lol no) Fedora 22 to use those kmod packages for Fedora 21 and succeed in it hmhmhmhm…

  38. m.tayeh94 says:

    Please look for any way to install it on the GNOME Shell

  39. derekk says:

    I’ve followed ghe guide on fedora 22 kde, 4.0.6 kernel: all went ok!
    Then i tried to follow same guide with kernel 4.1.3 and i got black screen!
    I’ve reverted to 4.0.6 kernel.
    What can i do?

  40. derekk says:

    no, i haven’t seen it. I’ll give it a try!

  41. Peterr says:

    Hi, I’ve followed every single step of your tutorial of how to install the proprietary amd catalyst 15.7
    But in the end I got this message from fglrx-install.log

    scripts/ recipe for target ‘/usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o’ failed
    make[2]: *** [/usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1
    Makefile:1387: recipe for target ‘_module_/usr/lib/modules/fglrx/build_mod/2.6.x’ failed
    make[1]: *** [_module_/usr/lib/modules/fglrx/build_mod/2.6.x] Error 2
    make[1]: Leaving directory ‘/usr/src/kernels/4.1.3-201.fc22.x86_64’
    Makefile:88: recipe for target ‘kmod_build’ failed
    make: *** [kmod_build] Error 2
    build failed with return value 2
    [Error] Kernel Module : Failed to compile kernel module – please consult readme.
    [Reboot] Kernel Module : dracut

    What did I do wrong?

    I’ve copied all the files exactly like you post it in the tutorial.

  42. Peterr says:

    Hi, but, I thought that will only effective on fedora 21?
    Or it won’t make any difference on fedora 22?
    I’m sorry, I’m new with this fedora and stuffs..

  43. Doyouwannatry says:

    Hello, I am running Fedora 22 Xfce spin with 4.1.6 kernel.
    I just followed your guide without a everything worked without a hitch up until the reference to “do not reboot after the installation” section from the other guide.

    The problem was that the second box’s last command returned an error saying the the offset variable is ”. I ignored the error and continued with the rest of the commands that needed to be updated. Needles to say the Xorg server didn’t load properly after reboot.

    I logged on with runlevel 3, uninstalled the drivers and restarted the system.
    I then went trough the guide again, skipping the unzipping, extraction and patching steps.
    I copied version.h header file and switched to runlevel 3 again.
    I then installed the drivers, and followed the steps from “do_not_reboot_after_the_installation” and “save it replace it” section without any problem.

    I would advise if anyone finds himself in my situation to copy the commands from “do not reboot after the installation” and “save it replace it” sections into a file that you can easily access in runlevel 3. I had to retype them manually, looking from my phone.

    Everything works fine now.
    I have only tested it with fgl_glxgears, because I don’t have any games installed currently on my system. Could you tell me if making fgl_glxgears work is enough to be sure that the driver installation went fine?
    I will download some games and give you an update if there is something else that needs to be done.

    Thank you very much for the guide and the references.

  44. spookyfox says:

    im trying to upgrade, and when I try to uninstall the driver I get: sudo: aticonfig: command not found.

  45. Moch Lutfi says:

    after success install but after restart still black screen. I’m used fedora 22 kde.

  46. Alex says:

    Hello, first of all thanks so much for this guide, I’ve searched for so long and finally made it! However now I have upgraded to Fedora 23 Beta. I still have the old kernels to boot in (4.1.6 and 4.1.5), but I can’t get the installation to work. Here is my error output:

    Supported adapter detected.
    Check if system has the tools required for installation.
    Uninstalling any previously installed drivers.
    Unloading radeon module…
    rmmod: ERROR: Module radeon is in use
    Unloading drm module…
    rmmod: ERROR: Module drm is in use by: ttm drm_kms_helper radeon
    [Message] Kernel Module : Trying to install a precompiled kernel module.
    [Message] Kernel Module : Precompiled kernel module version mismatched.
    [Message] Kernel Module : Found kernel module build environment, generating kernel module now.
    AMD kernel module generator version 2.1
    doing Makefile based build for kernel 2.6.x and higher
    rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
    make -C /lib/modules/4.1.6-200.fc22.x86_64/build SUBDIRS=/usr/lib/modules/fglrx/build_mod/2.6.x modules
    make[1]: Entering directory ‘/usr/src/kernels/4.1.6-200.fc22.x86_64’
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_InstallInterruptHandler’:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3501:22: error: ‘IRQF_DISABLED’ undeclared (first use in this function)
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3501:22: note: each undeclared identifier is reported only once for each function it appears in
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘kcl_mem_pat_setup’:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:4501:15: error: implicit declaration of function ‘read_cr4’ [-Werror=implicit-function-declaration]
    cr4 = read_cr4();
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:4502:9: error: implicit declaration of function ‘write_cr4’ [-Werror=implicit-function-declaration]
    write_cr4(cr4 & ~X86_CR4_PGE);
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: At top level:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:6426:12: warning: ‘KCL_fpu_save_init’ defined but not used [-Wunused-function]
    static int KCL_fpu_save_init(struct task_struct *tsk)
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_InstallInterruptHandler’:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3505:1: warning: control reaches end of non-void function [-Wreturn-type]
    cc1: some warnings being treated as errors
    scripts/ recipe for target ‘/usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o’ failed
    make[2]: *** [/usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1
    Makefile:1388: recipe for target ‘_module_/usr/lib/modules/fglrx/build_mod/2.6.x’ failed
    make[1]: *** [_module_/usr/lib/modules/fglrx/build_mod/2.6.x] Error 2
    make[1]: Leaving directory ‘/usr/src/kernels/4.1.6-200.fc22.x86_64’
    Makefile:88: recipe for target ‘kmod_build’ failed
    make: *** [kmod_build] Error 2
    build failed with return value 2
    [Error] Kernel Module : Failed to compile kernel module – please consult readme.
    [Reboot] Kernel Module : dracut

    Thanks for any help! Maybe it isn’t possible to install when you have a newer kernel installed? Anyway, it’s not working witht the newer kernel either 😦

  47. Alex says:

    Okay, so after trying again on Fedora 23 Beta, I got the error that file “asm/i387.c” could not be found. I found out it got renamed to “asm/fpu/api.h” and changed that yolo style and tried again. Then “fpu-internal.h” could not be found and I found out it was renamed to “fpu/internal.h”, changed that and tried again. But now a lot of stuff has appeared I have no idea what it means, so I’ll give up for now. Tell me if you want to see my error log, it’s already deleted but I’ll do it again if it is of any help. My favorite scenario would still be to boot into an older kernel and have that setup use the fglrx driver…

    • Alex says:

      Forgot the link, this is where I got the kernel files changes from

      • Damn, son, that is yolo style indeed. Haha – good effort; I’m not much of a kernel hacker myself, so I’ve been relying on Philm of the manjaro team for his attention to this package and his fixes. I’m not sure if he’ll have anything to offer on such a recent kernel version, but he may. If not, I might try my hand at it, but I expect a result similar to yours. Kudos for the effort; I’ll be back in touch when I can get to this.

      • Along with the files, the function names were renamed. You have to go through the driver and update the names all over the place. I’m going through it right now, maybe if I am successful I’ll post a patch.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s