Fedora 17 Installation Guide
AMD catalyst 12.6 beta can work well with fedora 17. http://support.amd.com/us/kbarticles/Pages/AMDCatalyst126beta.aspx
Steps to install for HD5xxx and newer cards
Prereqs:
1. You need kernel 3.3.7-1 or 3.3.7-3 . Get them from: (Download kernel, kernel-devel and kernel-headers)
Kernel 3.3.7-3: http://koji.fedoraproject.org/koji/buildinfo?buildID=321331 Kernel 3.3.7-1: http://koji.fedoraproject.org/koji/buildinfo?buildID=319972
2. Amd Catalyst 12.6 beta
Amd Catlyst: http://support.amd.com/us/kbarticles/Pages/AMDCatalyst126beta.aspx
Procedure:
Even if your existing kernel is 3.4.0-1 or higher, this procedure will work! So dont panic! I will take kernel 3.3.7-3 as example, you can use kernel 7-1 if desired.
1. Install the kernel: sudo yum --nogpgcheck install kernel-3.3.7-2.fc17.x86_64.rpm
(nogpgcheck is needed sice koji packages are not signed)
2. Remove existing kernel-devel. First do: rpm -qa | grep kernel-devel . Then remove the kernel-devel-3.x.x package you see, by using rpm -evv kernel-devel-3.4.0-1.fc17.x86_64 (or whatever kernel version you are using)
3. Install kernel-devel (sudo yum --nogpgcheck install kernel-devel-3.3.7-2.fc17.x86_64.rpm)
4. Now, you need to remove kernel-headers. Use: rpm -evv --nodeps kernel-headers-3.4.0.1.fc17.x86_64 (or your kernel headers version, check with rpm -qa | grep kernel-headers). You need to use rpm, since yum will remove both it and dependencies, which include gcc and make; if they are removed, it will torpedo your amd-driver-installer scripts.
5. Install kernel headers (sudo yum --nogpgcheck install kernel-headers-3.3.7-2.fc17.x86_64.rpm). Do a final check with "rpm -qa|grep kernel" to make sure that there is only one copy of kernel-devel, and that it matches the kernel (3.3.7-2.fc17.x86_64) version. Do not proceed to the next step until you have made this check. If you find ANY kernel-devels other than the one being installed here, remove them.
6. Reboot to kernel 3.3.7-3 and install AMD-ATI Catalyst 12.6 BETA driver.
7. Now, edit yum.conf and exclude kernel updates. do: sudo nano /etc/yum.conf and add this to the end: "exclude=kernel*" This will prevent kernel from upgrading. When a new version of Catalyst is available, check for the kernel it supports and upgrade your kernel by uncommenting this line.
Installing on Older Cards (HD4xxx and below)
If you have an HD4xxx series card, Catalyst 12.4 is the newest driver to support it (as of June 4, 2012). This won't work with X version 1.12 (the one packaged with Fedora 17). To downgrade to X version 1.11, use the following commands (as root).
Note: I'm assuming x86_64
IMPORTANT: I'd highly recommend going down to runlevel 3 first. You can do this using the following command in one of the text consoles (<CTRL> + <ALT> + <Fx> where x is 1-9, just try them until you get to a console)
systemctl isolate runlevel3.target
Commands for downgrading X:
yum erase xorg-x11-drv-intel
yum --releasever=16 install libxcb* xcb-util startup-notification*
yum --releasever=16 downgrade *xcb* xorg*
You may also need libxcb.i686 from the Fedora 16 release. The intel driver has additional dependencies, and those with AMD/ATi cards don't need it anyway.
To solve the issues with the new kernel source, use the steps in
UPDATE
3.4.0 has been pushed as the most recent kernel update. This will require recompiling the drivers in addition to commenting the two lines out of uaccess_64.h
. Make sure you've rebooted into the new kernel before compiling the driver. To compile go to the directory where the amd-driver-installer-12-4-x86.x86_64.run
file is and type:
./amd-driver-installer-12-4-x86.x86_64.run --extract fglrx
You will then need to edit ./fglrx/common/lib/modules/fglrx/build_mod/kcl_ioctl.c
and add the line
DEFINE_PER_CPU(unsigned long, old_rsp);
on line 220
directly under the end of the multi-line comment. You also need to edit line 4157
of ./fglrx/common/lib/modules/fglrx/build_mod/firegl_public.c
to be
for_each_possible_cpu(p)
. After this, execute
./fglrx/common/lib/modules/fglrx/build_mod/make.sh
as root. If you get an error about no make target for libfglrx_ip.a
, then copy the one from ./fglrx/arch/x86_64/lib/modules/fglrx/build_mod
to ./fglrx/common/lib/modules/fglrx/build_mod/
and try again.
Finally, run
./fglrx/common/lib/modules/fglrx/make_install.sh
as root then
reboot
to check your results, which I do by seeing if this command correctly outputs a temperature.
aticonfig --adapter=0 --od-gettemperature