Fedora 17 Installation Guide

From cchtml.com

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

cd ./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

cd ../
./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