How can I install the AMD graphics drivers on Fedora 18? I downloaded the driver from the amd website. I unpacked the driver and ran the "amd-driver-installer-catalyst-13.1-linux-x86.x86_64.run" script. But that gives me an error.

During the installation I get this error:

Supported adapter detected.
Check if system has the tools required for installation.
fglrx installation requires that the system have kernel headers.  /lib/modules/3.6.10-4.fc18.x86_64/build/include/linux/version.h cannot be found on this system.
One or more tools required for installation cannot be found on the system. Install the required tools before installing the fglrx driver.
Optionally, run the installer with --force option to install without the tools.
Forcing install will disable AMD hardware acceleration and may make your system unstable. Not recommended.

Where can I find the kernel headers? I already did a yum install kernel-headers (kernel-headers.x86_64), but that doesn't solve the problem.

  • Are you sure the version of kernel-headers you installed matches the current running kernel? – jordanm Mar 7 '13 at 18:07
  • My running kernel is: kernel-headers-3.6.10-4.fc18.x86. The only headers I can find in Yum are: arm-gp2x-linux-kernel-headers.noarch : Kernel headers for Cross Compiling to arm-gp2x-linux and: kernel-headers.x86_64 : Header files for the Linux kernel for use by glibc. I installed the last headers. – Dagob Mar 7 '13 at 18:08

The package you need to build your own modules is called kernel-devel in Fedora. The kernel-headers package contains headers from the kernel, sanitized for use with glibc.


OP reports that something like the following is also needed.

Newer kernels don't carry include/linux/version.h, which is needed to build the module. A fix is:

ln -s /usr/include/linux/version.h /lib/modules/<kernel-version here>/build/include/linux/version.h

This will have to be repeated for each new kernel before building the module, and the extraneous link will prevent the package manager from fully removing the directory.

  • I get the message that I already installed those packets. Isn't possible that the location of version.h is changed? Or that I need to move version.h from some where else? The maps exists, there are also a bunch of headers on the location. But only version.h is missing. – Dagob Mar 7 '13 at 19:14
  • This solves the problem: cp -v /usr/include/linux/version.h /lib/modules/3.8.1-201.fc18.x86_64/build/include/linux/version.h. The location was changed. Could you update your answer? Then I can accept it. – Dagob Mar 7 '13 at 19:20

It seems that in newer kernel versions, like 3.8.1, the file version.h has changed its place. I could get it to work by this way:

ln -s /usr/src/linux/include/generated/uapi/linux/version.h  /lib/modules/3.8.1-30-desktop/build/include/linux/version.h

Using kernel version 3.8.1 in an OpenSuse 12.3 environment.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.