Installing the Proprietary AMD Crimson driver on Fedora 23 with Linux Kernel 4.4.6-300

I’ll say it again: the community support for this process has been amazing.  I apologize to everyone for not getting to this sooner, but life has been insane.  That said, I’ve put together a brief description of the process needed thanks to the critical information and unified patch provided by the noble nenad.  All your thanks are belong to him, Jason, Steven Haigh, survient, John, Jay V, Suren

You know, I’d go on, but the list would be so long it’d be like credits in a movie (read and remembered by no one).  Everyone has really pulled together, and it makes me sad to be out of the loop now given my lack of an AMD card (although I’m really <3ing my Nvidia card.. the driver automatically rebuilds with DKMS during kernel updates and it has a built-in updater for the driver itself; it’s quite lovely).

Here’s the patch from nenad.  I can’t vouch for it myself, but I have faith in him.  It looks pretty simple and straightforward to me, and you can, of course, judge for yourself.  Download that patch and follow the instructions below:

1.  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

2.  Add the following exclusion line to your /etc/yum.repos.d/fedora* files:

exclude=xorg-x11-server-Xorg xorg-x11-server-common

3.  Reboot

4. Copy the missing header file into the proper location

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

5.  Download the latest Crimson driver (x86|x86_64) to your ~/Downloads directory.

6.  Unzip the driver and unpack the run archive

$ cd ~/Downloads
$ unzip radeon-crimson-15.12-15.302-151217a-297685e.zip
$ mv 
$ cd fglrx-15.302/
$ sh amd-driver-installer-15.302-x86.x86_64.run --extract

7.  Change into the newly created fglrx-install* directory (a mutex value will be created uniquely on your system where the asterisk is) and download and apply the patch:

$ cd fglrx-install.NHKnz0/
$ wget https://raw.githubusercontent.com/imageguy/fglrx-for-Fedora/master/fglrx_kernel_4.4.diff
$ patch -p1 < fglrx_kernel_4.4.diff
patching file common/lib/modules/fglrx/build_mod/firegl_public.c

8.  In the installation GUI, choose to “Install driver 15.302 on X.Org 6.9 or later 64-bit”.  Do not generate a package for any particular distro (which should obviously be a bad choice since Fedora 23 is not listed).

Note:  There is some hypothesizing that sudo will not work and that the user context from which the installation takes place must be root.  I’d be interested in tests, here – I suspect sudo works.  If you want to be really cautious, first su to root and then run the below command without sudo.

$ sudo ./ati-installer.sh 15.302 –install

9.  Reboot again and things should be looking good!

Troubleshooting

As issues come up and are addressed, I’ll try to list them here.

I hope this works for everyone!

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

