AMD Catalyst 14.4 for Linux Loses Support for Linux Kernel Versions Above 3.11?

Update:  See the next post for complete instructions regarding the installation of the AMD Catalyst 14.4 driver on Fedora 20.

Note: This is documentation of a problem.  Instructions for the installation of fglrx 14.4 Release Candidate on Fedora 20 are located here (including benchmarks indicating large performance increases for the A10-6800k Richland 4.1 GHz APU), but be aware of the problem described in this document if you are updating to fglrx 14.4 (not the Release Candidate) as support for kernel versions above 3.11 seems to have been dropped.

So, I updated my kernel this morning.  Upon rebooting and attempting to reinstall fglrx 14.4, I was greeted with the following installation error (taken from /usr/share/ati/fglrx-install.log):

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

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

I forced an uninstallation of the driver using aticonfig –uninstall and it failed (expectedly) to locate fglrx 14.10 in the DKMS tree but otherwise succeeded.  I rebooted and was sadly met with the same error message when attempting a reinstallation, so that didn’t fix it.  Just to keep things clean, I did re-run the aticonfig –uninstall command and reboot before further troubleshooting, so it’s a step I recommend first nonetheless.

I head over to AMD site to check out the release notes and specs on the 14.4 release candidate and I see that I overlooked the new version which is official and no longer a release candidate.  Thinking this may solve my problem, I see the strange absence of x86_64 driver version in the “Linux (32-bit & 64-bit)” section of AMD’s site.  Don’t worry about the label of the only available driver as “x86″ – it’s actually x86_64.  Kind of a strange choice on their behalf, but whatever.  In an apparent attempt to confuse the matter further, they write at the bottom of the site “32-Bit packages must be installed for 64-Bit Linux drivers to install or work,” as though one must install this 32 bit package and then locate the apparently absent 64 bit package..

Anyway..

That didn’t fix it either.  Damn.  The same error was thrown.  The official support for kernel versions on the driver’s release notes page indicates support is provided for “Linux kernel 2.6 or above (up to 3.11),” and, of course, Fedora is not supported either (we ride on the support provided for OpenSUSE and the downstream Red Hat Enterprise Linux 6.5), so it wouldn’t be surprising if this turned out to be a fundamental lack of support for the 3.14 kernel (the update was from kernel version 3.13.10).  This level of kernel support is a change from the 14.4 Release Candidate whose release notes demonstrate that support is provided for “Linux kernel 2.6 or above (up to 3.13).”

So, where the fglrx 14.4 Release Candidate supports all but the latest Fedora 20 kernel version, the official fglrx 14.4 drops support for the kernel all the way back to 3.11.  Neither, it seems, supports the 3.14 kernel.

I find that in fedoraforum.org, a user is guided through some steps involving akmod packages from RPMFusion in which I am not interested (and which don’t seem to work as described anyway, though a user running Fedora 21 Rawhide (with kernel 3.15rc, no less) is describing his solution steps to a user running Fedora 20), but the final post is from a guy named “plasmonics” who provides the following solution:

i had the same errors that you did. So I installed the driver manually. The previous driver needs to be uninstalled for the following to work.

Code:
sh amd-driver-installer-14.10.1006-x86.x86_64.run --extract

Apply Leigh’s patch manually:

Code:
cd fglrx-install-xxxxx/common
Code:
patch -p0 <  patchfile

At the top level:

Code:
./ati-installer.sh 14.10 --install

I can’t figure out what “Leigh’s patch” is at the moment, but that’s where I’ll have to leave the investigation for the night.  If anyone has any insight here, let me know!

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

4 Responses to AMD Catalyst 14.4 for Linux Loses Support for Linux Kernel Versions Above 3.11?

  1. Duane says:

    Just confirmed that the Catalyst 14.4 (14.10.1006) works with Fedora 20 with kernel 3.13.10.
    Also confirmed that the Catalyst 14.4 (14.10.1006) works with Fedora 20 with kernel 3.14.2 if the “patch” is applied as you stated in your article. The “patch” appears to be a small change in the driver that allows it to build the module for the 3.14.2 kernel.

    Here is the patch that I found on the forum posts that you mentioned in the article.

    — lib/modules/fglrx/build_mod/firegl_public.c
    +++ lib/modules/fglrx/build_mod/firegl_public.c
    @@ -1784,7 +1784,11 @@ KCL_TYPE_Uid ATI_API_CALL KCL_GetEffecti
    #else

    #ifdef current_euid
    +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)
    + return __kuid_val(current_euid());
    +#else
    return current_euid();
    +#endif
    #else
    return current->euid;
    #endif

  2. Duane says:

    Here is a link to the patch file if anyone wants it.

    http://www.forums.fedoraforum.org/showpost.php?p=1696887&postcount=117

  3. bitwiseoperator says:

    Ah, Duane, you are the man! Thank you very much. I will put together a new post with complete installation instructions based on this information. This is the kind of collaboration I was hoping to see on this blog! Thank you!

  4. Choco says:

    Yeah, this definitely did it! Thank you guys for the info! Much appreciated. I really wish AMD would get on the ball with these driver updates.

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