Installing the Proprietary AMD Crimson driver on Fedora 23 with Linux Kernel 4.2.8

Finally:  See the next post for instructions pertinent to the latest Fedora 23 kernel (version 4.4.6-300).

So, thanks to the great community forming along this thread, it looks like I can keep some instructions up despite my lack of an AMD card on which to test them, myself.  Do let me know if there should be corrections below – you’re the only way this thing can be updated now!

Thankfully, and somewhat amazingly, there is no current need for patching the driver with the latest Fedora kernel.  Unfortunately, the latest Xorg server doesn’t work, so you have to downgrade to version 1.17 (Fedora 22).

Big thanks to Stenstorpstorp, who provided critical information used to create the following instructions:

  1.  Add the following exclusion line to your /etc/yum.repos.d/fedora* files:
exclude=xorg-x11-server-Xorg xorg-x11-server-common

2.  Downgrade xorg-x11-server-Xorg and xorg-x11-server-common to the F22 version:

$ dnf downgrade xorg-x11-server-Xorg xorg-x11-server-common –-allowerasing –-releasever=22

3.  Reboot and download the latest Crimson driver (x86|x86_64).

4.  Unzip the driver and install it (normally, without selecting any package generation options – if someone could provide more detail for this step, that’d be great; I haven’t seen the Crimson menu):

$ unzip
$ cd fglrx-15.30.1025/
$ ./

5.  Reboot again and things should be looking good!



These fine gentlemen experienced problems getting the Cinnamon desktop environment running, and switching to KDE Plasma resolved the issue for Rik.

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