133 Responses to Installing the Proprietary AMD Crimson driver on Fedora 23 with Linux Kernel 4.4.6-300

  1. iUser says:

    There is one thing that concerns me, which is difficult to prove/deny.
    It is know that 15.12 for Windows was causing the fan to work in bad way and burn GPU or at least make it very close to it. However no info about Linux version. I won’t deny, I am a bit scared that this 15.12 may burn my GPU and I’m clueless what to do, especially that CCC to this day doesn’t have Fan Control for Linux. There are some scripts in the internet but will they do it…

    That’s my concern for now…

    iUser

  2. Xearin says:

    Little bit stumped here.

    I tried adding the exclusion line to the files using gedit in the yum.repos.d folder to all of the fedora repos. All seems to be good so far. Then when I try to run the downgrade command, it downloads the older Xorg files, but says it’s already downgraded as far as it can be and does nothing.

    What am I doing wrong?

    Regards,

    Xearin

    • Hey, try switching steps 1 and 2 (the post is now fixed to reflect this new order) so that you exclude packages after you downgrade. If that still doesn’t work, feel free to post terminal output and I’ll be glad to help.

  3. strikerttd says:

    Hey man,

    Great guide! Worked for me. One note, step one and two need to be flip flopped. DNF will completely ignore packages that are within “exclude=”, so you will be unable to Downgrade if you exclude it first.

    Otherwise, this guide worked great! Looking forward to following your work.

    Striker
    Ideapad Y700
    ATI R9 M385X

    • Ah, thank you, kind sir. That’s the downside of not having a machine on which to test the process myself. But people like you are the upside! Thanks for the input!

      • TitoOn says:

        Ok, I don’t know why I can’t reply to you…

        Anyway, I don’t think I’m running any kind of virtual machine stuff as it is only a PC on which I installed directly Fedora.

      • Huh, ok, well it sounds like you have a custom GNOME theme? Have you tried removing it to see if that has any effect? It appears this process works for a standard Fedora 23 installation, so I’d start with potentially relevant elements of your installation which differ from the standard. Can you provide the exact messages you’re seeing in your system journal? Also, I presume the aticonfig command is still used with the Crimson driver? Have you tried examining the options there and perhaps using `aticonfig –initial` to initialize your driver configuration options?

        (I think you can’t reply directly to my comment because we’ve reached the maximum comment depth for WordPress; replies to the parent comment of our comment thread will suffice).

  4. TitoOn says:

    Hi,

    I just tried your method and fglrx installed fine.
    However, when I rebooted after it asked me to, I was faced with a “black screen” and my mouse.
    I can log myself in and then manage to open a terminal but I dont have any visual of the process and I’m left with this black screen.

    Btw, I’m running Fedora 23, 4.4.6 – 300 on a HD7950

    • Hmm, bummer. Did you check your systemd journal for any clues? How about /var/log/Xorg.0.log?

      • TitoOn says:

        So, I search a bit in the available logs and I found two things :
        1. spice-vdagent : apparently (I don’t really know if this is important), my system cannot access vdagent virtio channel /dev/virtio-ports/com.redhat.spice.0

        2. Gnome cannot compile the vertex shaders nor the fragment shader.

        One more things, it seems that my theme cannot be accessed anymore…

        For Xorg, he don’t seems to come from there as there isn’t any error and my mouse show itself correctly so it really seems to come from gnome

        I tried reinstalling gnome-shell but it doesn’t change anything.

      • Are you installing this driver on a KVM guest? I ask because the standard Fedora use for spice-vdagent is for GUI access to guest domains. If you ARE doing that, are you using IOMMU-based PCI passthrough for your GPU?

    • JoJo says:

      I have the same issue with Gnome or Gnome Classic, that is a black screen with mouse working. Other window managers such as MATE are working.

      Fedora 23, 4,5,7-202 on a Radeon HD 7560D
      gnome-shell 3.18.5-1

      Is there hope to have Gnome working with this card ? What about that amdgpu driver can we use that on Fedora 23 ?

      • nenad says:

        I’ve had the same problem with KDE Plasma ever since I installed fglrx. I always use the same login, so I’ve just ignored the issue: I press enter, nothing happens, enter password, and poof! Plasma starts. So I would suspect “something” else going on, not really Gnome.
        Last time fglrx broke (i.e., before I made the 4.6.6 patch), I tried amdgpu. It’s packaged for Ubuntu, but I was able to convert to RPMs and install on my F23. Unfortunately, it did not work for my R7 370 card and I don’t know if it’s because it only supports, as of now, the newest cards, or my installation was not good in some way. I’ve kept the RPMs and am happy to post them on my fglrx GitHub if you want to try it.

  5. spookyfox says:

    I’m on older version of kernel and older version of driver, is it ok to upgrade both kernel and drivers in the same session and then do a reboot, or do I need to do a separate reboot for each?

  6. atomicthumbs says:

    I followed these instructions on my desktop with a Radeon HD 7870 and now it won’t boot to anything but a blank screen with a blinking cursor (no error messages or anything). Rescue mode is similar. To get it to boot at all I have to add “nomodeset vga=791” to the grub command line; trying text mode only without nomodeset results in a corrupted, frozen screen. Booting into the shell and trying to start X results in Xorg segfaulting.

    Any help is appreciated.

    • Luiz Augusto says:

      you are using ubuntu or similar? try “sudo rm -r /etc/X11/xorg.conf && sudo dpkg –reconfigure xserver-xorg && sudo reboot”.

      • jazz says:

        that doesnt do anything on debi based distros for some reason. its supposed to reconfigure x but it aborts and does nothing.

  7. iUser says:

    So far so good, it installed nicely, not burning for now. Maybe they didn’t broke the code for Linux…I hope…
    Oh also one little bug to iron in the tutorial:
    $ sudo ./ati-installer.sh 15.302 –install
    instead of
    $ sudo ./amd-installer.sh 15.302 –install
    In point 9 😛
    I have installed with su (root) because I’m big enemy of sudo actually but shhh 😛

    Thank you very much for the tutorial
    AMD Said they will be going to AMDGPU aka open-source driver so MESA and stuff will be able to utilise full power without begging for package from them anymore.

  8. Hector says:

    Funciona perfecto, mil gracias por tu aporte

  9. lakarlsen says:

    How can I use the 32-bit version of this driver? xorg-x11-drv-catalyst.i686 does not appear to be available for Fedora 23, nor does any previous versions.

  10. meemimestari says:

    Yeah, broke everything – HD 7870 and boots into black screen with cursor. Would not recommend unless you like breaking stuff.

    • miro says:

      look at the logs, in my case it doesn’t starts because of some x11 server refusal. I’m gonna try to reconfigure the x11 and try it again – until then, it crashes at starting the x11, probably this version 1.17.1 is too ‘new’ 🙂 Try ctrl+alt+f2 to start terminal session then type ‘startx’, see what happens. or boot in verbose mode to see where it dies

  11. Kasmetski says:

    Thank you for the tutorial, I’m really happy to have AMD drivers on my machine, but there is a little problem. When I want to exclude the updates, it just doesn’t work:

    exclude=xorg-x11-server-Xorg xorg-x11-server-common

    When I type this line in the end of all files in /etc/yum.repos.d/ , which are fedora.repo fedora-updates.repo fedora-updates-testing.repo

    and I still receive updates for the xorg. So my question is how to stop them or I’m doing something wrong?

    Best regards

  12. Paradexes says:

    Appears Fedora has also upgraded the F22 version to 1.18 so the issue will occur now there as well. Any other options?

  13. spookyfox says:

    I’m getting this error when trying to patch:

    patch: **** strip count l is not a number

    • tux68 says:

      That should be the number one “1” not the letter ell, “l”.

      • spookyfox says:

        I realized that eventually and installed it. I must’ve done something wrong cause I rebooted into black screen. Tried uninstalling catalyst to re install, gave error, so I forced it and I still get black screen, not sure how to fix this or go back to mesa drivers. Been using Windows since.

  14. evrpg says:

    Just one question to those that said this is working… are any of you using GNOME?
    thanks

  15. kksheth says:

    I installed successfully on one machine which is dual booting with windows however it failed in other machine (which also dual boot with windows secure boot enabled) and boots to blank screen.
    startsx error message gives some error regarding missing key for fglrx module.
    Is secure boot culprit?

  16. I did a dnf update on my Fedora 23 X86_64 before proceeding with the process.
    No errors during install but when I did a reboot, I was stuck at a black screen (actually looked like the Gnome Lock screen background)

    Xorg.0.log has this
    [ 63.308] (**) Option “fd” “13”
    [ 63.310] (**) Option “fd” “16”
    [ 63.311] (**) Option “fd” “17”
    [ 63.313] (**) Option “fd” “18”
    [ 63.314] (**) Option “fd” “19”
    [ 63.315] (**) Option “fd” “20”
    [ 63.316] (**) Option “fd” “21”
    [ 63.317] (**) Option “fd” “22”
    [ 63.751] (II) systemd-logind: got pause for 13:64
    [ 63.752] (II) systemd-logind: got pause for 13:67
    [ 63.752] (II) systemd-logind: got pause for 13:69
    [ 63.752] (II) systemd-logind: got pause for 13:72
    [ 63.753] (II) systemd-logind: got pause for 13:71
    [ 63.753] (II) systemd-logind: got pause for 13:66
    [ 63.753] (II) systemd-logind: got pause for 13:68
    [ 63.753] (II) systemd-logind: got pause for 13:70

    I don’t know if this helps. I’m on a Lenovo z50-75 AMD A10 Radeon R6 if that helps.

    I just logged to a terminal session and ran ./amd-uninstall from the folder.

  17. Radu Simionescu says:

    Radeon R9 270x here. This worked without a problem. And seems to not generate other issues.
    Thanks a lot man.

  18. seems it doesn’t work with gnome
    Not worked here, fedora boots, but nothing appears unless the mouse cursor
    i’m able to login into my account, even not seeing anything

  19. Ok.. I give up figuring out this by myself. Could someone point me in the right direction here? I’ve tried copying version.h to a lot of different folders. Same result.

    Log from AMD installer:
    (…)
    [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
    Error:
    kernel includes at /lib/modules/4.4.6-301.fc23.x86_64/build/include do not match current kernel.
    they are versioned as “”
    instead of “4.4.6-301.fc23.x86_64”.
    you might need to adjust your symlinks:
    – /usr/include
    – /usr/src/linux
    [Error] Kernel Module : Failed to compile kernel module – please consult readme.
    [Reboot] Kernel Module : dracut

    Anyone?:>

    • TitoOn says:

      If I remember correctly, you just need to replace

      $ sudo ./amd-installer.sh 15.302 –install
      to
      $ sudo ./ati-installer.sh 15.302 –install

      as mentionned above by iUser

      I think it was this stupid little mistake that wasted me 1 hour.

  20. Hi,
    I have successfully executed all the steps described in the above list. Except that the driver installation gave some error message (attached below), and at reboot I had a black screen. The only way to get my workstation back, was entering in safe mode, uninstall the AMD drivers, reboot.

    I am not sure what the problem was, I am not really an expert on such kind of debugging, in any case it seems something not really dramatic. Any suggestion?

    Thanks a lot.

    Here is the error log

    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.4.7-300.fc23.x86_64/build SUBDIRS=/usr/lib/modules/fglrx/build_mod/2.6.x modules
    make[1]: Entering directory ‘/usr/src/kernels/4.4.7-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: In function ‘KCL_fpu_save_init’:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:6458:49: error: ‘XSTATE_FP’ undeclared (first use in this function)
    if (!(fpu->state.xsave.header.xfeatures & XSTATE_FP))
    ^
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:6458:49: 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:6448:12: warning: ‘KCL_fpu_save_init’ defined but not used [-Wunused-function]
    static int KCL_fpu_save_init(struct task_struct *tsk)
    ^
    scripts/Makefile.build:258: 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.4.7-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

    • jazz says:

      you didnt patch. thats exactly what I patched. len= nothing. that way wont work anymore. you cant call that procedure that way. as it says when building dkms, check the output file. the &state_FP is extravagant. and according to arch, some minor code needs to be patched in there. builds and runs but hits 118 at mach 19 and ker-splat. havent been able to test 117 yet.

  21. Marco says:

    You can make it work on Gnome by rebuilding the cogl-1.22.0-2.fc23 package with the gl_Add_a_quirk_for_the_GLSL_version_to_use_on_AMD_v2 and Use_better_vendor_strings_from_AMD patches that you can find at https://bugzilla.gnome.org/show_bug.cgi?id=756306

  22. twiclo says:

    Thanks for the guide, worked perfectly for me. I do have two issues though:
    1. The performance isn’t great. I got 20 FPS on Firewatch with the settings set to ultra. I was wondering if I’m the only one seeing performance like this or not.

    2. DNF is still reminding me that I have updates to do even though I added those two exclude lines. Any suggestions on how to shut it up?

  23. jacuzzi says:

    i have amd a10 5750m laptop with dual graphics are there any modifications to use it with my laptop.

  24. noobish says:

    The blank screen people are talking about is gdm. I could not quickly see any explanation in the logs about it when it happened to me. X is still running, and you can switch ttys. kdm does work, but cinnamon was triggering a segfault from system libraries after fglrx calls. I suspect the downgraded xserver, I’ve went back to radeon for now, but really hoping fglrx can be fixed on f23’s xserver.

    I have HD75xxM.

  25. miro says:

    Finally working. The magic was adding `aticonfig –initial` which seems to substitute the original xorg.conf (i moved the original with another name). Before that – x11 failed to start black screen etc. Seems i forgot what fast rendering really meant 🙂 It’s a rocket now (HD 6450)

  26. A.I. says:

    Thanks for lifesaving thread which I have been following for aeons. I am currently running latest F23 with crimson driver using kernel 4.4.8-300 using the howto above. I had a problem when latest kernel installed and was delivered a blank screen after boot. Ctrl+Alt+F2 to log in and then I removed fglrx completely, updated to all latest packages and reinstalled mesa and xorg so that I was back to generic radeon driver:
    dnf upgrade
    dnf reinstall mesa-libGL
    dnf reinstall xorg*
    I then tried to downgrade xorg to 1.17 , but unfortunately F22 has upgraded to 1.18.
    So I downgraded xorg to F21 (xorg 1.16 )… that worked O.K.
    dnf –allowerasing –releasever=21 downgrade xorg-x11-server-Xorg* xorg-x11-server-common*
    This resulted in 1 package being removed and 14 downgraded.
    I then reinstalled fglrx from original patched location.
    I have found that to run some old games on wine I have had to reinstall 32bit mesa-lib after installing fglrx driver:
    dnf reinstall mesa-libGL.i686.
    Hope these notes may help.
    AspireOne 725 / Radeon HD7290

    • Maurice J says:

      so are you running everything OK now?
      I have radeon hd 6950 and running fedora 23 with 4.4.9
      will the guide on this page be enough or do I have to do more?
      Is x11 version 1.18 a total dealbreaker?
      Thanks

  27. A.I. says:

    I have upgraded to kernel 4.4.9 and can confirm that the Crimson driver is working well as long as xorg version is downgraded. I am a KDE user and cannot comment on GNOME. Have included :
    a rundown of my xorg installed for reference purposes

    [one@AI ~]$ rpm -qa | grep xorg
    xorg-x11-drv-vmware-13.0.2-8.20150211git8f0cf7c.fc21.x86_64
    xorg-x11-drv-ati-7.5.0-1.fc21.x86_64
    xorg-x11-font-utils-7.5-29.fc23.x86_64
    xorg-x11-drv-nouveau-1.0.11-1.fc21.x86_64
    xorg-x11-drv-synaptics-1.8.1-6.fc21.x86_64
    xorg-x11-xbitmaps-1.1.1-8.fc23.noarch
    abrt-addon-xorg-2.8.0-5.fc23.x86_64
    xorg-x11-server-Xorg-1.16.3-2.fc21.x86_64
    xorg-x11-drv-fbdev-0.4.3-19.fc21.x86_64
    xorg-x11-apps-7.7-14.fc23.x86_64
    xorg-x11-drv-openchrome-0.3.3-12.fc21.x86_64
    xorg-x11-drv-vesa-2.3.2-19.fc21.x86_64
    xorg-x11-xinit-1.3.4-10.fc23.x86_64
    xorg-x11-server-Xwayland-1.16.3-2.fc21.x86_64
    xorg-x11-xkb-utils-7.7-16.fc23.x86_64
    xorg-x11-server-utils-7.7-17.fc23.x86_64
    xorg-x11-fonts-misc-7.5-15.fc23.noarch
    xorg-x11-drv-intel-2.99.916-4.20141117.fc21.x86_64
    xorg-x11-drv-qxl-0.1.2-1.fc21.x86_64
    xorg-x11-proto-devel-7.7-18.fc23.noarch
    xorg-x11-drv-evdev-2.9.1-2.fc21.x86_64
    xorg-x11-utils-7.5-20.fc23.x86_64
    xorg-x11-drv-wacom-0.25.0-3.fc21.x86_64
    xorg-x11-xauth-1.0.9-4.fc23.x86_64
    xorg-x11-fonts-Type1-7.5-15.fc23.noarch
    xorg-x11-server-common-1.16.3-2.fc21.x86_64
    xorg-x11-fonts-ISO8859-1-100dpi-7.5-15.fc23.noarch

    AspireOne 725 / Radeon HD7290

    Looking forward to next kernel upgrade with trepidation.

  28. Ulises Genis says:

    Thank you very much for this tutorial!!

    I have Fedora 23 XFCE spin, with kernel 4.4.9-300.fc23.x86_64 and everything is working (as long as you downgrade x following this tutorial). My computer is a Samsung ATIV 9 (no touch) and the graph card is Radeon HD 8250/8289G (Temash).

    I shall just remark that there are some prerequired dependencies to be installed before doing this. Namely, the kernel-devel package (sudo dnf install kernel-devel). This might seem as pretty obvious to the experienced, but it wasn’t mentioned anywhere. I was struggling to find the right place to copy the version.h file. Hope this helps someone.

  29. Tarek Badawy says:

    So I successfully installed the drivers running the 4.4.9 kernel by following the directions on this page. The only catch is that I have to use KDE desktop as it didnt work under gnome or cinnamon. Under the other desktops all I could see is a balck screen after logging in.

    • A.!. says:

      Good news, I have just upgraded to kernel 4.5.5-201.fc23.x86_64 and reinstalled crimson driver. There were no error messages and everything seems to be working well.
      Just to recap.
      Uninstall fglrx reboot
      Upgrade all ( except xorg ) reboot
      Copy new header file ( as above )
      Install crimson ( fglrx ) using patch from above reboot
      Enjoy.

  30. Josh Bee says:

    I’m on the 4.4.11 kernel(tried 4.4.9 also) with intel/AMD hybrid graphics and the driver compiles just fine however X will only start when using the intel graphics (amdconfig –px-igpu) when I try to use the amd X fails with “(EE) fglrx(0): Map Intel display surface address to AMD GART failed”
    I have downgraded my Xserver to the fedora 21 version and not sure what else to try. if anyone is internested my whole Xorg.0.log file is at http://pastebin.com/ugVJFFb2

  31. nenad says:

    Blank screen on startup is not deadly in the sense that the login is there, just not showing (at least it was for me). If I hit “enter”, type in password, enter again, I’d get my KDE desktop. This works only if you always log in as the same user.

    I just updated to 4.5.5.-201 and KDE no longer works. My /var/log/messages contains:

    Jun 5 17:54:41 localhost /usr/libexec/gdm-x-session: (II) fglrx(0): Modeline “1920×1080″x0.0 74.25 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync (28.1 kHz e)
    Jun 5 17:54:41 localhost gnome-shell.desktop: libGL error: No matching fbConfigs or visuals found
    Jun 5 17:54:41 localhost gnome-shell.desktop: libGL error: failed to load driver: swrast
    Jun 5 17:54:41 localhost /usr/libexec/gdm-x-session: (II) fglrx(0): EDID vendor “BNQ”, prod id 32791
    Jun 5 17:54:41 localhost /usr/libexec/gdm-x-session: (II) fglrx(0): Using hsync ranges from config file
    Jun 5 17:54:41 localhost /usr/libexec/gdm-x-session: (II) fglrx(0): Using vrefresh ranges from config file
    Jun 5 17:54:41 localhost /usr/libexec/gdm-x-session: (II) fglrx(0): Printing DDC gathered Modelines:
    Jun 5 17:54:41 localhost /usr/libexec/gdm-x-session: (II) fglrx(0): Modeline “2560×1440″x0.0 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync (88.8 kHz eP)
    The “swrast” failure seems to crop up every so often in various threads, and unfortunately seems to indicate some sort of driver incompatibility. Though I’ve just started looking into it. I’ve switched to GNOME and it kind of barely works – I see this thread has lot of suggestions on how to get GNOME running and I’ll try them next.
    Oddly enough, after this update I *do* get the login screen. And kernel version is not the culprit, since booting the previous kernel doesn’t help – I haven’t yet studied my dnf.log to figure out what else got updated.

    • A.I. says:

      Mesa ( libGL ) was upgraded with kernel 4.5.5 upgrade. Uninstalling crimson ( fglrx ) before kernel or graphics upgrade is the safest way to go. If your graphics install gets messed up reinstall xorg and mesa and then reinstall crimson.
      Kernel 4.5.5.working well with Crimson and KDE.

      • nenad says:

        Thanks, A.I. – that worked great! For some reason I’m again getting blank screen instead of login, but I how how to bypass that.

      • nenad says:

        I meant “know how” in my response ….

  32. Sam M says:

    Just wanted to mention I’ve gotten in the habit of using “dnf upgrade” in Fedora, and I had to add

    exclude=xorg-x11-server-Xorg xorg-x11-server-common

    from Step 2 to /etc/dnf/dnf.conf to stop dnf from trying to update those packages to the F23 versions. Hope that helps.

    Love this site, thanks for maintaining these guides for AMD users.

  33. Johnny Chang says:

    Before upgrading your current installation to Fedora 24, just remember to uninstall the Crimson driver by doing ‘sudo aticonfig –uninstall’. After you upgraded, just change back to the directory where you extracted the driver files and issue the install command with the –force option added. No more need to mess with the xorg downgrade thing because it seems the exclusion rules apply to whole system upgrade also, as you patched before the driver you can reuse it without modification of any sort. Just do the same drill as you were updating to a new kernel. The only caveat with the new display manager in Fedora 24 is that it make edges and fonts really ‘bleeding’ crisps, wish they add some sort of smooth aliasing. I am using KDE desktop.

  34. Sam M says:

    I was unable to make the driver work without downgrading the Xorg version, Johnny Chang. I had to downgrade to version 1.17 as before, following step 1 in this guide.

    I tried installing the driver I had patched when running F23 since you suggested it worked, but it didn’t for me. I also installed Virtualbox after upgrading to F24, but before trying to install the Crimson driver. I’m not sure if the Virtualbox kernel modules interfered at all, but here is an excerpt from my Xorg.0.log after the system booted to a black screen with blinking cursor:

    [ 66.702]
    X.Org X Server 1.18.3
    Release Date: 2016-04-04
    [ 66.702] X Protocol Version 11, Revision 0
    [ 66.702] Build Operating System: 4.4.9-300.fc23.x86_64

    [ 66.707] (II) Loading /usr/lib64/xorg/modules/drivers/fglrx_drv.so
    [ 66.730] (II) Module fglrx: vendor=”FireGL – AMD Technologies Inc.”
    [ 66.730] compiled for 1.4.99.906, module version = 15.30.3
    [ 66.730] Module class: X.Org Video Driver

    [ 67.109] (EE) Backtrace:
    [ 67.110] (EE) 0: /usr/libexec/Xorg (OsLookupColor+0x139) [0x59f119]
    [ 67.110] (EE) 1: /lib64/libc.so.6 (__restore_rt+0x0) [0x7f7939da276f]
    [ 67.111] (EE) 2: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (xs117SetPrivate+0x27) [0x7f7936ecacf7]
    [ 67.112] (EE) 3: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (xclSetPrivate+0xd) [0x7f79367090cd]
    [ 67.113] (EE) 4: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (xdl_xs117_swlDriScreenInit+0x124) [0x7f79369719a4]
    [ 67.114] (EE) 5: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (xdl_xs117_atiddxDriScreenInit+0x32a) [0x7f7936959e5a]
    [ 67.115] (EE) 6: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (xdl_xs117_atiddxScreenInit+0x118b) [0x7f7936953f8b]
    [ 67.115] (EE) 7: /usr/libexec/Xorg (AddScreen+0x101) [0x437041]
    [ 67.115] (EE) 8: /usr/libexec/Xorg (InitOutput+0x3c2) [0x47cc32]
    [ 67.115] (EE) 9: /usr/libexec/Xorg (remove_fs_handlers+0x266) [0x43ab66]
    [ 67.116] (EE) 10: /lib64/libc.so.6 (__libc_start_main+0xf1) [0x7f7939d8e731]
    [ 67.116] (EE) 11: /usr/libexec/Xorg (_start+0x29) [0x424d09]
    [ 67.116] (EE) 12: ? (?+0x29) [0x29]
    [ 67.116] (EE)
    [ 67.116] (EE) Segmentation fault at address 0x10
    [ 67.116] (EE)
    Fatal server error:
    [ 67.116] (EE) Caught signal 11 (Segmentation fault). Server aborting

    Anyway, I downgraded Xorg and installed the previously patched Crimson driver and now I am happily running Fedora 24 with the AMD proprietary driver. I’m using a 7850k.

    • Johnny Chang says:

      In my case the upgrade totally skip the Xorg driver since I have it set to ignore already in the Fedora 23, well glad you figured out and have it working. I am also using the integrated GPU from an A10-7850K. But I ran into another issue, suddenly the VLC program and all other multimedia player like Dragon player stopped output of video, just audio is available. Youtube video still running through Firefox web browser, I tried by uninstalling and re-installing a couple times the ffmpeg libraries to see if a dependency conflict is causing the bug to no avail. Maybe I make a fresh install if the bug is not nailed down. One thing I forget to mention, the Xorg driver from Fedora 22 stop showing native resolution on the monitor once you downgrade it, isn’t it? It just show a display resolution of 640 x 480 thus all the Desktop is distorted. I am unaware of the state of the Gallium driver at the moment.

  35. Leopardgnu says:

    Amd Crimson for For fedora 24 ?

    • My guess is: no. Given that Xorg downgrades have been necessary up until now, and the version to which one must downgrade is all the way back in the soon-to-be-unsupported Fedora 22, we might be in for an end-of-the-road situation with Fedora 24 until AMD gets their act together.

    • Johnny Chang says:

      Ran into a roadblock with the latest kernel 4.6.0-300, maybe because the previous install of crimson I did it with the –force option. Now the driver is unable to uninstall cleanly and the install with –force doesn’t work anymore with the new kernel. I am back to the previous kernel 4.5.7-300 for now.

  36. antre says:

    Well, today I tried to install with kernel “4.5.6-200” on F23/gnome-3.18.2. I followed all the steps exactly. After I run the install gui in step 8, I got the message: “Your graphics adapter is not supported by this driver. Installation will not proceeed. ”
    I have a Lenovo-thinkpad-e420, with switchabels graphics (intel hd3000 and ati radeon 6630M).

    Any suggestions?
    thank you!

  37. nenad says:

    Well, I think I may have fried my R7 370. I tried “radeon” driver that comes along with the Fedora kernel (my current kernel is 4.5.7-202). It wouldn’t work with downgraded xorg and when I upgraded to the current level, the card stopped working. If it’s in the slot, my machine won’t boot, I mean I don’t I even get any boot messages, so I believe it grub is not even called. The cards fans spin, but that’s all. If I remove the card, the Intel graphics on the motherboard work fine. I downgraded back down just in case, but of course that didn’t help.

    I wanted to ask if anyone had any ideas about fixing my card before I go out and shell $$ for another card. And you can believe I won’t be getting another AMD…..

    • nenad says:

      Back in action – as I was taking the card out and putting it back in, I was connecting the power wrong – two plugs, two sockets, but only one correct pairing! Once I figured that out, I was able to recover to my original fglrx setup. Bottom line is that, when radeon driver is used with R7 370, my machine boots and then just hangs. To be fair, Trinidad AMD chipset is not listed on the radeon driver supported list, but they do say the list is not all-inclusive.

      Next time I’m feeling energetic, I might try the amdgpu driver, but that’s a bit more complex, since the beta package is Ubuntu only and amdgpu doesn’t list R7 370 as supported either…

  38. Johnny Chang says:

    Supported adapter detected.
    Detected a previous installation, /usr/share/ati/amd-uninstall.sh
    Installation with force option.
    Check if system has the tools required for installation.
    fglrx installation is being forced. Installation will proceed without the required tools on the system.
    Uninstalling any previously installed drivers.
    AMD Proprietary Driver Uninstall is corrupt. Uninstall script ‘fglrx-uninstall.sh’ is missing.
    /usr/share/ati/amd-uninstall.sh completed with 1
    [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.6.3-300.fc24.x86_64/build SUBDIRS=/usr/lib/modules/fglrx/build_mod/2.6.x modules
    make[1]: Entering directory ‘/usr/src/kernels/4.6.3-300.fc24.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_LockUserPages’:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3223:26: warning: passing argument 1 of ‘get_user_pages’ makes integer from pointer without a cast [-Wint-conversion]
    ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 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 task_struct *’
    long get_user_pages(unsigned long start, unsigned long nr_pages,
    ^~~~~~~~~~~~~~
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3223:41: warning: passing argument 2 of ‘get_user_pages’ makes integer from pointer without a cast [-Wint-conversion]
    ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 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:3223:77: warning: passing argument 5 of ‘get_user_pages’ makes pointer from integer without a cast [-Wint-conversion]
    ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 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 ‘struct page **’ but argument is of type ‘int’
    long get_user_pages(unsigned long start, unsigned long nr_pages,
    ^~~~~~~~~~~~~~
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3223:11: error: too many arguments to function ‘get_user_pages’
    ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 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_LockReadOnlyUserPages’:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3241:26: warning: passing argument 1 of ‘get_user_pages’ makes integer from pointer without a cast [-Wint-conversion]
    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 task_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:41: warning: passing argument 2 of ‘get_user_pages’ makes integer from pointer without a cast [-Wint-conversion]
    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/Makefile.build:291: 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.3-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

    • Johnny Chang says:

      Supported adapter detected.
      Detected a previous installation, /usr/share/ati/amd-uninstall.sh
      Installation with force option.
      Check if system has the tools required for installation.
      fglrx installation is being forced. Installation will proceed without the required tools on the system.
      Uninstalling any previously installed drivers.
      AMD Proprietary Driver Uninstall is corrupt. Uninstall script ‘fglrx-uninstall.sh’ is missing.
      /usr/share/ati/amd-uninstall.sh completed with 1
      [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.6.4-301.fc24.x86_64/build SUBDIRS=/usr/lib/modules/fglrx/build_mod/2.6.x modules
      make[1]: Entering directory ‘/usr/src/kernels/4.6.4-301.fc24.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_LockUserPages’:
      /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3223:26: warning: passing argument 1 of ‘get_user_pages’ makes integer from pointer without a cast [-Wint-conversion]
      ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 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 task_struct *’
      long get_user_pages(unsigned long start, unsigned long nr_pages,
      ^~~~~~~~~~~~~~
      /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3223:41: warning: passing argument 2 of ‘get_user_pages’ makes integer from pointer without a cast [-Wint-conversion]
      ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 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:3223:77: warning: passing argument 5 of ‘get_user_pages’ makes pointer from integer without a cast [-Wint-conversion]
      ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 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 ‘struct page **’ but argument is of type ‘int’
      long get_user_pages(unsigned long start, unsigned long nr_pages,
      ^~~~~~~~~~~~~~
      /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3223:11: error: too many arguments to function ‘get_user_pages’
      ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 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_LockReadOnlyUserPages’:
      /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3241:26: warning: passing argument 1 of ‘get_user_pages’ makes integer from pointer without a cast [-Wint-conversion]
      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 task_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:41: warning: passing argument 2 of ‘get_user_pages’ makes integer from pointer without a cast [-Wint-conversion]
      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/Makefile.build:291: 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.4-301.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

  39. nenad says:

    I ran into the same problem and looked around a bit -on both fc23 and fc24, 4.6.4 has two more changes that impact fglrx. Fortunately, they were straightforward, so I was able to make a new patch – see https://github.com/imageguy/fglrx-for-Fedora, where you will find fglrx_kernel.4.6.diff patch file and updated directions.
    With 4.6.4, the only thing that changes is the patch, all the other instructions are still valid. My box with Fedora 24 and 4.6.4-301 kernel now works just as before. All is serene now, but it sure was an interesting day or so before I figured it out!

    • John says:

      nenad, thankyou thankyou thankyou! I update my Fedora 23 box today, and it installed the 4.6.4-201.fc23.x86_64 kernel. I was apprehensive, but rebooted anyway. I got the dreaded black screen again. I know the patch I had done to the Crimson driver before was for 4.4 and worked for 4.5, so I tried it and but of course it failed. I rebooted into the 4.5 kernel and went looking, and lo and behold found your very informative post here! I downloaded and installed the 4.6 patch on a new unzipped Crimson driver directory, then did a reboot to 4.6, console login, patch, install, then reboot again, and I have my GUI back again!
      Also I would like to thank you for doing this on F24. Until I saw your post I was thinking I would have to go back to the radeon driver if I wanted to upgrade to F24. Now it looks as if I can upgrade with confidence. One thing I am not clear on for F24 tho, did you downgrade to the F22 version of X.Org as stated in the instructions above, or were you able to make it work with the F24 version? Not that it is an extremely big deal, but I would like to be on a newer X.Org version someday…

      • nenad says:

        As far as I can determine 4.6.4 on F23 and F24 are identical, or at least identical as related to fglrx. You have to downgrade to Xorg prior to 1.18 – it used to be F22 (1.17), but that was apparently upgraded to 1.18, so now I’m using F21, which has 1.16.
        Just for fun, I tried current Xorg and the news is not good – it fails with a segmentation violation in fglrx_drv.so in (if memory serves) xs117SetPrivate, which is quite a way down the stack, I believe invoked from ScreenInit – I looked in the debugger and foolishly forgot to save the stack. I would suspect that the Xorg call changed the call signature between 1.17 and 1.18, which then causes trouble.
        This may or may not be fixable, given enough time and effort, but without source for fglrx_drv.so, sooner or later we’ll be sunk – there will be a change someplace that we won’t be able to fix.
        When my 4.6.4 failed for the first time, I tried the beta amdgpu-pro driver, which is available for Ubuntu, but wasn’t too hard to install on F23. Unfortunately, it didn’t work for me, though I don’t know if my installation was somehow bad, or my card, R7 370, was unsupported. AMD plays fast and loose with the numbers, I have a sense that the same card type may change chips over time – I saw some postings indicating amdgpu-pro was used with R7 370, but that may not mean much. amdgpu-pro currently supports only few newest cards and it’s uncertain how far back will the support extend when it’s done.
        I am really, really disappointed with AMD. We all paid a great deal of money for their cards and it’s basically, tough luck, they may shortly be boat anchors. I’ve used ATI cards for many years, ever since a Fire 4GL ran my IBM T220 9 megapixel display in 2001. I will not buy another of their products. Grumble.
        Thank you for listening, I feel better now 🙂

      • John says:

        Sorry to have to comment on my own post but it appears the board software will not let me comment on nenad’s post.
        nenad, I too am not a fan of AMD’s support, but bought the R9 390X I have now because of the capability vs price, not because of their support. I do want to try the amdgpu-pro driver, it appears from their KB page that my card should be supported although it is not listed specifically. Was there anything special you had to do to the install script to get it to run on F23? Or did you manually put the driver into DKMS and hand-mod the xorg.conf?

      • nenad says:

        The kernel driver amdgpu is apparently shipped with stock F23/F24, but you need the user-space amdgpu-pro driver to actually use it. amdgpu-pro is in beta and only available for Ubuntu. It’s not simple, there is a bunch of packages. You can get the .deb files and convert to .rpm, but I found https://github.com/Mystro256/amdgpu-pro-rpm which will help you get the latest version and build it. I didn’t keep notes, but I believe one .deb had to be converted by hand.
        You will have to upgrade to the latest Xorg 1.18.

        BE CAREFUL as you do it. On my F23 box it complained that it conflicted with firmware. I used –force, but should really have backed up the conflicting files first. When it didn’t work, I erased the RPMs I just installed, which happened to delete my /lib directory. I was in a world of pain for a few hours, but was able to use F24 Live CD to recover enough that I could actually just install F24.
        In general, you don’t have to put anything into xorg.conf – it’s smart enough to pick the right driver (I believe fglrx will too work fine without aticonfig step). You should deinstall fglrx before you try it and perhaps blacklist radeon driver.

        Good luck! Let me know how it goes, if it works for you, I might give it another try.

    • A.I. says:

      Nenad you are a star. Patch is perfect on fresh install of Fedora 24
      Kernel-4.6.4-301.fc24.x86_64.
      glxgears on radeon driver 60fps
      glxgears on fglrx 550fps
      Using dnf versionlock plugin to hold xorg at 1.17
      dnf install dnf-plugins-extras
      Aspire One 725 / Radeon HD7290

  40. SevM says:

    A.I so you are using the amdgpu-pro drivers or the older linux drivers?

    • A.I. says:

      SevM. Sorry for delay but have been away on Hols.
      I am using Crimson Edition 15.12 driver, because the amdgpu-pro driver does not support my graphics yet and according to reports, the UDV3 video processor ( Southern Islands ) that my graphics employs is not expected to be functional until Kernel-4.8.or later. It sounds as if the current amdgpu-pro driver is lacking quite a bit of functionality and AMD are stressing that it is still experimental and should only be tested by developers.

      https://phoronix.com/forums/forum/linux-graphics-x-org-drivers/amd-linux

  41. RobbieTheK says:

    The 4.6.4 patch doesn’t work on 4.6.6 kernel here are the errors:
    uname -r
    4.6.6-300.fc24.x86_64
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3241:26: 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 task_struct *’
    long get_user_pages(unsigned long start, unsigned long nr_pages,
    ^~~~~~~~~~~~~~
    In file included from ./arch/x86/include/asm/processor.h:15:0,
    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/Makefile.build:291: 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

    • A.I. says:

      RobbieTheK, your errors are very similar to those of Johnny Chang. Are you sure that you used the correct patch ( nenad’s fglrx_kernel.4.6.diff.patch ) and that it was correctly applied?
      I had no problem with kernel-4.6.6.
      Meanwhile I have upgraded to kernel-4.6.7-300.fc24.x86_64
      Reinstalled Crimson driver ( using nenad’s 4.6 patch ), and all is running well.
      KDE, Aspire One 725 / Radeon HD7290

      • RobbieTheK says:

        OK I re-downloaded the patch and tried it again. This time no errors with the configuration however on restart all I see is the cursor. Here are some errors in /var/log/messages:
        ug 24 10:32:33 linux-user-101 org.gnome.Shell.desktop: (gnome-shell:1397): Cogl-WARNING **: driver/gl/cogl-pipeline-progend-glsl.c:213: GL error (1282): Invalid operation
        Cogl-WARNING **: Shader compilation failed:
        Aug 24 10:32:35 linux-user-101 org.gnome.Shell.desktop: Fragment shader failed to compile with the following errors:
        Aug 24 10:32:35 linux-user-101 org.gnome.Shell.desktop: ERROR: error(#271) Explicit version number 120 not supported by GL3 forward compatible context
        Aug 24 10:32:35 linux-user-101 org.gnome.Shell.desktop: ERROR: error(#273) 1 compilation errors. No code generated
        Aug 24 10:32:35 linux-user-101 org.gnome.Shell.desktop: (gnome-shell:1397): Cogl-WARNING **: Failed to link GLSL program:
        Aug 24 10:32:35 linux-user-101 org.gnome.Shell.desktop: Vertex and Fragment shader(s) were not successfully compiled before glLinkProgram() was called. Link failed.
        Aug 24 10:32:35 linux-user-101 org.gnome.Shell.desktop: (gnome-shell:1397): Cogl-WARNING **: driver/gl/cogl-pipeline-progend-glsl.c:384: GL error (1282): Invalid operation

  42. A.I. says:

    I don’t use Gnome so I can only suggest the following:
    Either scroll up in these comments to April 26 –> Marco “You can make it work on Gnome by…” and follow his instructions
    Or switch to KDE (or XFCE has been reported to work )

  43. John says:

    Hey A.I., nenad, et al… I just finished finally upgrading to F24 this weekend using the “dnf system-upgrade” method. I first had to remove the Catalyst driver to avoid any headaches, and after doing that and rebooting the upgrade process went smooth as silk.
    I did have this idea that I would test out the AMDGPU-PRO driver, and found a couple copr repos with the driver and kernel all set up (idea at https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/open-source-amd-linux/889794-amd-staging-4-6-for-fedora-24-amdgpu ; copr repos at https://copr.fedorainfracloud.org/coprs/mystro256/polaris-gfx/ and https://copr.fedorainfracloud.org/coprs/mystro256/amd-staging-kernel/ ). The install went OK, it was relatively painless compared to the Catalyst install. It worked fine with my R9 390X, as stated on the AMD website.
    I did notice surprising results in running benchmarks: there was no appreciable difference between the stock F24 “radeon”, the “amdgpu” driver and kernel, and this installation of Catalyst “fglrx”. All three were on par, within a frame/sec or two and just as fast as my previous install of Catalyst on F23. I was super surprised, considering in F23 there was a vast difference in the speed between stock radeon and fglrx, as I reported previously.
    I did not stay with the AMDGPU-PRO driver for two reasons: one is that the support for OpenGL 4.0 seemed to not be working, anything I tried with OpenGL 4.0 immediately CTD’ed. There are messages in the Phoronix forums stating that AMD says the AMDGPU-PRO driver is in beta, unstable, etc. I would not care if the OpenGL 4.0 was working, I could deal with not having a control panel. Which is the second, lesser reason for not sticking with it: I did not see a control panel app like the one delivered with the Catalyst install. Maybe there is one, but I couldn’t find it.
    I did not stick with the stock radeon driver because I still got X crashes when running Arma 3, which, other than the excellent Talos Principle, is the only graphics-intensive game I play.
    Also I noticed during the benchmarks that the fglrx driver was the only one that A) reported temperatures, and B) correctly reported the card as a R9 390X, the other two seeing it as an R9 290X.
    So I am still using the F22 X.Org (which I found still at version 1.17, nenad) with Catalyst, and it works with kernel 4.6.7-300.fc24.x86_64. I pray nothing else changes until the AMDGPU-PRO driver is stable enough for me to switch to, it appears that AMD is at least accepting changes and updating that.
    Thanks again guys!

  44. John says:

    Crap. I keep saying Catalyst when I mean to say Crimson. Sorry for any confusion.

  45. Chandra says:

    Stuck at step 4 getting error:
    cp: cannot create regular file ‘/lib/modules/4.6.5-300.fc24.x86_64/build/include/linux/’: No such file or directory
    I am on f24

    • A.I. says:

      Are you really on kernel 4.6.5 or is that a typo?
      Check that kernel-headers and kernel-devel packages for your running kernel are installed.

  46. Johnny Chang says:

    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.7.2-201.fc24.x86_64/build SUBDIRS=/usr/lib/modules/fglrx/build_mod/2.6.x modules
    make[1]: Entering directory ‘/usr/src/kernels/4.7.2-201.fc24.x86_64’
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
    In file included from include/linux/bitops.h:36:0,
    from include/linux/kernel.h:10,
    from include/linux/list.h:8,
    from include/linux/module.h:9,
    from /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:109:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘kcl_mem_pat_setup’:
    ./arch/x86/include/asm/bitops.h:337:29: error: passing argument 2 of ‘constant_test_bit’ from incompatible pointer type [-Werror=incompatible-pointer-types]
    ? constant_test_bit((nr), (addr)) \
    ^
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: note: in expansion of macro ‘test_bit’
    #define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)
    ^~~~~~~~
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:4525:9: note: in expansion of macro ‘cpu_has_pge’
    if (cpu_has_pge)
    ^~~~~~~~~~~
    ./arch/x86/include/asm/bitops.h:308:28: note: expected ‘const volatile long unsigned int *’ but argument is of type ‘__u32 (*)[19] {aka unsigned int (*)[19]}’
    static __always_inline int constant_test_bit(long nr, const volatile unsigned long *addr)
    ^~~~~~~~~~~~~~~~~
    ./arch/x86/include/asm/bitops.h:338:29: error: passing argument 2 of ‘variable_test_bit’ from incompatible pointer type [-Werror=incompatible-pointer-types]
    : variable_test_bit((nr), (addr)))
    ^
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: note: in expansion of macro ‘test_bit’
    #define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)
    ^~~~~~~~
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:4525:9: note: in expansion of macro ‘cpu_has_pge’
    if (cpu_has_pge)
    ^~~~~~~~~~~
    ./arch/x86/include/asm/bitops.h:314:28: note: expected ‘const volatile long unsigned int *’ but argument is of type ‘__u32 (*)[19] {aka unsigned int (*)[19]}’
    static __always_inline int variable_test_bit(long nr, volatile const unsigned long *addr)
    ^~~~~~~~~~~~~~~~~
    ./arch/x86/include/asm/bitops.h:337:29: error: passing argument 2 of ‘constant_test_bit’ from incompatible pointer type [-Werror=incompatible-pointer-types]
    ? constant_test_bit((nr), (addr)) \
    ^
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: note: in expansion of macro ‘test_bit’
    #define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)
    ^~~~~~~~
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:4539:9: note: in expansion of macro ‘cpu_has_pge’
    if (cpu_has_pge)
    ^~~~~~~~~~~
    ./arch/x86/include/asm/bitops.h:308:28: note: expected ‘const volatile long unsigned int *’ but argument is of type ‘__u32 (*)[19] {aka unsigned int (*)[19]}’
    static __always_inline int constant_test_bit(long nr, const volatile unsigned long *addr)
    ^~~~~~~~~~~~~~~~~
    ./arch/x86/include/asm/bitops.h:338:29: error: passing argument 2 of ‘variable_test_bit’ from incompatible pointer type [-Werror=incompatible-pointer-types]
    : variable_test_bit((nr), (addr)))
    ^
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: note: in expansion of macro ‘test_bit’
    #define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)
    ^~~~~~~~
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:4539:9: note: in expansion of macro ‘cpu_has_pge’
    if (cpu_has_pge)
    ^~~~~~~~~~~
    ./arch/x86/include/asm/bitops.h:314:28: note: expected ‘const volatile long unsigned int *’ but argument is of type ‘__u32 (*)[19] {aka unsigned int (*)[19]}’
    static __always_inline int variable_test_bit(long nr, volatile const unsigned long *addr)
    ^~~~~~~~~~~~~~~~~
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘kcl_mem_pat_restore’:
    ./arch/x86/include/asm/bitops.h:337:29: error: passing argument 2 of ‘constant_test_bit’ from incompatible pointer type [-Werror=incompatible-pointer-types]
    ? constant_test_bit((nr), (addr)) \
    ^
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: note: in expansion of macro ‘test_bit’
    #define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)
    ^~~~~~~~
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:4566:9: note: in expansion of macro ‘cpu_has_pge’
    if (cpu_has_pge)
    ^~~~~~~~~~~
    ./arch/x86/include/asm/bitops.h:308:28: note: expected ‘const volatile long unsigned int *’ but argument is of type ‘__u32 (*)[19] {aka unsigned int (*)[19]}’
    static __always_inline int constant_test_bit(long nr, const volatile unsigned long *addr)
    ^~~~~~~~~~~~~~~~~
    ./arch/x86/include/asm/bitops.h:338:29: error: passing argument 2 of ‘variable_test_bit’ from incompatible pointer type [-Werror=incompatible-pointer-types]
    : variable_test_bit((nr), (addr)))
    ^
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: note: in expansion of macro ‘test_bit’
    #define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)
    ^~~~~~~~
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:4566:9: note: in expansion of macro ‘cpu_has_pge’
    if (cpu_has_pge)
    ^~~~~~~~~~~
    ./arch/x86/include/asm/bitops.h:314:28: note: expected ‘const volatile long unsigned int *’ but argument is of type ‘__u32 (*)[19] {aka unsigned int (*)[19]}’
    static __always_inline int variable_test_bit(long nr, volatile const unsigned long *addr)
    ^~~~~~~~~~~~~~~~~
    ./arch/x86/include/asm/bitops.h:337:29: error: passing argument 2 of ‘constant_test_bit’ from incompatible pointer type [-Werror=incompatible-pointer-types]
    ? constant_test_bit((nr), (addr)) \
    ^
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: note: in expansion of macro ‘test_bit’
    #define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)
    ^~~~~~~~
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:4579:9: note: in expansion of macro ‘cpu_has_pge’
    if (cpu_has_pge)
    ^~~~~~~~~~~
    ./arch/x86/include/asm/bitops.h:308:28: note: expected ‘const volatile long unsigned int *’ but argument is of type ‘__u32 (*)[19] {aka unsigned int (*)[19]}’
    static __always_inline int constant_test_bit(long nr, const volatile unsigned long *addr)
    ^~~~~~~~~~~~~~~~~
    ./arch/x86/include/asm/bitops.h:338:29: error: passing argument 2 of ‘variable_test_bit’ from incompatible pointer type [-Werror=incompatible-pointer-types]
    : variable_test_bit((nr), (addr)))
    ^
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: note: in expansion of macro ‘test_bit’
    #define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)
    ^~~~~~~~
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:4579:9: note: in expansion of macro ‘cpu_has_pge’
    if (cpu_has_pge)
    ^~~~~~~~~~~
    ./arch/x86/include/asm/bitops.h:314:28: note: expected ‘const volatile long unsigned int *’ but argument is of type ‘__u32 (*)[19] {aka unsigned int (*)[19]}’
    static __always_inline int variable_test_bit(long nr, volatile const unsigned long *addr)
    ^~~~~~~~~~~~~~~~~
    At top level:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:6452: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/Makefile.build:289: 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:1461: 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.7.2-201.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

  47. nenad says:

    I was away for a month and when I got home it was no surprise that the patches were broken already and it was even less of a surprise that A.I. already had the fix! It works fine on my Fedora 24, kernel 4.7.4-200. I merged the 4.7-arch-cpu_has_pge-v2.patch A.I. points out above with the 4.6 patch and made the new combined fglrx_kernel.4.7.diff patch. You can find it with the other patches on my GitHub: https://github.com/imageguy/fglrx-for-Fedora/

    • Jhon says:

      I tried to install, but does not work in the new kernel 4.7.5-200

      • nenad says:

        Hmm… it worked for me on 4.7.5-200 just now. I upgraded, rebooted, uninstalled fglrx just in case (though it seemed OK when I rebooted), rebooted, reinstalled, rebooted and it worked…. I looked at the screenshot you posted on my GitHub and it didn’t appear that the place it hung was fglrx-related. Could you post the screenshot here? I bet somebody will have a better idea than I do…

      • survient says:

        Can confirm working on fedora 23 with kernel 4.7.5-100, Radeon HD 7870.

      • A.I. says:

        Sometimes the fglrx uninstaller does not restore everything properly. After uninstalling fglrx I usually run the following:
        sudo dnf reinstall xorg-x11-* mesa-*
        This will repair all the broken links,etc.
        Then install Crimson.

  48. dflctr says:

    I have been following this feed for years with many installs of Fedora and many successful fglrx installs back from fc22 to fc23 but am confused now with the feed and information all of the place. I am running fc24 kernel 4.7.7-200.fc24.x86_64+debug. Is it still necessary to change selinux policy to permissive? I applied the latest 4.7 patch and received black screen at login. Please assist.

    install kernel headers, check.
    downgrad xorg-x11 server to fc22, check.
    copy missing version.h header file into proper location, check.
    apply lastest 4.7 patch, check.

    Attached are fglrx install logs.

    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.7.7-200.fc24.x86_64+debug/build SUBDIRS=/usr/lib/modules/fglrx/build_mod/2.6.x modules
    make[1]: Entering directory ‘/usr/src/kernels/4.7.7-200.fc24.x86_64+debug’
    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:6468:12: warning: ‘KCL_fpu_save_init’ defined but not used [-Wunused-function]
    static int KCL_fpu_save_init(struct task_struct *tsk)
    ^~~~~~~~~~~~~~~~~
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o
    /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:839:20: warning: ‘KCL_ACPI_Slot_No_Hotplug’ defined but not used [-Wunused-function]
    static acpi_status KCL_ACPI_Slot_No_Hotplug(KCL_ACPI_DevHandle handle, u32 lvl, void *data, void **rv)
    ^~~~~~~~~~~~~~~~~~~~~~~~
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_agp.o
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_debug.o
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_io.o
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_pci.o
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_str.o
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_iommu.o
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl.o
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_wait.o
    LD [M] /usr/lib/modules/fglrx/build_mod/2.6.x/fglrx.o
    Building modules, stage 2.
    MODPOST 1 modules
    FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol ‘debug_check_no_locks_held’
    scripts/Makefile.modpost:91: recipe for target ‘__modpost’ failed
    make[2]: *** [__modpost] Error 1
    Makefile:1465: recipe for target ‘modules’ failed
    make[1]: *** [modules] Error 2
    make[1]: Leaving directory ‘/usr/src/kernels/4.7.7-200.fc24.x86_64+debug’
    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

  49. deflector says:

    running Fedora 24 kernel 4.7.7-200 and getting black screen, can you please assist?

    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.7.7-200.fc24.x86_64+debug/build SUBDIRS=/usr/lib/modules/fglrx/build_mod/2.6.x modules
    make[1]: Entering directory ‘/usr/src/kernels/4.7.7-200.fc24.x86_64+debug’
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
    In file included from /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:207:0:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: warning: extra tokens at end of #ifndef directive
    #ifndef boot_cpu_has(X86_FEATURE_PGE)
    ^
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:6468:12: warning: ‘KCL_fpu_save_init’ defined but not used [-Wunused-function]
    static int KCL_fpu_save_init(struct task_struct *tsk)
    ^~~~~~~~~~~~~~~~~
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o
    /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:839:20: warning: ‘KCL_ACPI_Slot_No_Hotplug’ defined but not used [-Wunused-function]
    static acpi_status KCL_ACPI_Slot_No_Hotplug(KCL_ACPI_DevHandle handle, u32 lvl, void *data, void **rv)
    ^~~~~~~~~~~~~~~~~~~~~~~~
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_agp.o
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_debug.o
    In file included from /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_debug.c:38:0:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: warning: extra tokens at end of #ifndef directive
    #ifndef boot_cpu_has(X86_FEATURE_PGE)
    ^
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_io.o
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_pci.o
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_str.o
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_iommu.o
    In file included from /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_iommu.c:48:0:
    /usr/lib/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: warning: extra tokens at end of #ifndef directive
    #ifndef boot_cpu_has(X86_FEATURE_PGE)
    ^
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl.o
    CC [M] /usr/lib/modules/fglrx/build_mod/2.6.x/kcl_wait.o
    LD [M] /usr/lib/modules/fglrx/build_mod/2.6.x/fglrx.o
    Building modules, stage 2.
    MODPOST 1 modules
    FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol ‘debug_check_no_locks_held’
    scripts/Makefile.modpost:91: recipe for target ‘__modpost’ failed
    make[2]: *** [__modpost] Error 1
    Makefile:1465: recipe for target ‘modules’ failed
    make[1]: *** [modules] Error 2
    make[1]: Leaving directory ‘/usr/src/kernels/4.7.7-200.fc24.x86_64+debug’
    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

  50. noobish says:

    The 4.7 patch succeeds on f25 beta1’s 4.8.1-1 kernel, but I get an invisible gdm, gnome DE, and cinnamon DE phenomenon. I got the same behavior on f23 with kernels 4.4 – 4.7 on 75xxM, so this doesn’t mean it won’t work for you. Applying the mentioned patches to cogl as Marco suggests doesn’t help any, despite the description from a similar patch writer for amdgpu (https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/amd-linux/881527-amdgpu-pro-16-30-released-with-rx-480-support?p=881680#post881680) report seeming to match most closely the type of “blank screen” I’m encountering. His patch doesn’t help any, either. X is running, and the DE is running, as evident from it responding to my key presses to initiate logout, etc. It just doesn’t display anything but the mouse pointer.

    kdm and mint work, however. I did not try KDE, although I suspect that would also work. If anyone has ideas on what this could be, I’m all ears.

  51. HX_unbanned says:

    @noobish , I guess best bet is to try to fix this in Fedora 25.

  52. Johnny Chang says:

    Does anybody experience high CPU usage while running Crimson drivers while watching high frame rate 1080 video with VLC. I have compared the video playback of those the Gallium driver vs Crimson while doing intensive CPU tasks as BOINC prime crunching and SETI, and the stuttering and pixelation is pretty accentuated while using Crimson making those almost unwatchable, Gallium instead has less issues under the same conditions and just drop a frame once in a while, does that mean that Crimson is deprecated because it doesn’t represent any advantageon it’s usage compared to Gallium?

  53. Gil says:

    Hi everybody
    does anybody know hot to make the catalyst ( I own a HD 50xx serie adapter) driver work in Fedora 23 4.7.9xx ?
    BTW it runs with xorg 1.18
    thx

  54. A.I. says:

    The instructions at the top of page are still valid except for Kernel-4.7.x …you need to use nenads 4.7 patch …..scroll to Sept 23 2016 for download link.
    Make sure you have all necessary development packages installed.
    You MUST downgrade xorg to 1.17 or 1.16 (before attempting to install ) if you want to use Crimson (catalyst) driver.
    If you run KDE there should be no issues, Gnome may not work, XFCE is reported to work. You can install more than one Window Manager before switching to Crimson, if in doubt.

  55. Gil says:

    Thanks a lot. I’m quite scarried about downgrading xorg, but after having done a good tar of the system I think it is less risky.!

    Tell u soon !

  56. Gil says:

    So bad news:
    FTR I own a HD 5450 adaptor. After the recent upgrade, I run on the 4.7.10 kernel. I downgraded xorg to 1.16
    and
    1) I could not even try install the 15301 AMD driver, the installer having denied because “adapter not supported”
    2) I tried to install the 15201 driver with the 4.7_patch

    I got compilation errors in kernel module.

    That’s all folks 😦

  57. A.I. says:

    Use the following at your own risk:
    ( handy to check builds in Virtual Box )

    To run installer without a supported card edit the lokixml.sh file and remove or comment out any sections that contain:

    Your graphics adapter is not supported by this driver
    Installation will not proceed.

  58. A.I. says:

    Last post should read:
    …comment out any sections that contain:
    ” ”
    ” Your graphics adapter is not supported by this driver ”
    ” Installation will not proceed ”
    ” “

  59. Gil says:

    Oops, I forgot that I got an error patching the driver’s sources. Maybe because of the new kernel ??

  60. nenad says:

    My box updated today to 4.8.4-200.fc24.x86_64. I know some people had problems with 4.8, but I am happy to report that it all worked fine using 4.7 patches. I use KDE, so your mileage may vary if you use another GUI.

  61. Gil says:

    The patch went fine this time.
    I removed the lines including
    ” Your graphics adapter is not supported by this driver ”
    ” Installation will not proceed ”
    In effect I had no message telling that the adapator was not supported, but once more I got messages during the kernel module compilation:

    Building module:
    cleaning build area…
    cd /var/lib/dkms/fglrx/15.30.1025/build; sh make.sh –nohints –uname_r=4.7.10-100.fc23.i686+PAE –norootcheck…..(bad exit status: 1)
    [Error] Kernel Module : Failed to build fglrx-15.30.1025 with DKMS
    [Error] Kernel Module : Removing fglrx-15.30.1025 from DKMS

    ——————————
    Deleting module version: 15.30.1025
    completely from the DKMS tree.
    ——————————
    Done.

    And I removed all. What could I do ?
    Thx

    • A.I. says:

      Many apologies for any confusion.
      In my post I tried to use the correct syntax ( more than and less than brackets, which unfortunately ended up leaving part of the post invisible, hence the odd use of inverted commas in an attempt to get it to post. So now in an attempt to clarify, I am replacing the more than and less than symbols with inverted commas:

      …comment out any sections that contain:

      ”require command=”sh detect_gpu.sh” ”
      ” Your graphics adapter is not supported by this driver ”
      ” Installation will not proceed ”
      ”/require “

      In my copy of lokixml.sh this would need lines 217 -219 and lines 268 – 270 being removed.

      In your previous post you mention crimson 15.301 and 15.201. Have you tried 15.302?
      If your graphics card is pre GCN you may find that even if you can build and install fglrx it may well have limited functionality. But good luck anyway.
      I can confirm that kernel-4.8.6 works with crimson 15.302 and nenads patch.

      • Gil says:

        Hi. For what regards both sections containing “require…” aso, I had to delete these lines because if I just commented them, that had no effect, I don’t know why.

        ONOH, till today, I could download the 15.302 driver. Finally, today, I lied to the site and it agreed to let me download. So I’ll be able to make another try soon.

        Anyway, thanks a lot to you !

      • Gil says:

        Finally it got worse: As DKMS didn’t work, I tried to compile the module by myself.
        I went to /fglrx-15.302/fglrx-install.nUkDCb/common/lib/modules/fglrx/build_mod/
        ran the make.sh and got errors again.

        Here is the content of the make.sh.log file
        ++++++++++++++++++++++++++++++++++++++++++
        AMD kernel module generator version 2.1
        .
        Active kernel:
        uname -s = Linux
        uname -m = i686
        uname -r = 4.7.10-100.fc23.i686+PAE
        uname -v = #1 SMP Wed Oct 26 23:45:56 UTC 2016
        .
        Target kernel:
        uname -s = Linux
        uname -m = i686
        uname -r = 4.7.10-100.fc23.i686+PAE
        uname -v = #1 SMP Wed Oct 26 23:45:56 UTC 2016
        .
        OsVersion says: SMP=1
        file /proc/kallsyms says: SMP=1
        file /lib/modules/4.7.10-100.fc23.i686+PAE/build/include/generated/autoconf.h says: SMP=1
        file /lib/modules/4.7.10-100.fc23.i686+PAE/build/include/generated/autoconf.h says: MODVERSIONS=
        file /lib/modules/4.7.10-100.fc23.i686+PAE/build/arch/x86/include/asm/compat.h says: COMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space
        .
        doing Makefile based build for kernel 2.6.x and higher
        make -C /lib/modules/4.7.10-100.fc23.i686+PAE/build SUBDIRS=/oldhome/download/ati15-302/fglrx-15.302/fglrx-install.nUkDCb/common/lib/modules/fglrx/build_mod/2.6.x modules
        make[1]: Entering directory ‘/usr/src/kernels/4.7.10-100.fc23.i686+PAE’
        CC [M] /oldhome/download/ati15-302/fglrx-15.302/fglrx-install.nUkDCb/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
        In file included from /oldhome/download/ati15-302/fglrx-15.302/fglrx-install.nUkDCb/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:207:0:
        /oldhome/download/ati15-302/fglrx-15.302/fglrx-install.nUkDCb/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.h:654:21: attention : éléments lexicaux superflus à la fin de la directive #ifndef
        #ifndef boot_cpu_has(X86_FEATURE_PGE)
        ^
        /oldhome/download/ati15-302/fglrx-15.302/fglrx-install.nUkDCb/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: Dans la fonction ‘__fgl_cmpxchg’:
        /oldhome/download/ati15-302/fglrx-15.302/fglrx-install.nUkDCb/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1726:47: erreur : implicit declaration of function ‘__xg’ [-Werror=implicit-function-declaration]
        : “q”(new), “m”(*__xg(ptr)), “0”(old)
        ^
        /oldhome/download/ati15-302/fglrx-15.302/fglrx-install.nUkDCb/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1726:46: erreur : invalid type argument of unary ‘*’ (have ‘int’)
        : “q”(new), “m”(*__xg(ptr)), “0”(old)
        ^
        /oldhome/download/ati15-302/fglrx-15.302/fglrx-install.nUkDCb/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1732:46: erreur : invalid type argument of unary ‘*’ (have ‘int’)
        : “q”(new), “m”(*__xg(ptr)), “0”(old)
        ^
        /oldhome/download/ati15-302/fglrx-15.302/fglrx-install.nUkDCb/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1738:46: erreur : invalid type argument of unary ‘*’ (have ‘int’)
        : “q”(new), “m”(*__xg(ptr)), “0”(old)
        /oldhome/download/ati15-302/fglrx-15.302/fglrx-install.nUkDCb/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1724:9: erreur : memory input 2 is not directly addressable
        __asm__ __volatile__(LOCK_PREFIX “cmpxchgb %b1,%2”
        ^
        /oldhome/download/ati15-302/fglrx-15.302/fglrx-install.nUkDCb/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1730:9: erreur : memory input 2 is not directly addressable
        __asm__ __volatile__(LOCK_PREFIX “cmpxchgw %w1,%2”
        ^
        /oldhome/download/ati15-302/fglrx-15.302/fglrx-install.nUkDCb/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1736:9: erreur : memory input 2 is not directly addressable
        __asm__ __volatile__(LOCK_PREFIX “cmpxchgl %1,%2”
        ^
        cc1 : les avertissements sont traités comme des erreurs
        scripts/Makefile.build:289: recipe for target ‘/oldhome/download/ati15-302/fglrx-15.302/fglrx-install.nUkDCb/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o’ failed
        make[2]: *** [/oldhome/download/ati15-302/fglrx-15.302/fglrx-install.nUkDCb/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1
        Makefile:1462: recipe for target ‘_module_/oldhome/download/ati15-302/fglrx-15.302/fglrx-install.nUkDCb/common/lib/modules/fglrx/build_mod/2.6.x’ failed
        make[1]: *** [_module_/oldhome/download/ati15-302/fglrx-15.302/fglrx-install.nUkDCb/common/lib/modules/fglrx/build_mod/2.6.x] Error 2
        make[1]: Leaving directory ‘/usr/src/kernels/4.7.10-100.fc23.i686+PAE’
        Makefile:88: recipe for target ‘kmod_build’ failed
        make: *** [kmod_build] Error 2
        build failed with return value 2
        +++++++++++++++++++++++++++++++++++++

        Any idea ?
        Thx

  62. A.I. says:

    This looks like your problem is that you are running a 32bit system. I am on 64bit so cannot try the following but try popping over to:
    https://github.com/kolasa/fglrx-core-15.201/commit/87c63173c3c9f9fa98efc84bd905751dea90ec5e
    The comments at end regarding 32bit may help.

  63. Gil says:

    Thanks. But the error is definitly nont the same than reported in this thread.
    I have to give up and if somebody finds an idea he will be welcome.

  64. Jay V says:

    For 4.9.* kernel, here is the patch to update firegl_public.c for it to work–

    — common/lib/modules/fglrx/build_mod/firegl_public.c.orig 2017-01-16 08:21:01.691192501 -0800
    +++ common/lib/modules/fglrx/build_mod/firegl_public.c 2017-01-16 08:26:00.488218805 -0800
    @@ -3220,7 +3220,9 @@
    int ret;

    down_read(&current->mm->mmap_sem);
    -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)
    +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0)
    + ret = get_user_pages_remote(current, current->mm, vaddr, page_cnt, 1, (struct page **)page_list, NULL);
    +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)
    ret = get_user_pages(vaddr, page_cnt, 1, 0, (struct page **)page_list, NULL);
    #else
    ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 0, (struct page **)page_list, NULL);
    @@ -3242,7 +3244,9 @@
    int ret;

    down_read(&current->mm->mmap_sem);
    -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)
    +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0)
    + ret = get_user_pages_remote(current, current->mm, vaddr, page_cnt, 0, (struct page **)page_list, NULL);
    +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)
    ret = get_user_pages(vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL);
    #else
    ret = get_user_pages(current, current->mm, vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL);

    • noobish says:

      I don’t understand this patch. Why get_user_pages_remote() instead of removing the second 0 in existing get_user_pages()? The latter works for me with the following kernels:
      4.9.4-201.fc25.x86_64
      4.9.5-200.fc25.x86_64

      Here’s what I mean:
      @@ -3220,7 +3220,11 @@
      int ret;

      down_read(&current->mm->mmap_sem);
      – ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 0, (struct page **)page_list, NULL);
      + #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0)
      + ret = get_user_pages(vaddr, page_cnt, 1, (struct page **)page_list, NULL);
      + #else
      + ret = get_user_pages(vaddr, page_cnt, 1, 0, (struct page **)page_list, NULL);
      + #endif
      up_read(&current->mm->mmap_sem);

      return ret;
      @@ -3238,7 +3242,11 @@
      int ret;

      down_read(&current->mm->mmap_sem);
      – ret = get_user_pages(current, current->mm, vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL);
      + #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0)
      + ret = get_user_pages(vaddr, page_cnt, 0, (struct page **)page_list, NULL);
      + #else
      + ret = get_user_pages(vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL);
      + #endif
      up_read(&current->mm->mmap_sem);

      return ret;

      I did not try your patch.

      For others, I’d like to stress that the previous 4.7 patch is also needed.

      • Nenad says:

        noobish has kindly shared his patch with me on GitHub. His fglrx_kernel_4.9.diff patch in GitHub (https://github.com/imageguy/fglrx-for-Fedora) is standalone i.e., does not need 4.7 or any other patches to be applied before the 4.9 patch. noobish has also updated the convenience do_install script. It all worked fine for me on 4.9.5-100.fc24 kernel. Thanks, noobish!

  65. A.I. says:

    Have just installed kernel-4.10.5-200.fc25.x86_64. Crimson needs another patch to get it going..
    git clone https://aur.archlinux.org/catalyst.git
    You only need to add
    4,10-arch-sling00-virtual_address-acpi_get_table_with_size.patch
    to Nenads 4.9 patch.
    Installs OK runs OK.

    • nenad says:

      I am unfortunately still on fc24, which is still on 4.9. I can spin a 4.10 patch with the additional changes to kcl_acpi.c, but the patch also seems to make changes to firegl_public.c. Archlinux patching strategy is different enough that I am uncomfortable changing firegl_public.c without an ability to test it out, and I don’t have time at the moment to migrate to fc25. Can you share firegl_public.c that works for you on 4.10? Than I can build a new patch. Thanks!

    • nenad says:

      Thanks, A.I.! I’ve published the new fglrx_kernel_4.10.diff patch and the corresponding do_install on GitHub (https://github.com/imageguy/fglrx-for-Fedora).

    • Johnny Chang says:

      Does anybody experienced a broken X.org driver unable to detect properly the adapter and resorting to Gallium with a vendor indentifier as VMware and no DRI video acceleration after upgrading to the latest 4.10.6 kernel? When I issued the dnf update command there where a library conflict related to ‘libac52’ installed from rpmfusion preventing the completion of the update, I was forced to uninstall the libac52 after which the update when smoothly. I patched the fglrx driver and installed it without any glitch but the system freeze upon reboot once it start loading the windows manager, forcing me to issue a runlevel 2 at startup to be able to uninstall and revert to the gallium driver. I tried booting the previous 4.9.7 kernel to no avail, being present the same problem of absent DRI acceleration at the description of X.org features. Any feedback regarding is appreciated and tanks beforehand for your reply.

      • Johnny Chang says:

        I means Thanks 😛 silly me unable to edit a typo.

      • Johnny Chang says:

        Update: The removed package is called a52dec-libs and it’s seems related to DVD stream decoding, not sure it has anything to do with X.org at all. Besides is curious to not find any x.org.conf except the one in the /etc/abrt/plugins .

  66. A.I. says:

    When system rebooted into new kernel after upgrade from F24 to F25 I needed to issue following to start kdm / x

    sudo systemctl enable kdm.service
    sudo systemctl start kdm.service

    Then full graphic mode started.
    If it is not the above then you could try…

    uninstall fglrx
    Check that your xorg-server and server common is still vers. 1.17
    dnf reinstall xorg-* mesa*
    reinstall fglrx

    • Johnny Chang says:

      The problem is that when I issue startx when in runlevel 2, it apperas the xorg is unable to even load the driver module, it seems incapable to detect the hardware so it default to no DRI Mesa which is software rendering only, but the curious thing is that the vendor ID tell it’s Gallium from VMware. Today I upgraded again to the latest 4.10.8 kernel, let’s hope it’s just a temporary issue, it was working before on the 4.9 kernel in F25.

      • Johnny Chang says:

        [ 119.843]
        X.Org X Server 1.17.4
        Release Date: 2015-10-28
        [ 119.843] X Protocol Version 11, Revision 0
        [ 119.843] Build Operating System: 4.1.8-100.fc21.x86_64
        [ 119.843] Current Operating System: Linux localhost.localdomain 4.10.8-200.fc25.x86_64 #1 SMP Fri Mar 31 13:20:22 UTC 2017 x86_64
        [ 119.843] Kernel command line: BOOT_IMAGE=/vmlinuz-4.10.8-200.fc25.x86_64 root=UUID=fb791f4d-0032-4f80-bae4-789f504e5dba ro rhgb quiet LANG=en_US.UTF-8
        [ 119.843] Build Date: 02 November 2015 04:40:36PM
        [ 119.843] Build ID: xorg-x11-server 1.17.4-1.fc22
        [ 119.843] Current version of pixman: 0.34.0
        [ 119.844] Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
        [ 119.844] Markers: (–) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
        [ 119.844] (==) Log file: “/var/log/Xorg.0.log”, Time: Thu Apr 6 23:09:47 2017
        [ 119.844] (==) Using config file: “/etc/X11/xorg.conf”
        [ 119.844] (==) Using system config directory “/usr/share/X11/xorg.conf.d”
        [ 119.844] (==) ServerLayout “aticonfig Layout”
        [ 119.844] (**) |–>Screen “aticonfig-Screen[0]-0” (0)
        [ 119.844] (**) | |–>Monitor “aticonfig-Monitor[0]-0”
        [ 119.844] (**) | |–>Device “aticonfig-Device[0]-0”
        [ 119.844] (==) Automatically adding devices
        [ 119.844] (==) Automatically enabling devices
        [ 119.844] (==) Automatically adding GPU devices
        [ 119.844] (==) FontPath set to:
        catalogue:/etc/X11/fontpath.d,
        built-ins
        [ 119.844] (==) ModulePath set to “/usr/lib64/xorg/modules”
        [ 119.844] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
        [ 119.844] (II) Loader magic: 0x81be00
        [ 119.844] (II) Module ABI versions:
        [ 119.844] X.Org ANSI C Emulation: 0.4
        [ 119.844] X.Org Video Driver: 19.0
        [ 119.844] X.Org XInput driver : 21.1
        [ 119.844] X.Org Server Extension : 9.0
        [ 119.846] (++) using VT number 1

        [ 119.846] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
        [ 119.848] (–) PCI:*(0:0:1:0) 1002:130f:1458:d000 rev 0, Mem @ 0xc0000000/268435456, 0xd0000000/8388608, 0xfeb00000/262144, I/O @ 0x0000f000/256, BIOS @ 0x????????/131072
        [ 119.848] (II) “glx” will be loaded by default.
        [ 119.848] (II) LoadModule: “glx”
        [ 119.849] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
        [ 119.849] (II) Module glx: vendor=”Advanced Micro Devices, Inc.”
        [ 119.849] compiled for 6.9.0, module version = 1.0.0
        [ 119.849] (II) LoadModule: “fglrx”
        [ 119.849] (II) Loading /usr/lib64/xorg/modules/drivers/fglrx_drv.so
        [ 119.875] (II) Module fglrx: vendor=”FireGL – AMD Technologies Inc.”
        [ 119.875] compiled for 1.4.99.906, module version = 15.30.3
        [ 119.875] Module class: X.Org Video Driver
        [ 119.875] (II) Loading sub module “fglrxdrm”
        [ 119.875] (II) LoadModule: “fglrxdrm”
        [ 119.875] (II) Loading /usr/lib64/xorg/modules/linux/libfglrxdrm.so
        [ 119.876] (II) Module fglrxdrm: vendor=”FireGL – AMD Technologies Inc.”
        [ 119.876] compiled for 1.4.99.906, module version = 15.30.3
        [ 119.876] (II) AMD Proprietary Linux Driver Version Identifier:15.30.3
        [ 119.876] (II) AMD Proprietary Linux Driver Release Identifier: UNSUPPORTED-15.302
        [ 119.876] (II) AMD Proprietary Linux Driver Build Date: Dec 17 2015 02:43:16
        [ 119.876] (WW) Falling back to old probe method for fglrx
        [ 119.892] (II) Loading PCS database from /etc/ati/amdpcsdb /etc/ati/amdpcsdb.default
        [ 119.896] ukiDynamicMajor: found major device number 245
        [ 119.896] ukiDynamicMajor: found major device number 245
        [ 119.896] ukiOpenByBusid: Searching for BusID PCI:0:1:0
        [ 119.897] ukiOpenDevice: node name is /dev/ati/card0

        Any clue of what is wrong with my system is very appreciate.

  67. A.I. says:

    Have just upgraded to kernel-4.10.8-200.fc25.x86_64
    I am using 4.10-arch-sling00-virtual_address-acpi_get_table_with_size.patch
    added to Nenads 4.9 patch.
    All installed and running well.
    I have compared your X.Org.log with mine, and they are exactly the same down to
    [119.896] ukiDynamicMajor:found major device number 245
    mine=
    [119.896] ukiDynamicMajor:found major device number 244
    My card is Southern Islands so support not yet enabled in kernel.
    Is your card new enough to use amdgpu driver with latest xorg?

    • Johnny Chang says:

      I am using an A10-7850k and it’s integrated GPU, everything was fine up to kernel 4.9 but now that I updated to kernel 4.10 even if I boot up with the old kernel things remain the same, it’s unable to detect properly the graphic adapter and it revert to software rendering with no DRI acceleration. My current installation is a legacy upgrade from F23 then F24 and latest F25. Just for the sake of curiosity I made a fresh install of F25 in another spare hard drive and the X.Org 1.19 was running fine with the Gallium and DRI from Mesa. I suspect somewhere along the upgrade to the latest Mesa it dropped support for the former X.Org 1.17.04 which is the one I froze when installed F23. As a last resort I will comment the line which prevent dnf from upgrading the x.org-common and let it upgrade to the latest version to see if the problem is sorted out.

  68. Johnny Chang says:

    Is there another method to downgrade xorg to version 1.17? It seems the repositories for versions of Fedora lower than 23 are non existent because once I tried to downgrade it states that the lowest version is already installed which is 1.19.0.

  69. A.I. says:

    awaiting moderation

  70. A.I. says:

    kernel-4.11.3-200.fc25.x86_64 needed another patch to be added.
    git clone https://aur.archlinux.org/catalyst.git
    You only need to add 4.11-npfeiler-signal_vmf.patch
    Oddly I also had to install
    elfutils-libelf-devel
    All running smoothly.

    • nenad says:

      Thanks, A.I!
      I’ve added the patch to the GIT repository: https://github.com/imageguy/fglrx-for-Fedora. fglrx_kernel_4.11.diff contains the new combined patch (i.e., combines this patch with the previous patches) and do_install script has been updated to handle 4.11.
      A note of caution: I’m still on fc24, which has not migrated to 4.11 (my kernel is 4.10.17-100). I tested the as much as I could, but let me know if I messed something up.

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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