See the next post in the series for comments regarding the installation process for the Catalyst 14.12 driver on Fedora 20 with kernel 3.17. The steps are roughly identical (the only real change being the version designation of the driver from 14.301 to 14.501), so the below process is still complete.
Special thanks are deserved by Gil, who pointed this issue out when he encountered it with the 32 bit version of the kernel, and Duane (of local fame), who resolved it through a slightly different method from that which I offer below. I would also like to acknowledge vukas, who pointed me towards an unofficial AMD Bugzilla listing for this issue.
Thanks to everyone for making this blog into a genuinely collaborative effort to keep the little issues from preventing wider use of the great Fedora operating system! =)
So, with kernel 3.17.2-200.fc20.x86_64, attempts to install the latest AMD Catalyst driver (14.9) fail, throwing the following error:
DKMS part of installation failed. Please refer to /usr/share/ati/fglrx-install.log for details
As with the previous installation guide for the Catalyst 14.4 driver and kernel, we now find ourselves again in need of a patch. The issue appears to have been diagnosed by Philm of the Manjaro team, who notes that the struct ‘acpi_device_flags’ has no member named ‘no_hotplug’. This is a problem for the kcl_acpi.c file which attempts to set the no_hotplug member to ‘true’.
If I had noticed that Philm offered a patch in that very post, I wouldn’t have constructed my own, but here’s my patch for the issue:
Just download that (and remove the final .doc extension if it bothers you – I just did that to get WordPress to allow me to upload it) and follow the below steps to install the latest AMD Catalyst 14.9 driver on Fedora 20 using the latest kernel (3.17.2-200.fc20.x86_64 at the time of writing):
There are two major prerequisites for the AMD Catalyst 14.9 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 kernel-devel
Unfortunately, the code included with GNOME 3.10 and beyond 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 – Doctor Hoo reports that XFCE works, for example – but that’s what I’m using and I have verified that it works properly):
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.9 (fglrx) driver from AMD’s site.
2) 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-9-linux-x86-x86-64.zip.
3) Change your working directory to the fglrx-14.301.1001 directory and extract the driver file:
cd fglrx-14.10.1006/ sh amd-driver-installer-14.301.1001-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.301.1001″ followed by a lot of dots.
4) Now, you should see a newly created folder called fglrx-install.whateveryourcomputernamedit (mine, for example, was fglrx-install.wIhzk3). Change your working directory appropriately and apply the patch:
cd fglrx-install.wIhzk3 mv ~/Downloads/3.17_kernel.patch ./ #this is not necessary, but I do it for sanity's sake patch -p0 < 3.17_kernel.patch
If you are successful, you will see the following output:
patching file common/lib/modules/fglrx/build_mod/kcl_acpi.c”
5) Now that you’ve patched the installation package, run the installation:
sudo ./ati-installer.sh 14.301 --install
7) Choose the “Install Driver 14.301 on X.Org 6.9 or later 64-bit” option from the Setup Wizard, and then simply follow the prompts.
Ensure that you do not select “Generate Distribution Specific Driver Package (Recommended)”. This will only work if you use one of the officially supported Linux distributions listed on AMD’s site (Fedora is not included).
8) Reboot your machine and enjoy!