68 Responses to Installing the Proprietary AMD Crimson driver on Fedora 23 with Linux Kernel 4.2.8

  1. stenstorp says:

    You are very welcome 🙂
    One thing is, I’m not sure if it will work with Gnome or GDM; total black screen.
    I did have some issue with Steam not running games (switched to Ubuntu for now just because of that) but that may have been one-off, I’ll give it another shot and see what happens. I’ll post back with the results.
    also, I’m not sure but I think you need to do
    sudo aticonfig – -initial
    at the end.

  2. ct760ster says:

    The Fedora 23 kernel update 4.3.3 seems to have broken compatibility once again. Here I am back to Gallium because the Crimson driver encounter an error during installation. It’s seems that the installation log is unavailable for some reason this time, so I cannot find what went wrong.

    • jazz says:

      hey! I have a patched crimson catalyst for kernel 4.4! breaks on x 118 but seems to otherwise work. figured as much…downgrade X. not easy to do with debian bases, though. also have beta patched pre-crimson for 446 kernel for 117. the nudge to x118 was killing me…seems the only changes were moot ones in the kernel for mtrr regs and a slight change in init protocol, all dkms patchable.

  3. ct760ster says:

    Ok, have to reinstall again the crimson driver just to pull out the installation log, it’s erased once you uninstall it.

    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.3.3-300.fc23.x86_64/build SUBDIRS=/usr/lib/modules/fglrx/build_mod/2.6.x modules
    make[1]: Entering directory ‘/usr/src/kernels/4.3.3-300.fc23.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 ‘firegl_major_proc_read’:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:634:9: error: void value not ignored as it ought to be
    len = seq_printf(m, “%d\n”, major);
    /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:6448:12: warning: ‘KCL_fpu_save_init’ defined but not used [-Wunused-function]
    static int KCL_fpu_save_init(struct task_struct *tsk)
    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:1382: 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.3.3-300.fc23.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

  4. Snyfear says:

    Hi guys,
    I recently left Ubuntu 15.10 for Fedora as I was not able to install proprietary driver of my
    ATI Mobility Radeon HD 5650 Graphics (switchable) on this system. Unfortunately I am also blocked on my fedora 23 KDE freshly installed and despite of this nice blog.
    Installation and all described commands succeed by I have a black screen right after the Fedora startup logo completion. Here is dmesg :
    [ 43.863812] [fglrx] Firegl kernel thread PID: 1217
    [ 43.863970] [fglrx] Firegl kernel thread PID: 1218
    [ 43.864238] [fglrx] IRQ 31 Enabled
    [ 43.876306] [fglrx] Reserved FB block: Shared offset:0, size:1000000
    [ 43.876309] [fglrx] Reserved FB block: Unshared offset:f81e000, size:4000
    [ 43.876311] [fglrx] Reserved FB block: Unshared offset:f822000, size:4de000
    [ 43.876313] [fglrx] Reserved FB block: Unshared offset:3fff3000, size:d000
    [ 45.100327] show_signal_msg: 15 callbacks suppressed
    [ 45.100336] sddm[1099]: segfault at 7f81f316ff78 ip 00007f81f316ff78 sp 00007fffac325ba8 error 15 in[7f81f316f000+2000]
    [ 46.694981] traps: sddm[1237] general protection ip:7fb893b2f993 sp:7ffd7f0f32f0 error:0 in[7fb893876000+4c1000]
    [ 47.598621] sddm[1252]: segfault at 7efe1d1fc0f8 ip 00007efe1d1fc0f8 sp 00007ffd07191d48 error 15 in[7efe1d1fb000+2000]
    [ 48.100912] sddm[1268]: segfault at 710 ip 0000000000000710 sp 00007ffce8070708 error 14 in sddm[55ff2c9b4000+6b000]
    [ 48.874210] sddm[1283]: segfault at 5d0 ip 00000000000005d0 sp 00007fff8cf9dd88 error 14 in sddm[55ffb83c7000+6b000]
    [ 48.907977] systemd[1]: sddm.service: Failed with result ‘core-dump’.
    [ 49.118877] systemd[1]: sddm.service: Service hold-off time over, scheduling restart.
    [ 50.322486] sddm[1300]: segfault at 7a0 ip 00000000000007a0 sp 00007fff51f3f488 error 14 in sddm[562ca59aa000+6b000]
    [ 51.161229] traps: sddm[1319] general protection ip:7f550f73f993 sp:7ffd7f28e740 error:0 in[7f550f486000+4c1000]
    [ 52.419818] sddm[1334]: segfault at 550 ip 0000000000000550 sp 00007ffc45cad1b8 error 14 in sddm[55597b066000+6b000]
    [ 52.617273] systemd[1]: sddm.service: Service hold-off time over, scheduling restart.
    [ 52.627290] systemd[1]: sddm.service: Start request repeated too quickly.
    [ 52.647281] systemd[1]: sddm.service: Unit entered failed state.
    [ 52.657240] systemd[1]: sddm.service: Failed with result ‘start-limit’.

    On Ubuntu and Elementary OS, the boot failed with “Memory corruption detected in low memory” :

    I am afraid I will have to return to Windows for Diablo 3 if nobody can provide me a solution for any Linux distribution… 😦

    • Man, I wish I could help more, but if everything went well in following the instructions, I’m not sure why SDDM is throwing a segmentation fault. Try an aticonfig –uninstall to clear the driver out (boot into or use Ctrl+Alt+F2 to reach another console when facing your black screen after boot), reboot, ensure your system is fully upgraded (dnf upgrade -y), reboot if upgrades were applied, and try installing again.

      If that fails, can you post the content of /usr/share/ati/fglrx-install.log?

      • Snyfear says:

        Hi bitwiseoperator,
        Thanks for your help anyway.
        I strictly followed the procedure given by stenstorp below, with a Fedora 23 Mate freshly installed and the result is approximately the same when using something else than SDDM : Black screen after fedora logo animation end.
        The difference is that there is no more segmentation fault message, in fact there is no more error message. Dmesg can be seen here :

        And here are the installation logs :

        [snyfear@fedora fglrx-15.302]$ cat /usr/share/ati/fglrx-install.log
        Supported adapter detected.
        Check if system has the tools required for installation.
        Uninstalling any previously installed drivers.

        Creating symlink /var/lib/dkms/fglrx/15.302/source ->

        DKMS: add completed.

        Kernel preparation unnecessary for this kernel. Skipping…

        Building module:
        cleaning build area…
        cd /var/lib/dkms/fglrx/15.302/build; sh –nohints –uname_r=4.2.3-300.fc23.x86_64 –norootcheck……..
        cleaning build area…

        DKMS: build completed.

        Running module version sanity check.
        – Original module
        – No original module exists within this kernel
        – Installation
        – Installing to /lib/modules/4.2.3-300.fc23.x86_64/extra/
        Adding any weak-modules
        weak-modules: this tool requires a dracut-enabled kernel


        DKMS: install completed.
        [Reboot] Kernel Module : dracut

        [snyfear@fedora fglrx-15.302]$ sudo aticonfig –initial
        Found fglrx primary device section
        Using /etc/X11/xorg.conf
        Saving back-up to /etc/X11/xorg.conf.fglrx-2

        I will wait for new AMD driver version but I am afraid that this linux bug is related to this Graphic Card only, and as it as more than 3 years AMD will probably never fix it.

  5. ct760ster says:

    BTW the downgrade command should be in this order, at least for me.

    $ dnf downgrade xorg-x11-server-Xorg xorg-x11-server-common –allowerasing –releasever=22

  6. ct760ster says:

    Also the 1st and second steps are reversed, one should do the downgrade before making the exclusion in the repository files. Otherwise it doesn’t work, at least in my case.

  7. ct760ster says:

    Ok guys, I just managed to re-install the crimson driver. You have to boot the previous version of the kernel, 4.2.8 by selecting it in GRUB, and follow the instruction to downgrade to xorg 11.7 and then reboot and select again 4.2.8 and then install the crimson driver. For those whose unavoidably upgraded their kernel to 4.3.3, don’t panic, just avoid booting into it by selecting the previous kernel for which your fglrx driver worked in the GRUB menu 😉

  8. stenstorp says:

    O.K, I got the drivers and steam working. I did have to add a fair bit to that exclude line.
    I did a fresh (network) install of Fedora 23 with the mate desktop as the driver does horrific things to GDM. After logging in for the first time I DID NOT update and added:
    exclude=kernel kernel-devel kernel-core kernel-debug-core kernel-debug-devel kernel-debug-modules kernel-debug-modules-extra kernel-modules kernel-headers kernel-tools-libs
    to /etc/yum.repos.d/fedora-updates.repo (you don’t need to worry about fedora.repo or fedora-updates-testing.repo) since it contains kernel 4.3.3 which ct760ster pointed out, breaks compatibility. I then updated and installed dkms with:
    sudo dnf install dkms
    you may also need to install the “C Development Tools and Libraries” and “Development Tools” groups with:
    sudo dnf groupinstall “C Development Tools and Libraries” “Development Tools”
    since they are necessary to install the driver.
    I then downgraded the xorg stuff as shown in the post and added:
    exclude=xorg-x11-drv-ati xorg-x11-drv-evdev xorg-x11-drv-fbdev xorg-x11-drv-intel xorg-x11-drv-nouveau xorg-x11-drv-openchrome xorg-x11-drv-qxl xorg-x11-drv-synaptics xorg-x11-drv-vesa xorg-x11-drv-vmmouse xorg-x11-drv-vmware xorg-x11-drv-wacom xorg-x11-server-Xorg xorg-x11-server-common
    to /etc/yum.repos.d/fedora.repo and /etc/yum.repos.d/fedora-updates.repo in order to get rid of the message about broken dependencies when updating.
    Pastebin link to copies of my fedora.repo and fedora-updates.repo:
    rebooted, and installed the driver as shown in the post (BTW, the installer interface is exactly like the older versions), rebooted again and, bam! it worked.
    I installed steam but CS:GO failed to launch but after a bit of googling (literally just clicked the first link), found that executing:
    sudo setsebool -P selinuxuser_execheap 1
    fixed that right up.

  9. Victor says:

    I finnaly have installed the amd driver 15.12 on fedora 23 with gnome!

    Yes, it runs!

  10. ct760ster says:

    For those who has upgraded their mesa driver, repeat the drill of uninstalling and re-installing the Crimson driver and the plasma manager would be in good shape again. Always with the 4.2.8 kernel from GRUB 😛

  11. John says:

    Also, you might want to change GRUB2 default boot entry so you don’t have to select it every time. Per: (post #5) this is the ‘kosher’ way to do it for F23:

    # set the default kernel to boot with:
    grub2-set-default ‘Fedora (4.2.8-300.fc23.x86_64) 23 (Twenty Three)’
    # check to see if it’s taken the change:
    grub2-editenv list
    # that should show “saved_entry=Fedora (4.2.8-300.fc23.x86_64) 23 (Twenty Three)”
    # now rebuild the GRUB config file:
    grub2-mkconfig -o /boot/grub2/grub.cfg

    Next bootup should start with the 4.2.8-300 kernel by default. If you reboot… since we aren’t updating the kernel anymore, there really isn’t a reason to do so. I just hope someone figures out what broke in 4.3.3-300.

    BTW, thanks for the great page! I now have my R9 390X screaming with Crimson drivers! Now to figure out how to use Crossfire to link in the GPU cores on the AMD APU…

    • Jay V says:

      Thanks fix worked great

    • stenstorp says:

      All 4.3 kernels or just 4.3.3?

    • Jett says:

      new to this sorta thing, so excuse any fundamental misunderstandings. if my install of fglrx doesn’t work using the 4.3 kernel, do i install it on the 4.2 kernel, apply this patch, then upgrade to 4.3?

      • No, rather, while kernel version 4.3 is installed, you should downgrade Xorg to 1.17, apply the patch, and then install fglrx. I’ll try to put some clear instructions up soon.

    • dag_dg says:

      This seriously needs to go up in the main post, worked like a charm and lets you use the 4.3 kernel(currently tested with kernel 4.3.4-300). Some instructions on how to extract the archive, patch the file, and then manually run the installer similar to the earlier posts would be a nice for less seasoned users. So to sum up for 4.3(.4), downgrade Xorg to 1.17, install the patch Suren referenced, and then you should be all set.

      • Thanks for the confirmation! I’ll integrate this information into a more proper post soon.

      • Jett says:

        When you say install the patch, how does that work? Running “patch -p1 < fglrx_kernel_4.3.diff" in the directory of the unzipped Crimson driver directory gives me the error "can't find the file to patch at input line 4"

        Also, thanks for the help everyone!

      • Suren says:

        You must specify the proper path to the fglrx_kernel_4.3.diff file. `patch -p1 < fglrx_kernel_4.3.diff` in the directory of the unzipped driver will expect the .diff file in that directory too.

      • Jett says:

        Sorry, I forgot to mention that I did copy the .diff into the unzipped directory from where I called patch. It sounds like the error is with a file referenced from line 4 of the .diff itself.

      • John says:

        bitwiseoperator, I just now went through the steps and thought I could give back a handy set of commands for the process. All steps are to be done as ‘root’ on F23 (after 20+years of UNIX/Linux sysadmin work I don’t use sudo). I caution any Linux neophyte to read through all the steps here before starting blindly into it, and ask questions if you need help understanding something *before* you do anything. As always, no warranty expressed or implied. If you break it, you get to keep both pieces.
        First downgrade your driver by uninstalling the Catalyst/Crimson one and replace it with the stock radeon:


        If this script gives you grief, run it with the ‘–force’ option as it says in the output. If it succeeded, the script now says your system is unstable. Reboot now.
        Next update your kernel. Just run a standard update, unless, if like me, you disabled the kernel updates in the yum config. If that is the case you will have to go re-edit the /etc/yum.repos.d/fedora.repo and /etc/yum.repos.d/fedora-updates.repo to remove the kernel excludes before running the update command:

        dnf update

        Once the latest kernel is installed, reboot, and manually select the newest kernel in the GRUB boot list. Don’t let it take the default choice, if like me you set that to be the 4.3.3 kernel. Log in and run the following command from the dir where you extracted the driver install (should be called ‘fglrx-15.30.1025/’):

        ./ –extract

        This will create a dir called ‘fglrx-install.’. Cd into that dir. Get Suren’s patch from the URL he gives above, and drop it in this dir. Next run this command, from inside this same directory:

        patch -p1 < fglrx_kernel_4.3.diff

        You will get an error about files not found if you are not in the dir I mentioned above. That is the nature of the 'patch' command, it expects to start in the dir from where the diff file tells it the files to patch are. Next we get to the install part. Run the following command:

        /bin/sh ./ 15.30.1025 –install

        This will start the standard installer GUI, select the second option to install the driver and let it go with other default options. Reboot at the end as it recommends, remember to choose the latest kernel from the GRUB list, and you should come up with the Catalyst/Crimson driver on the current kernel.
        If you want to fix GRUB to boot the correct (newest) kernel by default, run the following commands:

        grub2-set-default 0
        grub2-mkconfig -o /boot/grub2/grub.cfg

        That should set GRUB straight.

  12. spookyfox says:

    I followed this and I keep getting this error:

    error: Detected X Server version ‘XServer _64a’ is not supported. Supported versions are X.Org 6.9 or later, up to XServer 1.10 (default:v2:x86_64:lib:XServer _64a:none:4.2.8-200.fc22.x86_64:)
    Installation will not proceed.

    Any help? I can’t even launch Portal 2 with Mesa drivers!

  13. dag_dg says:

    A lot of people give the catalyst driver grief but in some situations it’s a day and night difference versus the radeon driver. With a single monitor the difference is barely noticeable, but when you scale up to 6 1080p monitors such as I have for my workstation it’s a nobrainer. I’d love for the radeon driver to catch up but it’s just not there yet, the performance is abysmal with that many displays. Hopefully AMD gets their act together and cleans up the driver a bit but we’ll just have to wait and see on that one.

    • I agree; the driver is dramatically superior to the radeon driver. The latter is totally unusable when it comes to gaming on an APU (which was my experience).

    • John says:

      You say that the driver difference between the radeon driver and the Catalyst is barely noticeable on a single monitor setup, but I beg to differ. Try out this benchmark:
      Using a R9 390X with a single older HD LCD monitor, the first test in that suite “FurMark GPU burner”, I get 1/4 FPS (that’s one-quarter, it takes 4.3 seconds average to draw each frame) with the radeon driver. With the Crimson driver, I get 13-18 FPS. I can’t even get most of the listed tests to run under radeon, they simply CTD. Every one of them run under the Crimson driver, and run with admirable results.

      • John says:

        Please forgive my last response, I had the numbers wrong for the Crimson driver. In the “FurMark GPU burner”, I actually get 146 FPS (yes, one hundred fourty-six)! As to the error in my former numbers, I had forgotten that I went into the AMD Control Center and enabled maximum overrides for anti-aliasing, the AA mode, anisotropic filtering, and vertical refresh. I switched those off and returned the driver to lowest settings, and on re-test got the revised number above. It still looked fantastic, I could not detect the difference in the image quality in the test from full setting to lowest.

  14. johndoe says:

    Thanks for the guide! Trying to install now.
    Some fixes:
    Steps – downgrade must be the first step – i tried this order, but cant do it =( Because Xorg packages was already exluded from list!
    Symbols before “allowerasing” and “releasever” are diffirent, but hey must be the same. Copy paste dosent work, thank god, i have some brain)))

  15. Kez says:

    Hey Guys!

    Was hoping for a little guidance as the error I get on installing Crimson Edition 15.12 on Fedora23 I cannot seem to find anywhere else.

    Detected configuration:
    Architecture: x86_64 (64-bit)
    X Server: XServer 1.18.0
    Kernel: 4.3.4-300.fc23.x86_64

    On running the installer:

    # ./ –buildpkg Fedora/FC3
    Created directory fglrx-install.GOPHMP
    Verifying archive integrity… All good.
    Uncompressing AMD Proprietary Driver-15.302……
    Generating package: Fedora/FC3
    Please install an appropriate Linux kernel module build package.
    The package(s) you need are likely kernel-devel and/or kernel-headers.
    If you’ve compiled a custom kernel, make sure /usr/src/linux exists
    and the source tree matches the currently running kernel.
    Removing temporary directory: fglrx-install.GOPHMP

    I have the kernel-devel and kernel-headers packages but I do not have a /usr/src/linux directory.

    Any advice at all please?


  16. iUser says:

    Duh, there is always an option to do some experimenting, and I’m willing to do it if nobody else wants to try 😛
    The experiment goes like this, get the MESA 11,x (aka latest 11 series) source, compile, install/update/something, try using it instead of hacking the AMD driver because it’s probably less crazy.
    I mean come on, I have last posted here in last year I believe, hoping that AMD will do some new-year-resolve (how stupid I was…) and that they will move on with Vulkan tech to that extend, we won’t rely too much (or at all) on those driver haxxes anymore.
    There we are, Vulkan probably moves but slow as heck, drivers are still so~ late from AMD side that it’s an achievement already and we still sit here and try to correct errors which should never happen in the first place.
    Do they really want us ALL to move to nVidia? Is is not enough that “THAT OS” users are already shouting “uuu nVidia rlz”, now they want Linux users to to the same just this time with a REASON?

    Yeah, sorry for that batshit philosophy at this hour, I will just…go grab some juice…or tea…
    One last question tough, does someone remember default Kernel in Fedora 23 “just after installation”?
    If it’s 4.2.8 or at least not newer, I guess I can try moving to new Fedora 23 slowly-but-surely.
    Oh also on second PC I will do MESA stuff soon(TM) if nobody else will try.

  17. Polyatomic says:

    Hi how are ya!
    Got going on rhel 7.2 with the 3.10.0-327.el7.x86_64 kernel. I went the –buildpkg way and ended up with and this rpm fglrx64_p_i_c-15.302-1.x86_64.rpm. I installed the deps manually with a list created with,
    yum deplist fglrx64_p_i_c-15.302-1.x86_64.rpm | sed -n -e s’/provider: \([-A-Z0-9._+]*\)/\1/’p | uniq
    then installed the package with rpm 🙂 . I can see the guys here are on fedora but if I was not following the blog I probably would of just kept using the free radeon stack, so cheers for that man!. The only problem with this method is it rebuilds the initramfs for me, I’d prefer to do that myself >.> Anyway take it easy and maybe I’ll see ya round.
    check it out —

  18. John says:

    Just wanted to mention that over the last 9+ days of running on this driver (radeon-crimson-15.11-15.30.1025) in F23 on MATE with kernel 4.3.5-300.fc23.x86_64 and of course the “downgraded” F22 XOrg, I have experienced a couple strange incidents where Firefox will start up the flash-plugin (from the official adobe-linux-x86_64 repo), and the *entire* XOrg session will crash and restart to GDM login. I don’t get any warning boxes, and it only happens randomly. I have been keeping up with updates to the OS so I don’t know exactly what is causing it, even the journal (system logs) just has several processes report that they can no longer communicate with the XOrg process and are closing. I tried going back to the radeon driver for a few hours and couldn’t get it to trigger a crash no matter what I tried.

  19. Bennett Talpers says:

    When I copied the command, the first hyphen of the two options provided for dnf were converted to Unicode Character ‘EN DASH’ (U+2013), which obviously made dnf treat them as though they were packages needing to be installed.

  20. Jay V says:

    F23 Kernel update 4.4.2 broke compatibility. I found the fix here which worked great for me:
    changed common/lib/modules/fglrx/build_mod/firegl_public.c line 6461 to this:
    if (!(fpu->state.xsave.header.xfeatures & XFEATURE_MASK_FP))
    if (!(fpu->state.xsave.header.xfeatures & XSTATE_FP))

    • John says:

      I can attest the fix works, although I had to scratch my head for a minute as simply re-installing and rebooting from the older kernel didn’t work. Here was the procedure:

      – Copy and paste the corrected lines for the message from Jay V above, at the proper place in the file (note that the 4th fix line is already there at line 6461, you have to wrap it with lines 1 thru 3 and line 5 as it is shown above), while you are still in a kernel that works with the driver so you can actually see this web page (unless you can use vim, elinks, and gpm 🙂 ).
      – Reboot into the new kernel.
      – The start will fail and you will get a black screen. Go to console 2 (-), log in as root, and run the following:
      cd fglrx-install.*/ ; /bin/sh 15.30.1025 –install –force
      (note that the blog here may translate the “dash dash install dash dash force” into “emdash install emdash force”, replace with double hyphens instead)
      – Tell it to install the driver, take all the other defaults.
      – Reboot when it says so.

      That fixed it up for me, but a bit of anxiety when I got bad results from trying to go back to my old kernel and the DKMS failing on that one too!

    • survient says:

      Ok so some clarifications would be useful here. These steps imply that you are using the latest driver installer at the moment(15.12, 15.302 release date 12/18/2015), patched with the patch that Suren mentioned earlier: and then after having edited the lines mentioned by Jay/John, booting to a 4.4 kernel and then rerunning the installer, and then finally rebooting(though once the kernel module is installed you can probably just start your desktop manager). You have to be booted into kernel 4.4 for the kernel module to get compiled properly, otherwise it’ll just be compiling for whatever kernel you were on previously. To sum up for 4.4 as of the date of this comment for a fresh install:

      – Download the 15.12 driver/15.302(date 12/18/2015) driver here
      – Extract the contents of the driver with:

      # ./ –extract

      – cd to the extracted directory (fglrx-install.XXXXX)
      – download the current patch from github and apply it:
      # wget
      # patch -p1 state.xsave.header.xfeatures & XSTATE_FP))
      – You need to add some lines before and after the statement. The end result should look like:
      if (!(fpu->state.xsave.header.xfeatures & XFEATURE_MASK_FP))
      if (!(fpu->state.xsave.header.xfeatures & XSTATE_FP))
      – Note that the result will have two #endif statements(nested if statements, it can be confusing). Expanding out a few lines it looks like this:
      #if LINUX_VERSION_CODE state->xsave.xsave_hdr.xstate_bv & XSTATE_FP))
      if (!(fpu->state.xsave.header.xfeatures & XFEATURE_MASK_FP))
      if (!(fpu->state.xsave.header.xfeatures & XSTATE_FP))
      return 1;
      } else if (static_cpu_has(X86_FEATURE_FXSR)) {
      – From here boot into kernel 4.4. If you get the endless flickering black screen like I do and can't get out, get into rescue mode by adding "single" to the kernel line in GRUB during boot
      – In the console cd back to the "fglrx.XXXXX" folder and run:
      # ./ 15.30.1025 –install –force
      – If everything was set right this *should* complete successfully, and from here you can reboot or possibly just start your desktop/windows manager.

      A nice addition would be if someone could take the changes Jay/John mentioned and wrap them with the existing fglrx_kernel_4.3.diff patch so we could have a single patch to apply instead of two. I'm a bit green when it comes to writing patch file syntax.

      • survient says:

        Side note, this also implies that you’ve downgraded to X Server 1.17(Fedora 22). As stated in earlier comments X Server 1.18 doesn’t work with the existing driver.

      • Dude, thanks for all the notes – I’m going to see if I can create a new post with updated instructions and a single patch out of this and provide it for use.

  21. Every failed installation of the AMD driver, getting an error at the end about being unable to compile a kernel module, just don’t reboot as it’s suggested at the end of the installation and in a console sudo aticonfig –uninstall before gong to the old kernel to troubleshoot your installation 😉

  22. Steven Haigh says:

    For what its worth – my ‘step by step’ to get working with Fedora 23 + Kernel 4.4.3 –

    • Shreyesh Chaudhary says:

      I used the instruction and it works and if anyone trying this solution on the above link don’t forget to reboot after xorg downgrade and booting into kernel 4.4 and then run the driver installer

  23. Jason says:

    Thank you all so much I have spent about a week trying to figure out the drivers for a R9 380x and was about to give up. I have created a new patch for kernel 4.4 based on Suren’s 4.3 patch and Jay V’s input.

    Also here is a a little psudo script that I hope will make the whole process more dummy friendly 🙂
    I got this working on kernel 4.4.2-301.fc23

    Down load the crimson drive(may have a random name so you may half to go to their web site) :
    # wget
    # unzip
    # cd fglrx-15.302
    # ./ –extract
    The install directory suffix is random and changes “.3husIP” will be different.
    # cd fglrx-install.3husIP/
    # wget
    # patch -p1 < fglrx_kernel_4.4.diff

    /bin/sh ./ 15.30.1025 –install

    Side note after installing the new drive my monitor is not detected properly the max resolution I can get is 1600×1200 instead of the full 1920 x 1080. I am using the Fedora 23 LXDE spin.

  24. I have a Radeon 7850, and I’m on Fedora 22 (downgraded kernel to 4.2.8 for grub).
    Mostly works fine. Problems:
    1. glxgears shows black screen.
    2. gl2mark renders fine.

    Can we have a RPM repository of all these packages? Every package could depend on specific kernel-headers and kernel and xorg package versions.

  25. nenad says:

    I made a combined patch file for Fedora 23, kernel 4.4.* based on the discussions above and summarized the installation instructions, based on the original posts and the discussions. Thank you all who contributed, without this page my nice R7 370 would have been an expensive paperweight! See

  26. I tried to downgrade X Window System and got this output

    dnf downgrade xorg-x11-server-Xorg xorg-x11-server-common –-allowerasing –-releasever=22

    Warning: failed loading ‘/etc/yum.repos.d/fedora-updates-testing.repo’, skipping.
    Warning: failed loading ‘/etc/yum.repos.d/fedora-updates.repo’, skipping.
    Warning: failed loading ‘/etc/yum.repos.d/fedora.repo’, skipping.

    Last metadata expiration check: 10:33:11 ago on Thu Mar 24 15:36:53 2016.
    Package xorg-x11-server-Xorg of lowest version already installed, cannot downgrade it.
    Package xorg-x11-server-common of lowest version already installed, cannot downgrade it.
    No package –-allowerasing available.
    No package –-releasever=22 available.
    Error: Nothing to do.

    What can I do to successfully downgrade X Window System ?

    My kernel version is 4.4.6-300.fc23.x86_64 with Fedora 23.

    • Looks like your repository definitions are messed up – can you post the output of `cat /etc/yum.repos.d/fedora.repo`? You probably have a similar syntax error in all three of those repo files which are failing to load.

    • John says:

      In addition to what bitwiseoperator said, it looks like you are using direct copy/paste out of this blog without taking character modification in to account. As I had in a post above, the blog software changes some characters into ones that are not usable in the command line, namely changing dashes (hyphens) into en dashes and em dashes ( and ). The text you post has two lines: “No package –-allowerasing available.” and “No package –-releasever=22 available.” When I paste those into my shell there is one en dash and one hyphen before each of those options. This will definitely not work on a standard Linux/UNIX terminal with a command that expects POSIX syntax. Change those to two hyphens before trying the commands again.

  27. John says:

    I just wanted to make a comment about upgrading the kernel for anyone that was on the fence. I was apprehensive at first and kept my kernel at 4.4.2-301 for a while now. I recently decided that I should go through the rigamarole of upgrading the kernel and re-doing the Crimson drivers from the procedures here. I updated the kernel to the now latest 4.4.6-300, rebooted, and lo and behold it just worked. Apparently the changes made to the Crimson driver code for the 4.4.2 breakage fix works across the latest 4.4.x kernel updates. I hope we can continue to count on this good fortune. And I hope we finally have AMD update their code to work on a more modern version of, so all my updates will just “work”. I’ll continue upgrading my kernel with the standard Fedora releases and let you know if it breaks again, but then someone here will probably beat me to the punch.

  28. cesar says:

    I’ve been instaled the driver following step by step and it works. But dnf and packagekit don’t recognize exclude (xorg packages) in /etc/yum.repos.d repositories. I have modified dnf.conf and dnf is fixed. But packagekit in Kde wants to update those packages every boot!!! how can fix it? thanks!!

  29. jazz says:

    yeah, john im beating you with my fedora. 4.4.6. It works. pre-crimson. and for the one posting about x11 and fedora 21, he doesnt know what hes talking about. I just checked the repo for 22. still has x117. he probly pulling from the updates, which in fact is at 118.

  30. RobbieTheK says:

    No dice on 4.6.4 uname -r

    from ./arch/x86/include/asm/cpufeature.h:4,
    from ./arch/x86/include/asm/thread_info.h:52,
    from include/linux/thread_info.h:54,
    from ./arch/x86/include/asm/preempt.h:6,
    from include/linux/preempt.h:59,
    from include/linux/spinlock.h:50,
    from include/linux/seqlock.h:35,
    from include/linux/time.h:5,
    from include/linux/stat.h:18,
    from include/linux/module.h:10,
    from /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:109:
    ./arch/x86/include/asm/current.h:17:17: warning: passing argument 2 of ‘get_user_pages’ makes integer from pointer without a cast [-Wint-conversion]
    #define current get_current()
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3241:35: note: in expansion of macro ‘current’
    ret = get_user_pages(current, current->mm, vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL);
    In file included from include/linux/scatterlist.h:7:0,
    from include/linux/dmapool.h:14,
    from include/linux/pci.h:1242,
    from /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:117:
    include/linux/mm.h:1266:6: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
    long get_user_pages(unsigned long start, unsigned long nr_pages,
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3241:11: error: too many arguments to function ‘get_user_pages’
    ret = get_user_pages(current, current->mm, vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL);
    In file included from include/linux/scatterlist.h:7:0,
    from include/linux/dmapool.h:14,
    from include/linux/pci.h:1242,
    from /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:117:
    include/linux/mm.h:1266:6: note: declared here
    long get_user_pages(unsigned long start, unsigned long nr_pages,
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_UnlockUserPages’:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3252:9: error: implicit declaration of function ‘page_cache_release’ [-Werror=implicit-function-declaration]
    page_cache_release((struct page*)page_list[i]);
    At top level:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:6451:12: warning: ‘KCL_fpu_save_init’ defined but not used [-Wunused-function]
    static int KCL_fpu_save_init(struct task_struct *tsk)
    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:1433: 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.6.6-300.fc24.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

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s