Be sure to check out the next post in this series for the latest information on version 14.9 of the Catalyst (fglrx) driver for Linux. The short story is: no patch is required for the new driver. You can simply download and execute the .run file once you have met the prerequisites described below (including the removal of GNOME, unfortunately).
So, if you’ve been following the recent post on the AMD Catalyst 14.4 (fglrx) driver for Fedora 20, you know that we (thanks, Duane!) seem to have discovered the solution to installing Catalyst 14.4 (fglrx) on Fedora 20 with the latest Fedora kernel (3.14.3-200.fc20.x86_64). It initially seemed that AMD had dropped support for kernel versions beyond 3.11 (see the “System Requirements” section about half-way down the page), and that may still be the case, but the Catalyst 14.4 driver installs successfully on Fedora 20 with kernel versions through 3.13.10-200.fc20.x86_64 (see here for instructions, but you’ll probably want to read on for the instructions for overcoming the incompatibility with the latest Fedora 20 kernel; if not, update your kernel! Sheesh!). Of course, it could also be a simple typographical error on behalf of AMD, since the 14.4 Release Candidate claims support for kernel versions through 3.13 (again, see the “System Requirements” section near the bottom of the page).
On Fedora 20 with kernel versions 3.14.2-200.fc20.x86_64 and above, however, the Catalyst 14.4 driver (as well as the Release Candidate) will not install successfully, but will fail with the following error:
Building module: cleaning build area... cd /var/lib/dkms/fglrx/14.10/build; sh make.sh --nohints --uname_r=3.14.2-200.fc20.x86_64 --norootcheck...(bad exit status: 1) [Error] Kernel Module : Failed to build fglrx-14.10 with DKMS [Error] Kernel Module : Removing fglrx-14.10 from DKMS ------------------------------ Deleting module version: 14.10 completely from the DKMS tree. ------------------------------ Done. [Reboot] Kernel Module : dracut
To overcome this error, I tracked down a post in fedoraforum.org wherein one “leigh123linux” proposes a resolution to the issue with a simple patch (at first glance, it appears merely to instruct the code’s check for the kernel version to return success for kernel versions 3.14 and above). A friendly Linux troubleshooter by the name of Duane commented on my post regarding the matter and finished the research I had started by locating and verifying the patch.
There are two major prerequisites for the AMD Catalyst 14.4 driver on Fedora 20. The first is to meet the package requirements, and the second is to run a desktop environment other than GNOME (I use KDE).
As stated by the “installer.html” document provided by the driver, the prerequisites are as follows:
- GCC version 3.3.3 or higher.
- Kernel headers or kernel sources matching version of the kernel you’re running.
Please consult to documentation for your distribution how to get and install this.
- XFree86 version 4.1.X, 4.2.X, 4.3.X, or XOrg version 6.8.X (Fedora 20 does not use XFree86) or higher.
Heed the warning:
- If you have multiple version of X Window System installed on your computer the installer will try to detect the default X, and install the driver for the detected version. However, you could experience problems trying to run other versions of X after this. Also, if your X Window System is installed into a nonstandard location, installation of the driver could be either problematic or incomplete.
With a fully up-to-date Fedora 20 installation, perform the following command to acquire the requisite packages:
yum install gcc kernel-headers
It may be that kernel-devel is necessary too; let me know what you find.
Unfortunately, the code included with GNOME 3.10 to allow for experimental Wayland support conflicts with the proprietary AMD Catalyst driver. Attempts to boot into GNOME with the driver installed will result in a startup failure. I hope AMD resolves this matter since Wayland is on its way to becoming mainstream, but in the meanwhile, remove GNOME and install KDE (other desktop environments may work as well, but that’s what I’m using and I have verified that it works properly):
#Update – This command was originally written with “GNOME Desktop Environment” rather than “GNOME Desktop.” It appears the group name has been updated since the writing of this article, though I have not confirmed that hypothesis. Anyway, the correct command is below:
sudo yum groupremove “GNOME Desktop”
sudo yum install @kde
You will then need to ensure that your machine boots using the KDE Desktop Manager (KDM). To do that, see this post and follow the instructions at the beginning. Once you’ve reached the part which reads “Now, when you reboot, you should see the KDM login manager,” return to this post and follow the instructions which begin immediately below:
(I will assume that you download the driver and the patch into the Downloads directory in your home directory):
1) Download the AMD Catalyst 14.4 (fglrx) driver from AMD’s site.
Note: If you are running a high-end AMD APU (such as the A10-6800k Richland 4.1 GHz model), you should consider installing the AMD Catalyst 14.4 Release Candidate driver instead. See this post for details on the huge performance improvement (over 30%) I have observed in my system.
2) Download Leigh123linux’s patch.
If you can’t reach the link for the patch, you can create a simple file (3.14_kernel.patch is the file name used by the rest of the instructions) with the following content:
--- lib/modules/fglrx/build_mod/firegl_public.c +++ lib/modules/fglrx/build_mod/firegl_public.c @@ -1784,7 +1784,11 @@ KCL_TYPE_Uid ATI_API_CALL KCL_GetEffecti #else #ifdef current_euid +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0) + return __kuid_val(current_euid()); +#else return current_euid(); +#endif #else return current->euid; #endif
3) Change your working directory to your ~/Downloads directory and extract the amd-catalyst-14-4-linux-x86-x86-64.zip file (it will extract into a directory named fglrx-14.10.1006 in the current working directory):
cd ~/Downloads unzip amd-catalyst-14-4-linux-x86-x86-64.zip.
4) Change your working directory to the fglrx-14.10.1006 directory and extract the driver file:
cd fglrx-14.10.1006/ sh amd-driver-installer-14.10.1006-x86.x86_64.run --extract
Here, you’ll see a message which reads something like: “Created directory fglrx-install.wIhzk3” and then “Verifying archive integrity… All good.” followed by a “Uncompressing AMD Catalyst(TM) Proprietary Driver-14.10.1006” followed by a lot of dots.
5) Now, you should see a newly created folder called fglrx-install.whateveryourcomputernamedit (mine, for example, was fglrx-install.wIhzk3). Move into the “common” subdirectory and use the Linux patch command to apply Leigh123linux’s patch file to the kernel:
cd fglrx-install.wIhzk3/common mv ~/Downloads/3.14_kernel.patch ./ #this is not necessary, but I do it for sanity's sake patch -p0 < 3.14_kernel.patch
If you are successful, you will see “patching file lib/modules/fglrx/build_mod/firegl_public.c” across your terminal.
6) Now that you’ve patched the installation package, run the installation:
sudo ../ati-installer.sh 14.10 --install
7) Follow the Setup wizard (simple, just hit “Continue” and “I Agree” and “Continue.”
8) Reboot your machine and enjoy!
Special thanks to Duane and Leigh123Linux! Let me know if you have any issues with this process and I’ll be glad to assist.