http://wiki.cchtml.com/api.php?action=feedcontributions&user=67.239.165.48&feedformat=atomcchtml.com - User contributions [en]2024-03-19T04:17:54ZUser contributionsMediaWiki 1.39.4http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8349Fedora 16 Installation Guide2012-03-29T13:09:05Z<p>67.239.165.48: /* Introduction */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Introduction ==<br />
<br />
There are two methods to get the Official AMD driver installed on Fedora. The first is by running the amd-driver-installer package supplied by amd.com. This method is covered in the section "'''Official AMD Driver Package from Amd.com'''". The second is to use the rpm packages supplied by the rpm fusion repos. This method is covered in the section "'''Pre-built packages from RPMFusion'''".<br />
<br />
The sections titled '''Amd-driver-installer Compilation Problems on x86_64 Fedora 16''' and '''Amd-driver-installer Compilation Problems on i686 Fedora 16''' are subject to being resolved by Catalyst updates and therefore may not be relevant to installations after Catalyst version 12.2.<br />
<br />
Catalyst 12.3 is out as of March 28th, 2012. Any problems encountered with 12.2 should be reevaluated under 12.3.<br />
<br />
== Requirements ==<br />
<br />
The Amd-driver-installer from Amd.com will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Amd-driver-installer Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
After saving this edit, if you have previously run amd-driver-installer unsuccessfully, you will need<br />
to run /usr/share/ati/fgrlx-uninstall.sh to reset the system to previous starting conditions. Now follow<br />
the procedure in the section below titled "Official AMD Driver Package from Amd.com".<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Amd-driver-installer Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) At this point, if you have previously run amd-driver-installer unsuccessfully, you <br />
need to return the system to it's starting state by running /usr/share/ati/fgrlx-uninstall.sh.<br />
Then, make sure you follow the directives in the section below titled<br />
"Installation Prep for Amd-Driver-Installer". After you have completed that checklist,<br />
you can now run ati-installer.sh from the extraction subdir (in this case "fgrlx-12.2")<br />
using the following command line:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
From here you should have a successful Fglrx installation.<br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info. If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Installation Prep for Amd-Driver-Installer ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
There can be only one copy of ''kernel-devel'' and it needs to match the running kernel. Same applies to <br />
''kernel-headers''. "Yum update" will always ensure that there's one latest copy of ''kernel-headers'', but<br />
it does not do that for ''kernel-devel'', so you need to look at that yourself. The running kernel<br />
should be the latest one available on the update repos. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest installed kernel version. Example:<br />
<br />
<pre><br />
su -<br />
rpm -ev --nodeps kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
Most users that are installing the Official Amd-driver-installer are looking for maximum performance with direct rendering<br />
and OpenGL performance. Amd-driver-installer requires that Mesa libraries be in place before it's installed, as it replaces<br />
some of those libraries. Therefore if you are a Crossover or Wine user, the mesa lib set will need to be in place before you<br />
run the installer. The following is a working example pulled from a known-good Fedora 16 x86_64 platform running Crossover:<br />
<br />
<pre><br />
su -<br />
yum install mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
Note that Crossover and Wine are 32 bit and therefore require i686 mesa libs in conjunction with the 64 bit versions.<br />
<br />
From here, you should be ready to run the Official Amd-driver-installer.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
There are two methods to disable radeon module. The first is a two-step process and the other approach is listed below.<br />
<br />
''Approach #1:''<br />
<br />
1) Edit the /etc/modprobe.d/blacklist.conf and add radeon to the list.<br />
<br />
2) Run the following:<br />
<br />
<pre><br />
su -<br />
/sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --install $(uname -r)<br />
</pre><br />
<br />
That's it. This will generate a new initramfs that does not have radeon built in. This method has the advantage of not affecting kernel mode setting as well as not needing any grub edits. On the next boot, the radeon module should be gone. You can now reboot to console and execute steps in section above titled "''Official AMD Driver Package from Amd.com''"<br />
<br />
''Approach #2:''<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8314Fedora 16 Installation Guide2012-03-26T13:27:27Z<p>67.239.165.48: /* Introduction */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Introduction ==<br />
<br />
There are two methods to get the Official AMD driver installed on Fedora. The first is by running the amd-driver-installer package supplied by amd.com. This method is covered in the section "'''Official AMD Driver Package from Amd.com'''". The second is to use the rpm packages supplied by the rpm fusion repos. This method is covered in the section "'''Pre-built packages from RPMFusion'''".<br />
<br />
The sections titled '''Amd-driver-installer Compilation Problems on x86_64 Fedora 16''' and '''Amd-driver-installer Compilation Problems on i686 Fedora 16''' are subject to being resolved by Catalyst updates and therefore may not be relevant to installations after Catalyst version 12.2.<br />
<br />
== Requirements ==<br />
<br />
The Amd-driver-installer from Amd.com will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Amd-driver-installer Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
After saving this edit, if you have previously run amd-driver-installer unsuccessfully, you will need<br />
to run /usr/share/ati/fgrlx-uninstall.sh to reset the system to previous starting conditions. Now follow<br />
the procedure in the section below titled "Official AMD Driver Package from Amd.com".<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Amd-driver-installer Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) At this point, if you have previously run amd-driver-installer unsuccessfully, you <br />
need to return the system to it's starting state by running /usr/share/ati/fgrlx-uninstall.sh.<br />
Then, make sure you follow the directives in the section below titled<br />
"Installation Prep for Amd-Driver-Installer". After you have completed that checklist,<br />
you can now run ati-installer.sh from the extraction subdir (in this case "fgrlx-12.2")<br />
using the following command line:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
From here you should have a successful Fglrx installation.<br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info. If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Installation Prep for Amd-Driver-Installer ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
There can be only one copy of ''kernel-devel'' and it needs to match the running kernel. Same applies to <br />
''kernel-headers''. "Yum update" will always ensure that there's one latest copy of ''kernel-headers'', but<br />
it does not do that for ''kernel-devel'', so you need to look at that yourself. The running kernel<br />
should be the latest one available on the update repos. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest installed kernel version. Example:<br />
<br />
<pre><br />
su -<br />
rpm -ev --nodeps kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
Most users that are installing the Official Amd-driver-installer are looking for maximum performance with direct rendering<br />
and OpenGL performance. Amd-driver-installer requires that Mesa libraries be in place before it's installed, as it replaces<br />
some of those libraries. Therefore if you are a Crossover or Wine user, the mesa lib set will need to be in place before you<br />
run the installer. The following is a working example pulled from a known-good Fedora 16 x86_64 platform running Crossover:<br />
<br />
<pre><br />
su -<br />
yum install mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
Note that Crossover and Wine are 32 bit and therefore require i686 mesa libs in conjunction with the 64 bit versions.<br />
<br />
From here, you should be ready to run the Official Amd-driver-installer.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
There are two methods to disable radeon module. The first is a two-step process and the other approach is listed below.<br />
<br />
''Approach #1:''<br />
<br />
1) Edit the /etc/modprobe.d/blacklist.conf and add radeon to the list.<br />
<br />
2) Run the following:<br />
<br />
<pre><br />
su -<br />
/sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --install $(uname -r)<br />
</pre><br />
<br />
That's it. This will generate a new initramfs that does not have radeon built in. This method has the advantage of not affecting kernel mode setting as well as not needing any grub edits. On the next boot, the radeon module should be gone. You can now reboot to console and execute steps in section above titled "''Official AMD Driver Package from Amd.com''"<br />
<br />
''Approach #2:''<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8313Fedora 16 Installation Guide2012-03-26T13:17:12Z<p>67.239.165.48: /* Compilation Problems on x86_64 Fedora 16 */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Introduction ==<br />
<br />
There are two methods to get the Official AMD driver installed on Fedora. The first is by running the amd-driver-installer package supplied by amd.com. This method is covered in the section "'''Official AMD Driver Package from Amd.com'''". The second is to use the rpm packages supplied by the rpm fusion repos. This method is covered in the section "'''Pre-built packages from RPMFusion'''".<br />
<br />
== Requirements ==<br />
<br />
The Amd-driver-installer from Amd.com will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Amd-driver-installer Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
After saving this edit, if you have previously run amd-driver-installer unsuccessfully, you will need<br />
to run /usr/share/ati/fgrlx-uninstall.sh to reset the system to previous starting conditions. Now follow<br />
the procedure in the section below titled "Official AMD Driver Package from Amd.com".<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Amd-driver-installer Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) At this point, if you have previously run amd-driver-installer unsuccessfully, you <br />
need to return the system to it's starting state by running /usr/share/ati/fgrlx-uninstall.sh.<br />
Then, make sure you follow the directives in the section below titled<br />
"Installation Prep for Amd-Driver-Installer". After you have completed that checklist,<br />
you can now run ati-installer.sh from the extraction subdir (in this case "fgrlx-12.2")<br />
using the following command line:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
From here you should have a successful Fglrx installation.<br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info. If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Installation Prep for Amd-Driver-Installer ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
There can be only one copy of ''kernel-devel'' and it needs to match the running kernel. Same applies to <br />
''kernel-headers''. "Yum update" will always ensure that there's one latest copy of ''kernel-headers'', but<br />
it does not do that for ''kernel-devel'', so you need to look at that yourself. The running kernel<br />
should be the latest one available on the update repos. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest installed kernel version. Example:<br />
<br />
<pre><br />
su -<br />
rpm -ev --nodeps kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
Most users that are installing the Official Amd-driver-installer are looking for maximum performance with direct rendering<br />
and OpenGL performance. Amd-driver-installer requires that Mesa libraries be in place before it's installed, as it replaces<br />
some of those libraries. Therefore if you are a Crossover or Wine user, the mesa lib set will need to be in place before you<br />
run the installer. The following is a working example pulled from a known-good Fedora 16 x86_64 platform running Crossover:<br />
<br />
<pre><br />
su -<br />
yum install mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
Note that Crossover and Wine are 32 bit and therefore require i686 mesa libs in conjunction with the 64 bit versions.<br />
<br />
From here, you should be ready to run the Official Amd-driver-installer.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
There are two methods to disable radeon module. The first is a two-step process and the other approach is listed below.<br />
<br />
''Approach #1:''<br />
<br />
1) Edit the /etc/modprobe.d/blacklist.conf and add radeon to the list.<br />
<br />
2) Run the following:<br />
<br />
<pre><br />
su -<br />
/sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --install $(uname -r)<br />
</pre><br />
<br />
That's it. This will generate a new initramfs that does not have radeon built in. This method has the advantage of not affecting kernel mode setting as well as not needing any grub edits. On the next boot, the radeon module should be gone. You can now reboot to console and execute steps in section above titled "''Official AMD Driver Package from Amd.com''"<br />
<br />
''Approach #2:''<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8312Fedora 16 Installation Guide2012-03-26T13:16:44Z<p>67.239.165.48: /* Compilation Problems on i686 Fedora 16 */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Introduction ==<br />
<br />
There are two methods to get the Official AMD driver installed on Fedora. The first is by running the amd-driver-installer package supplied by amd.com. This method is covered in the section "'''Official AMD Driver Package from Amd.com'''". The second is to use the rpm packages supplied by the rpm fusion repos. This method is covered in the section "'''Pre-built packages from RPMFusion'''".<br />
<br />
== Requirements ==<br />
<br />
The Amd-driver-installer from Amd.com will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
After saving this edit, if you have previously run amd-driver-installer unsuccessfully, you will need<br />
to run /usr/share/ati/fgrlx-uninstall.sh to reset the system to previous starting conditions. Now follow<br />
the procedure in the section below titled "Official AMD Driver Package from Amd.com".<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Amd-driver-installer Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) At this point, if you have previously run amd-driver-installer unsuccessfully, you <br />
need to return the system to it's starting state by running /usr/share/ati/fgrlx-uninstall.sh.<br />
Then, make sure you follow the directives in the section below titled<br />
"Installation Prep for Amd-Driver-Installer". After you have completed that checklist,<br />
you can now run ati-installer.sh from the extraction subdir (in this case "fgrlx-12.2")<br />
using the following command line:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
From here you should have a successful Fglrx installation.<br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info. If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Installation Prep for Amd-Driver-Installer ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
There can be only one copy of ''kernel-devel'' and it needs to match the running kernel. Same applies to <br />
''kernel-headers''. "Yum update" will always ensure that there's one latest copy of ''kernel-headers'', but<br />
it does not do that for ''kernel-devel'', so you need to look at that yourself. The running kernel<br />
should be the latest one available on the update repos. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest installed kernel version. Example:<br />
<br />
<pre><br />
su -<br />
rpm -ev --nodeps kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
Most users that are installing the Official Amd-driver-installer are looking for maximum performance with direct rendering<br />
and OpenGL performance. Amd-driver-installer requires that Mesa libraries be in place before it's installed, as it replaces<br />
some of those libraries. Therefore if you are a Crossover or Wine user, the mesa lib set will need to be in place before you<br />
run the installer. The following is a working example pulled from a known-good Fedora 16 x86_64 platform running Crossover:<br />
<br />
<pre><br />
su -<br />
yum install mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
Note that Crossover and Wine are 32 bit and therefore require i686 mesa libs in conjunction with the 64 bit versions.<br />
<br />
From here, you should be ready to run the Official Amd-driver-installer.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
There are two methods to disable radeon module. The first is a two-step process and the other approach is listed below.<br />
<br />
''Approach #1:''<br />
<br />
1) Edit the /etc/modprobe.d/blacklist.conf and add radeon to the list.<br />
<br />
2) Run the following:<br />
<br />
<pre><br />
su -<br />
/sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --install $(uname -r)<br />
</pre><br />
<br />
That's it. This will generate a new initramfs that does not have radeon built in. This method has the advantage of not affecting kernel mode setting as well as not needing any grub edits. On the next boot, the radeon module should be gone. You can now reboot to console and execute steps in section above titled "''Official AMD Driver Package from Amd.com''"<br />
<br />
''Approach #2:''<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8311Fedora 16 Installation Guide2012-03-26T13:15:36Z<p>67.239.165.48: /* Installing the Official AMD driver */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Introduction ==<br />
<br />
There are two methods to get the Official AMD driver installed on Fedora. The first is by running the amd-driver-installer package supplied by amd.com. This method is covered in the section "'''Official AMD Driver Package from Amd.com'''". The second is to use the rpm packages supplied by the rpm fusion repos. This method is covered in the section "'''Pre-built packages from RPMFusion'''".<br />
<br />
== Requirements ==<br />
<br />
The Amd-driver-installer from Amd.com will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
After saving this edit, if you have previously run amd-driver-installer unsuccessfully, you will need<br />
to run /usr/share/ati/fgrlx-uninstall.sh to reset the system to previous starting conditions. Now follow<br />
the procedure in the section below titled "Official AMD Driver Package from Amd.com".<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) At this point, if you have previously run amd-driver-installer unsuccessfully, you <br />
need to return the system to it's starting state by running /usr/share/ati/fgrlx-uninstall.sh.<br />
Then, make sure you follow the directives in the section below titled<br />
"Installation Prep for Amd-Driver-Installer". After you have completed that checklist,<br />
you can now run ati-installer.sh from the extraction subdir (in this case "fgrlx-12.2")<br />
using the following command line:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
From here you should have a successful Fglrx installation.<br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info. If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Installation Prep for Amd-Driver-Installer ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
There can be only one copy of ''kernel-devel'' and it needs to match the running kernel. Same applies to <br />
''kernel-headers''. "Yum update" will always ensure that there's one latest copy of ''kernel-headers'', but<br />
it does not do that for ''kernel-devel'', so you need to look at that yourself. The running kernel<br />
should be the latest one available on the update repos. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest installed kernel version. Example:<br />
<br />
<pre><br />
su -<br />
rpm -ev --nodeps kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
Most users that are installing the Official Amd-driver-installer are looking for maximum performance with direct rendering<br />
and OpenGL performance. Amd-driver-installer requires that Mesa libraries be in place before it's installed, as it replaces<br />
some of those libraries. Therefore if you are a Crossover or Wine user, the mesa lib set will need to be in place before you<br />
run the installer. The following is a working example pulled from a known-good Fedora 16 x86_64 platform running Crossover:<br />
<br />
<pre><br />
su -<br />
yum install mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
Note that Crossover and Wine are 32 bit and therefore require i686 mesa libs in conjunction with the 64 bit versions.<br />
<br />
From here, you should be ready to run the Official Amd-driver-installer.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
There are two methods to disable radeon module. The first is a two-step process and the other approach is listed below.<br />
<br />
''Approach #1:''<br />
<br />
1) Edit the /etc/modprobe.d/blacklist.conf and add radeon to the list.<br />
<br />
2) Run the following:<br />
<br />
<pre><br />
su -<br />
/sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --install $(uname -r)<br />
</pre><br />
<br />
That's it. This will generate a new initramfs that does not have radeon built in. This method has the advantage of not affecting kernel mode setting as well as not needing any grub edits. On the next boot, the radeon module should be gone. You can now reboot to console and execute steps in section above titled "''Official AMD Driver Package from Amd.com''"<br />
<br />
''Approach #2:''<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8305Fedora 16 Installation Guide2012-03-24T08:10:28Z<p>67.239.165.48: /* Troubleshooting */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The Amd-driver-installer from Amd.com will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
After saving this edit, if you have previously run amd-driver-installer unsuccessfully, you will need<br />
to run /usr/share/ati/fgrlx-uninstall.sh to reset the system to previous starting conditions. Now follow<br />
the procedure in the section below titled "Official AMD Driver Package from Amd.com".<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) At this point, if you have previously run amd-driver-installer unsuccessfully, you <br />
need to return the system to it's starting state by running /usr/share/ati/fgrlx-uninstall.sh.<br />
Then, make sure you follow the directives in the section below titled<br />
"Installation Prep for Amd-Driver-Installer". After you have completed that checklist,<br />
you can now run ati-installer.sh from the extraction subdir (in this case "fgrlx-12.2")<br />
using the following command line:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
From here you should have a successful Fglrx installation.<br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info. If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Installation Prep for Amd-Driver-Installer ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
There can be only one copy of ''kernel-devel'' and it needs to match the running kernel. Same applies to <br />
''kernel-headers''. "Yum update" will always ensure that there's one latest copy of ''kernel-headers'', but<br />
it does not do that for ''kernel-devel'', so you need to look at that yourself. The running kernel<br />
should be the latest one available on the update repos. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest installed kernel version. Example:<br />
<br />
<pre><br />
su -<br />
rpm -ev --nodeps kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
Most users that are installing the Official Amd-driver-installer are looking for maximum performance with direct rendering<br />
and OpenGL performance. Amd-driver-installer requires that Mesa libraries be in place before it's installed, as it replaces<br />
some of those libraries. Therefore if you are a Crossover or Wine user, the mesa lib set will need to be in place before you<br />
run the installer. The following is a working example pulled from a known-good Fedora 16 x86_64 platform running Crossover:<br />
<br />
<pre><br />
su -<br />
yum install mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
Note that Crossover and Wine are 32 bit and therefore require i686 mesa libs in conjunction with the 64 bit versions.<br />
<br />
From here, you should be ready to run the Official Amd-driver-installer.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
There are two methods to disable radeon module. The first is a two-step process and the other approach is listed below.<br />
<br />
''Approach #1:''<br />
<br />
1) Edit the /etc/modprobe.d/blacklist.conf and add radeon to the list.<br />
<br />
2) Run the following:<br />
<br />
<pre><br />
su -<br />
/sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --install $(uname -r)<br />
</pre><br />
<br />
That's it. This will generate a new initramfs that does not have radeon built in. This method has the advantage of not affecting kernel mode setting as well as not needing any grub edits. On the next boot, the radeon module should be gone. You can now reboot to console and execute steps in section above titled "''Official AMD Driver Package from Amd.com''"<br />
<br />
''Approach #2:''<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8304Fedora 16 Installation Guide2012-03-24T07:42:43Z<p>67.239.165.48: /* Installation Prep for Amd-Driver-Installer */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The Amd-driver-installer from Amd.com will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
After saving this edit, if you have previously run amd-driver-installer unsuccessfully, you will need<br />
to run /usr/share/ati/fgrlx-uninstall.sh to reset the system to previous starting conditions. Now follow<br />
the procedure in the section below titled "Official AMD Driver Package from Amd.com".<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) At this point, if you have previously run amd-driver-installer unsuccessfully, you <br />
need to return the system to it's starting state by running /usr/share/ati/fgrlx-uninstall.sh.<br />
Then, make sure you follow the directives in the section below titled<br />
"Installation Prep for Amd-Driver-Installer". After you have completed that checklist,<br />
you can now run ati-installer.sh from the extraction subdir (in this case "fgrlx-12.2")<br />
using the following command line:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
From here you should have a successful Fglrx installation.<br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info. If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Installation Prep for Amd-Driver-Installer ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
There can be only one copy of ''kernel-devel'' and it needs to match the running kernel. Same applies to <br />
''kernel-headers''. "Yum update" will always ensure that there's one latest copy of ''kernel-headers'', but<br />
it does not do that for ''kernel-devel'', so you need to look at that yourself. The running kernel<br />
should be the latest one available on the update repos. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest installed kernel version. Example:<br />
<br />
<pre><br />
su -<br />
rpm -ev --nodeps kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
Most users that are installing the Official Amd-driver-installer are looking for maximum performance with direct rendering<br />
and OpenGL performance. Amd-driver-installer requires that Mesa libraries be in place before it's installed, as it replaces<br />
some of those libraries. Therefore if you are a Crossover or Wine user, the mesa lib set will need to be in place before you<br />
run the installer. The following is a working example pulled from a known-good Fedora 16 x86_64 platform running Crossover:<br />
<br />
<pre><br />
su -<br />
yum install mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
Note that Crossover and Wine are 32 bit and therefore require i686 mesa libs in conjunction with the 64 bit versions.<br />
<br />
From here, you should be ready to run the Official Amd-driver-installer.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8303Fedora 16 Installation Guide2012-03-24T07:41:50Z<p>67.239.165.48: /* Installation Prep for Amd-Driver-Installer */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The Amd-driver-installer from Amd.com will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
After saving this edit, if you have previously run amd-driver-installer unsuccessfully, you will need<br />
to run /usr/share/ati/fgrlx-uninstall.sh to reset the system to previous starting conditions. Now follow<br />
the procedure in the section below titled "Official AMD Driver Package from Amd.com".<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) At this point, if you have previously run amd-driver-installer unsuccessfully, you <br />
need to return the system to it's starting state by running /usr/share/ati/fgrlx-uninstall.sh.<br />
Then, make sure you follow the directives in the section below titled<br />
"Installation Prep for Amd-Driver-Installer". After you have completed that checklist,<br />
you can now run ati-installer.sh from the extraction subdir (in this case "fgrlx-12.2")<br />
using the following command line:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
From here you should have a successful Fglrx installation.<br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info. If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Installation Prep for Amd-Driver-Installer ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
There can be only one copy of ''kernel-devel'' and it needs to match the running kernel. Same applies to <br />
''kernel-headers''. "Yum update" will always ensure that there's one latest copy of ''kernel-headers'', but<br />
it does not do that for ''kernel-devel'', so you need to look at that yourself. The running kernel<br />
should be the latest one available on the update repos. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest installed kernel version. Example:<br />
<br />
<pre><br />
su -<br />
rpm -ev kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
Most users that are installing the Official Amd-driver-installer are looking for maximum performance with direct rendering<br />
and OpenGL performance. Amd-driver-installer requires that Mesa libraries be in place before it's installed, as it replaces<br />
some of those libraries. Therefore if you are a Crossover or Wine user, the mesa lib set will need to be in place before you<br />
run the installer. The following is a working example pulled from a known-good Fedora 16 x86_64 platform running Crossover:<br />
<br />
<pre><br />
su -<br />
yum install mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
Note that Crossover and Wine are 32 bit and therefore require i686 mesa libs in conjunction with the 64 bit versions.<br />
<br />
From here, you should be ready to run the Official Amd-driver-installer.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8302Fedora 16 Installation Guide2012-03-24T07:38:36Z<p>67.239.165.48: /* Installation Prep for Amd-Driver-Installer */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The Amd-driver-installer from Amd.com will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
After saving this edit, if you have previously run amd-driver-installer unsuccessfully, you will need<br />
to run /usr/share/ati/fgrlx-uninstall.sh to reset the system to previous starting conditions. Now follow<br />
the procedure in the section below titled "Official AMD Driver Package from Amd.com".<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) At this point, if you have previously run amd-driver-installer unsuccessfully, you <br />
need to return the system to it's starting state by running /usr/share/ati/fgrlx-uninstall.sh.<br />
Then, make sure you follow the directives in the section below titled<br />
"Installation Prep for Amd-Driver-Installer". After you have completed that checklist,<br />
you can now run ati-installer.sh from the extraction subdir (in this case "fgrlx-12.2")<br />
using the following command line:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
From here you should have a successful Fglrx installation.<br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info. If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Installation Prep for Amd-Driver-Installer ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
There can be only one copy of ''kernel-devel'' and it needs to match the running kernel. Same applies to <br />
''kernel-headers''. "Yum update" will always ensure that there's one latest copy of ''kernel-headers'', but<br />
it does not do that for ''kernel-devel'', so you need to look at that yourself. The running kernel<br />
should be the latest one available on the update repos. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest installed kernel version. Example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
Most users that are installing the Official Amd-driver-installer are looking for maximum performance with direct rendering<br />
and OpenGL performance. Amd-driver-installer requires that Mesa libraries be in place before it's installed, as it replaces<br />
some of those libraries. Therefore if you are a Crossover or Wine user, the mesa lib set will need to be in place before you<br />
run the installer. The following is a working example pulled from a known-good Fedora 16 x86_64 platform running Crossover:<br />
<br />
<pre><br />
su -<br />
yum install mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
Note that Crossover and Wine are 32 bit and therefore require i686 mesa libs in conjunction with the 64 bit versions.<br />
<br />
From here, you should be ready to run the Official Amd-driver-installer.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8301Fedora 16 Installation Guide2012-03-24T07:21:13Z<p>67.239.165.48: /* Multiple Monitor Setups */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The Amd-driver-installer from Amd.com will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
After saving this edit, if you have previously run amd-driver-installer unsuccessfully, you will need<br />
to run /usr/share/ati/fgrlx-uninstall.sh to reset the system to previous starting conditions. Now follow<br />
the procedure in the section below titled "Official AMD Driver Package from Amd.com".<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) At this point, if you have previously run amd-driver-installer unsuccessfully, you <br />
need to return the system to it's starting state by running /usr/share/ati/fgrlx-uninstall.sh.<br />
Then, make sure you follow the directives in the section below titled<br />
"Installation Prep for Amd-Driver-Installer". After you have completed that checklist,<br />
you can now run ati-installer.sh from the extraction subdir (in this case "fgrlx-12.2")<br />
using the following command line:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
From here you should have a successful Fglrx installation.<br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info. If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Installation Prep for Amd-Driver-Installer ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
There can be only one copy of ''kernel-devel'' and it needs to match the running kernel. Same applies to <br />
''kernel-headers''. "Yum update" will always ensure that there's one latest copy of ''kernel-headers'', but<br />
it does not do that for ''kernel-devel'', so you need to look at that yourself. The running kernel<br />
should be the latest one available on the update repos. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest installed kernel version. Example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8300Fedora 16 Installation Guide2012-03-24T07:18:36Z<p>67.239.165.48: /* Compilation Problems on i686 Fedora 16 */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The Amd-driver-installer from Amd.com will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
After saving this edit, if you have previously run amd-driver-installer unsuccessfully, you will need<br />
to run /usr/share/ati/fgrlx-uninstall.sh to reset the system to previous starting conditions. Now follow<br />
the procedure in the section below titled "Official AMD Driver Package from Amd.com".<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) At this point, if you have previously run amd-driver-installer unsuccessfully, you <br />
need to return the system to it's starting state by running /usr/share/ati/fgrlx-uninstall.sh.<br />
Then, make sure you follow the directives in the section below titled<br />
"Installation Prep for Amd-Driver-Installer". After you have completed that checklist,<br />
you can now run ati-installer.sh from the extraction subdir (in this case "fgrlx-12.2")<br />
using the following command line:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
From here you should have a successful Fglrx installation.<br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Installation Prep for Amd-Driver-Installer ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
There can be only one copy of ''kernel-devel'' and it needs to match the running kernel. Same applies to <br />
''kernel-headers''. "Yum update" will always ensure that there's one latest copy of ''kernel-headers'', but<br />
it does not do that for ''kernel-devel'', so you need to look at that yourself. The running kernel<br />
should be the latest one available on the update repos. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest installed kernel version. Example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8299Fedora 16 Installation Guide2012-03-24T07:03:51Z<p>67.239.165.48: /* Requirements */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The Amd-driver-installer from Amd.com will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
After saving this edit, if you have previously run amd-driver-installer unsuccessfully, you will need<br />
to run /usr/share/ati/fgrlx-uninstall.sh to reset the system to previous starting conditions. Now follow<br />
the procedure in the section below titled "Official AMD Driver Package from Amd.com".<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) At this point, make sure you have followed the directives in the section below titled<br />
"Installation Prep for Amd-Driver-Installer". After you have completed that checklist,<br />
you can now run ati-installer.sh from the extraction subdir (in this case "fgrlx-12.2")<br />
using the following command line:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
From here you should have a successful Fglrx installation.<br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Installation Prep for Amd-Driver-Installer ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
There can be only one copy of ''kernel-devel'' and it needs to match the running kernel. Same applies to <br />
''kernel-headers''. "Yum update" will always ensure that there's one latest copy of ''kernel-headers'', but<br />
it does not do that for ''kernel-devel'', so you need to look at that yourself. The running kernel<br />
should be the latest one available on the update repos. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest installed kernel version. Example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8298Fedora 16 Installation Guide2012-03-24T06:58:47Z<p>67.239.165.48: /* Compilation Problems on i686 Fedora 16 */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
After saving this edit, if you have previously run amd-driver-installer unsuccessfully, you will need<br />
to run /usr/share/ati/fgrlx-uninstall.sh to reset the system to previous starting conditions. Now follow<br />
the procedure in the section below titled "Official AMD Driver Package from Amd.com".<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) At this point, make sure you have followed the directives in the section below titled<br />
"Installation Prep for Amd-Driver-Installer". After you have completed that checklist,<br />
you can now run ati-installer.sh from the extraction subdir (in this case "fgrlx-12.2")<br />
using the following command line:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
From here you should have a successful Fglrx installation.<br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Installation Prep for Amd-Driver-Installer ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
There can be only one copy of ''kernel-devel'' and it needs to match the running kernel. Same applies to <br />
''kernel-headers''. "Yum update" will always ensure that there's one latest copy of ''kernel-headers'', but<br />
it does not do that for ''kernel-devel'', so you need to look at that yourself. The running kernel<br />
should be the latest one available on the update repos. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest installed kernel version. Example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8297Fedora 16 Installation Guide2012-03-24T06:54:09Z<p>67.239.165.48: /* Compilation Problems on x86_64 Fedora 16 */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
After saving this edit, if you have previously run amd-driver-installer unsuccessfully, you will need<br />
to run /usr/share/ati/fgrlx-uninstall.sh to reset the system to previous starting conditions. Now follow<br />
the procedure in the section below titled "Official AMD Driver Package from Amd.com".<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) From the extraction subdir (in this case "fgrlx-12.2"), run ati-installer.sh<br />
as follows:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Installation Prep for Amd-Driver-Installer ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
There can be only one copy of ''kernel-devel'' and it needs to match the running kernel. Same applies to <br />
''kernel-headers''. "Yum update" will always ensure that there's one latest copy of ''kernel-headers'', but<br />
it does not do that for ''kernel-devel'', so you need to look at that yourself. The running kernel<br />
should be the latest one available on the update repos. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest installed kernel version. Example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8296Fedora 16 Installation Guide2012-03-24T06:47:10Z<p>67.239.165.48: /* Installation Prep for Amd-Driver-Installer */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) From the extraction subdir (in this case "fgrlx-12.2"), run ati-installer.sh<br />
as follows:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Installation Prep for Amd-Driver-Installer ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
There can be only one copy of ''kernel-devel'' and it needs to match the running kernel. Same applies to <br />
''kernel-headers''. "Yum update" will always ensure that there's one latest copy of ''kernel-headers'', but<br />
it does not do that for ''kernel-devel'', so you need to look at that yourself. The running kernel<br />
should be the latest one available on the update repos. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest installed kernel version. Example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8295Fedora 16 Installation Guide2012-03-24T06:45:25Z<p>67.239.165.48: /* Preinstall required packages */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) From the extraction subdir (in this case "fgrlx-12.2"), run ati-installer.sh<br />
as follows:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Installation Prep for Amd-Driver-Installer ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
There can be only one copy of kernel-devel and it needs to match the running kernel. Same applies to <br />
kernel-headers. "Yum update" will always ensure that there's one latest copy of kernel-headers, but<br />
it does not do that for kernel-devel, so you need to look at that yourself. The running kernel<br />
should be the latest one available on the update repos. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest installed kernel version. Example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=User_talk:67.239.165.48&diff=8294User talk:67.239.165.482012-03-24T06:30:51Z<p>67.239.165.48: </p>
<hr />
<div>* I don't know who's editing the Fedora 16 Fglrx page, but the first paragraph titled "Please Consider" was originally written evidently to push a particular license (GPL) rather than present procedures and solutions. I've edited that to make it somewhat neutral but someone seems intent on pushing radeon first. Besides the fact that radeon is already the default installed driver on most distros, there isn't really a need to mention radeon at all other than to state that it exists, since a procedure is generally not needed for radeon installation. That makes a radeon driver discussion redundant unless you are pushing GPL. IMO this site should not be used for pimping licenses but rather for presenting solutions.<br />
<br />
** That's me, check the history. I actually like your idea of presenting two driver options and I've written a more impartial overview of each driver. I see you're still editing so I'll wait till you're done to apply it. I also disagree with some things you've stated: The broken module compilation is fixed with a two-line sourcecode comment, we should include the fix rather that just say "it's busted", I'm using fglrx on 3.2.9-2 fine. I'm also completely removing your dracut step, this is far too complex for a regular user who doesn't understand initramfs, it also leaves the system in a state where it may not actually have a graphics driver if fglrx stuffs up. Blacklisting on the kernel line is sufficient and is what the RPMFusion RPM scripts and the Official installation script do anyway. --[[User:Super Jamie|Super Jamie]] 06:02, 22 March 2012 (CDT)<br />
** Changes made. Feel free to contact me via the email address on my userpage if you'd like to discuss directly, here is fine too. --[[User:Super Jamie|Super Jamie]] 06:48, 22 March 2012 (CDT)<br />
<br />
<br />
** Ok, I see. It's nice to put a name to the text. As far as the 3.2.9-1 fix goes, I assumed you would have gleaned that there was no other solution afaik. But I am glad there is a solution and that it's being published. I personally tested it last night and it works on 64 bit Fedora; however there seems to be a problem getting the method to work on 32 bit.<br />
** Ah I don't have a 32-bit install to check, it has worked on the last two 64-bit kernels tho. The commit that broke it is referenced on the forum page I linked to, maybe look for that commit in the 32-bit source? I took out the first part of the document, you're right, let's just give people information about installing the damn driver :) Thanks for your help in making this better, I maintained the F14 document as well, it's come a long way since then but has always been lacking in multi-monitor suggestions. I used to have three screens in 2007 but gave up and bought a massive single screen, then XRandR became popular a few releases later. --[[Special:Contributions/124.171.204.113|124.171.204.113]] 15:59, 23 March 2012 (CDT)<br />
<br />
Note: I've verified a procedure for getting amd-driver-installer to work on i686 F16 and I've integrated it into the doc with adjustments for greater conciseness and precision. I also verified the x86_64 F16 procedure here on two machines and with other users on the latest 64 bit kernel, which as of today is 3.3.0-4.fc16.x86_64.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8293Fedora 16 Installation Guide2012-03-24T06:19:14Z<p>67.239.165.48: /* Compilation Problems on i686 Fedora 16 */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) From the extraction subdir (in this case "fgrlx-12.2"), run ati-installer.sh<br />
as follows:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8292Fedora 16 Installation Guide2012-03-24T06:18:34Z<p>67.239.165.48: /* Compilation Problems on x86_64 Fedora 16 */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section is for users that are using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) From the extraction subdir (in this case "fgrlx-12.2"), run ati-installer.sh<br />
as follows:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8291Fedora 16 Installation Guide2012-03-24T06:15:31Z<p>67.239.165.48: /* Uninstalling Official AMD driver */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section is for users that are using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section is for users that are using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) From the extraction subdir (in this case "fgrlx-12.2"), run ati-installer.sh<br />
as follows:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686<br />
mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
At this point you should be prepped to start a new amd-driver-installer session to get the latest Fglrx version.<br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8290Fedora 16 Installation Guide2012-03-24T06:05:29Z<p>67.239.165.48: /* Compilation Problems on i686 Fedora 16 */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section is for users that are using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section is for users that are using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your /usr/share/ati/fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<pre><br />
cd fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
</pre><br />
<br />
3) In that dir, open a text editor, copy the following code and save to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) From the extraction subdir (in this case "fgrlx-12.2"), run ati-installer.sh<br />
as follows:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8289Fedora 16 Installation Guide2012-03-24T03:00:29Z<p>67.239.165.48: /* Official AMD Driver */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section is for users that are using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section is for users that are using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<br />
fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
<br />
<br />
3) In that dir, save the following code to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) From the extraction subdir (in this case "fgrlx-12.2"), run ati-installer.sh<br />
as follows:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver Package from Amd.com==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8288Fedora 16 Installation Guide2012-03-24T02:57:29Z<p>67.239.165.48: /* Install driver */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section is for users that are using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section is for users that are using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<br />
fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
<br />
<br />
3) In that dir, save the following code to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) From the extraction subdir (in this case "fgrlx-12.2"), run ati-installer.sh<br />
as follows:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8287Fedora 16 Installation Guide2012-03-24T02:56:55Z<p>67.239.165.48: /* Official AMD Driver */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section is for users that are using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section is for users that are using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<br />
fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
<br />
<br />
3) In that dir, save the following code to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) From the extraction subdir (in this case "fgrlx-12.2"), run ati-installer.sh<br />
as follows:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
''Note: This section '''applies directly''' to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8286Fedora 16 Installation Guide2012-03-24T02:54:37Z<p>67.239.165.48: /* Pre-built packages from RPMFusion */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section is for users that are using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section is for users that are using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<br />
fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
<br />
<br />
3) In that dir, save the following code to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) From the extraction subdir (in this case "fgrlx-12.2"), run ati-installer.sh<br />
as follows:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
''Note: This section '''does not''' apply to users using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8285Fedora 16 Installation Guide2012-03-24T02:52:12Z<p>67.239.165.48: /* Compilation Problems on i686 Fedora 16 */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section is for users that are using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
''Note: This section is for users that are using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<br />
fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
<br />
<br />
3) In that dir, save the following code to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) From the extraction subdir (in this case "fgrlx-12.2"), run ati-installer.sh<br />
as follows:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8284Fedora 16 Installation Guide2012-03-24T02:51:51Z<p>67.239.165.48: /* Compilation Problems on x86_64 Fedora 16 */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
''Note: This section is for users that are using the Official amd-driver-installer package downloaded from amd.com''<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<br />
fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
<br />
<br />
3) In that dir, save the following code to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) From the extraction subdir (in this case "fgrlx-12.2"), run ati-installer.sh<br />
as follows:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8283Fedora 16 Installation Guide2012-03-24T02:42:48Z<p>67.239.165.48: /* Compilation Problems on x86_64 Fedora 16 */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later. If you are getting the following error in your /usr/share/ati/fgrlx-install.log:<br />
<br />
<pre><br />
<br />
make[1]: Entering directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o<br />
In file included from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess.h:575:0,<br />
from include/asm-generic/termios.h:51,<br />
from /usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/termios.h:1,<br />
from include/linux/termios.h:5,<br />
from include/linux/tty.h:41,<br />
from include/linux/vt_kern.h:11,<br />
from /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.c:35:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h: In function ‘copy_from_user’:<br />
/usr/src/kernels/3.3.0-4.fc16.x86_64/arch/x86/include/asm/uaccess_64.h:57:7: error: called object ‘2’ is not a function<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.3.0-4.fc16.x86_64'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
</pre><br />
<br />
Then this procedure is confirmed to work on 64 bit Fedora 16.<br />
<br />
Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<br />
fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
<br />
<br />
3) In that dir, save the following code to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) From the extraction subdir (in this case "fgrlx-12.2"), run ati-installer.sh<br />
as follows:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8282Fedora 16 Installation Guide2012-03-24T02:33:37Z<p>67.239.165.48: /* Compilation Problems on i686 Fedora 16 */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later.<br />
<br />
To fix this, we can revert a small edit. Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<br />
fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
<br />
<br />
3) In that dir, save the following code to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) From the extraction subdir (in this case "fgrlx-12.2"), run ati-installer.sh<br />
as follows:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
*Reference: http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8281Fedora 16 Installation Guide2012-03-24T02:32:56Z<p>67.239.165.48: /* kernel-3.2.9-2.fc16 and onwards */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== Compilation Problems on x86_64 Fedora 16 ===<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later.<br />
<br />
To fix this, we can revert a small edit. Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<br />
fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
<br />
<br />
3) In that dir, save the following code to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) From the extraction subdir (in this case "fgrlx-12.2"), run ati-installer.sh<br />
as follows:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8280Fedora 16 Installation Guide2012-03-24T02:30:42Z<p>67.239.165.48: /* kernel-3.2.9-2.fc16 and onwards */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== kernel-3.2.9-2.fc16 and onwards ===<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later.<br />
<br />
To fix this, we can revert a small edit. Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Compilation Problems on i686 Fedora 16 ===<br />
<br />
The following is a procedure that has been confirmed to work with i686 Fedora users.<br />
If you are getting the following message in your fglrx-install.log:<br />
<br />
<pre><br />
<br />
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.<br />
AMD kernel module generator version 2.1<br />
doing Makefile based build for kernel 2.6.x and higher<br />
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers<br />
make -C /lib/modules/3.2.9-1.fc16.i686/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules<br />
make[1]: Entering directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: error: ‘TS_USEDFPU’ undeclared (first use in this function)<br />
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5804:28: note: each undeclared identifier is reported only once for each function it appears in<br />
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1<br />
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2<br />
make[1]: Leaving directory `/usr/src/kernels/3.2.9-1.fc16.i686'<br />
make: *** [kmod_build] Error 2<br />
build failed with return value 2<br />
[Error] Kernel Module : Failed to compile kernel module - please consult readme.<br />
[Reboot] Kernel Module : dracut<br />
<br />
</pre><br />
<br />
Then the following procedure should work for you.<br />
<br />
Procedure is as follows:<br />
<br />
<br />
1) Extract amd-driver-installer into subdir. Example:<br />
<br />
<pre><br />
<br />
chmod 700 amd-driver-installer-12-2-x86.x86_64.run<br />
<br />
./amd-driver-installer-12-2-x86.x86_64.run --extract fgrlx-12.2<br />
<br />
</pre><br />
<br />
2) cd into directory containing firegl_public.c. i.e., <br />
<br />
<br />
fglrx-12.2/common/lib/modules/fglrx/build_mod/<br />
<br />
<br />
3) In that dir, save the following code to a file named "fglrx.patch":<br />
<br />
<pre><br />
<br />
fixed fgrlx compilation error on 32-bit x86 arch with kernel 3.3-rc4 due to commit:<br />
https://github.com/torvalds/linux/commit/f94edacf998516ac9d849f7bc6949a703977a7f3<br />
later modified (in 3.3-rc5) by commit:<br />
https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8#diff-1<br />
and finally backported to kernel 3.2.8.<br />
<br />
Signed-off-by: Gianluca Gennari <gennarone@gmail.com><br />
---<br />
firegl_public.c | 6 ++++++<br />
1 files changed, 6 insertions(+), 0 deletions(-)<br />
<br />
diff --git a/firegl_public.c b/firegl_public.c<br />
index 6e0aa82..cb9e217 100644<br />
--- a/firegl_public.c<br />
+++ b/firegl_public.c<br />
@@ -5797,10 +5797,16 @@ void ATI_API_CALL KCL_fpu_begin(void)<br />
#ifdef CONFIG_X86_64<br />
kernel_fpu_begin();<br />
#else<br />
+#ifndef TS_USEDFPU<br />
+ preempt_disable();<br />
+ if (__thread_has_fpu(current))<br />
+ __save_init_fpu(current);<br />
+#else<br />
struct thread_info *cur_task = current_thread_info();<br />
preempt_disable();<br />
if (cur_task->status & TS_USEDFPU)<br />
__save_init_fpu(cur_task->task);<br />
+#endif<br />
else<br />
clts();<br />
#endif<br />
-- <br />
1.7.5.4<br />
<br />
</pre><br />
<br />
<br />
4) Run the patch on firegl_public.c :<br />
<br />
<br />
<pre><br />
su-<br />
<br />
patch -p1 < ~/fglrx.patch<br />
<br />
</pre><br />
<br />
5) From the extraction subdir (in this case "fgrlx-12.2"), run ati-installer.sh<br />
as follows:<br />
<br />
<pre><br />
su -<br />
<br />
/bin/sh ./ati-installer.sh 8.95 --install<br />
<br />
</pre><br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=User_talk:67.239.165.48&diff=8278User talk:67.239.165.482012-03-23T14:12:04Z<p>67.239.165.48: </p>
<hr />
<div>* I don't know who's editing the Fedora 16 Fglrx page, but the first paragraph titled "Please Consider" was originally written evidently to push a particular license (GPL) rather than present procedures and solutions. I've edited that to make it somewhat neutral but someone seems intent on pushing radeon first. Besides the fact that radeon is already the default installed driver on most distros, there isn't really a need to mention radeon at all other than to state that it exists, since a procedure is generally not needed for radeon installation. That makes a radeon driver discussion redundant unless you are pushing GPL. IMO this site should not be used for pimping licenses but rather for presenting solutions.<br />
<br />
** That's me, check the history. I actually like your idea of presenting two driver options and I've written a more impartial overview of each driver. I see you're still editing so I'll wait till you're done to apply it. I also disagree with some things you've stated: The broken module compilation is fixed with a two-line sourcecode comment, we should include the fix rather that just say "it's busted", I'm using fglrx on 3.2.9-2 fine. I'm also completely removing your dracut step, this is far too complex for a regular user who doesn't understand initramfs, it also leaves the system in a state where it may not actually have a graphics driver if fglrx stuffs up. Blacklisting on the kernel line is sufficient and is what the RPMFusion RPM scripts and the Official installation script do anyway. --[[User:Super Jamie|Super Jamie]] 06:02, 22 March 2012 (CDT)<br />
** Changes made. Feel free to contact me via the email address on my userpage if you'd like to discuss directly, here is fine too. --[[User:Super Jamie|Super Jamie]] 06:48, 22 March 2012 (CDT)<br />
<br />
<br />
Ok, I see. It's nice to put a name to the text. As far as the 3.2.9-1 fix goes, I assumed you would have gleaned that there was no other solution afaik. But I am glad there is a solution and that it's being published. I personally tested it last night and it works on 64 bit Fedora; however there seems to be a problem getting the method to work on 32 bit.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8277Fedora 16 Installation Guide2012-03-23T13:56:25Z<p>67.239.165.48: /* Multiple Monitor Setups */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== kernel-3.2.9-2.fc16 and onwards ===<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later.<br />
<br />
To fix this, we can revert a small edit. Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, move your existing xorg.conf to a safe place. Let the amd-driver-installer generate a fresh working xorg.conf file for you based on what it probes from EDID monitor info, If you are having difficulties after generating a new xorg.conf, use your old xorg.conf as a reference and transfer sections of that file as needed to the new one.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8276Fedora 16 Installation Guide2012-03-23T13:44:28Z<p>67.239.165.48: /* Multiple Monitor Setups */</p>
<hr />
<div>= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== kernel-3.2.9-2.fc16 and onwards ===<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later.<br />
<br />
To fix this, we can revert a small edit. Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, copy your existing xorg.conf to as safe place, follow one of the install procedures, then transfer relevant sections of your old xorg.conf into the new version generated with aticonfig if required.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* aticonfig --help<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8273Fedora 16 Installation Guide2012-03-22T20:53:42Z<p>67.239.165.48: /* Fglrx - the Official AMD/ATI driver */</p>
<hr />
<div>= Two Driver Choices =<br />
<br />
There are two video drivers you can choose to run your ATI video card, one is called ''fglrx'', the other is ''radeon''.<br />
<br />
<br />
=== Fglrx - the Official AMD/ATI driver ===<br />
<br />
This is the driver written and distributed by AMD, who own and do the work in the development of the hardware and therefore also own and do the work on the internal specs of the hardware. By virtue of the fact that AMD/ATI are the ones that pay hardware engineers and software engineers across the world to work on their products, they of course can provide a full-featured driver which supports all the capabilities of the hardware. The driver has two parts; a small kernel module which acts as a loader for the Xorg part of the driver, and then the Xorg modules themselves. Although AMD chooses to pay software engineers to work on Radeon project they also choose to distribute this full featured driver under a closed source license. The licensing of the product is ultimately irrelevant to this procedural document however and lies squarely in the domain of user choice.<br />
<br />
''fglrx'' was originally written only for ATI's FireGL professional workstation cards (targeting the same market as nVidia's Quadro range) however it was soon expanded to include almost the whole ATI range. AMD continued to extend and improve the driver after their acquisition of ATI. This driver also includes the ''Catalyst Control Center'' tool (amdcccle) for configuring features like forcing anti-aliasing and anistropic filtering on for all OpenGL processing.<br />
<br />
If you are running newer games, such as most things you'd get off Steam, ''fglrx'' is the best choice. If you have a game which produces graphical glitches under the Free driver, it's worth trying this driver to see if the game works. Generally, performance in all 3D games and 3D applications will be drastically better with Fglrx. 2D performance slightly less in some cases than the radeon driver, but not much according to recent benchmarks. AMD has been working on the 2D performance of Fgrlx with very good results. The 3D performance of Fglrx far outstrips radeon, making it "the" choice for gamers. In recent benchmark evaluations using Warsow, Fglrx showed itself capable of over 900% better 3D performance than Radeon. Other tests in the same group showed 100% or better 3D performance. Reference: http://tinyurl.com/7p3htwp<br />
<br />
Each driver as pros and cons, try both and see which is most suitable for your needs. The best thing about Linux is the choice to run whatever software components you like.<br />
<br />
=== radeon - the in-kernel driver ===<br />
<br />
This is the Free Software driver included in the mainline Linux kernel. This driver is written by an open source community with no access to the hardware specs and is released under the GNU GPL. If software freedom is your main concern, this is the driver for you.<br />
<br />
Historically, the ''radeon'' driver couldn't do much, not even 2D acceleration. However, in Fedora 16's 3.1 and 3.2 kernels this driver is making real progress. It now supports 2D compositing, many 3D functions such as GLSL and Pixel Shaders, as well as other useful features like Kernel Mode Setting. There is currently a large push in graphics driver development upstream in the kernel, so this driver's expected to get even better in kernels 3.3 and 3.4.<br />
<br />
The ''radeon'' driver packaged with Fedora 16 will easily run desktop compositing (eg: gnome-shell, compiz, transparent terminal). It manages 60fps VSync at 1920x1200 in many 3D games (eg: ''Darkplaces'' Quake engine, ''OpenArena'' Quake 3 engine) with no problems. Depending on your CPU, constant 45fps in 1080p ''Minecraft'' is easily doable.<br />
<br />
You can read more about the radeon driver on [http://www.x.org/wiki/radeon the XOrg Wiki]. You can also find a [http://www.x.org/wiki/RadeonFeature list of supported features] and [http://www.x.org/wiki/RadeonProgram list of supported software] if you'd like to investigate using this driver.<br />
<br />
It's worth noting that 2D performance is actually better in this driver than the proprietary driver. If you're only using Gnome 3 and games that don't require decent direct rendering performance, this may be an option. With regard to battery life on laptops, it's worth noting that just the power stack in Fglrx is larger than the entire Radeon driver as a whole. So superior battery performance will be obtained from Fgrlx.<br />
<br />
= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== kernel-3.2.9-2.fc16 and onwards ===<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later.<br />
<br />
To fix this, we can revert a small edit. Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module should now build correctly. With a fresh boot, re-run amd-driver-installer, and then boot once more to get a fresh lsmod profile with Fglrx in place.<br />
<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, copy your existing xorg.conf to as safe place, follow one of the install procedures, then transfer relevant sections of your old xorg.conf into the new version generated with aticonfig if required.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* man aticonfig<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8272Fedora 16 Installation Guide2012-03-22T19:03:44Z<p>67.239.165.48: /* kernel-3.2.9-2.fc16 and onwards */</p>
<hr />
<div>= Two Driver Choices =<br />
<br />
There are two video drivers you can choose to run your ATI video card, one is called ''fglrx'', the other is ''radeon''.<br />
<br />
<br />
=== Fglrx - the Official AMD/ATI driver ===<br />
<br />
This is the driver written and distributed by AMD, who own and do the work in the development of the hardware and therefore also own and do the work on the internal specs of the hardware. By virtue of the fact that AMD/ATI are the ones that pay hardware engineers and software engineers across the world to work on their products, they of course can provide a full-featured driver which supports all the capabilities of the hardware. The driver has two parts; a small kernel module which acts as a loader for the Xorg part of the driver, and then the Xorg modules themselves. Although AMD chooses to pay software engineers to work on Radeon project they also choose to distribute this full featured driver under a closed source license. The licensing of the product is ultimately irrelevant to this procedural document however and lies squarely in the domain of user choice.<br />
<br />
''fglrx'' was originally written only for ATI's FireGL professional workstation cards (targeting the same market as nVidia's Quadro range) however it was soon expanded to include almost the whole ATI range. AMD continued to extend and improve the driver after their acquisition of ATI. This driver also includes the ''Catalyst Control Center'' tool (amdcccle) for configuring features like forcing anti-aliasing and anistropic filtering on for all OpenGL processing.<br />
<br />
If you are running newer games, such as most things you'd get off Steam, ''fglrx'' is the best choice. If you have a game which produces graphical glitches under the Free driver, it's worth trying this driver to see if the game works. Generally, performance in all 3D games and 3D applications will be drastically better with this driver. 2D performance slightly less in some cases than the radeon driver, but not much according to recent benchmarks. AMD has been working on the 2D performance of Fgrlx with very good results.<br />
<br />
Each driver as pros and cons, try both and see which is most suitable for your needs. The best thing about Linux is the choice to run whatever software components you like.<br />
<br />
=== radeon - the in-kernel driver ===<br />
<br />
This is the Free Software driver included in the mainline Linux kernel. This driver is written by an open source community with no access to the hardware specs and is released under the GNU GPL. If software freedom is your main concern, this is the driver for you.<br />
<br />
Historically, the ''radeon'' driver couldn't do much, not even 2D acceleration. However, in Fedora 16's 3.1 and 3.2 kernels this driver is making real progress. It now supports 2D compositing, many 3D functions such as GLSL and Pixel Shaders, as well as other useful features like Kernel Mode Setting. There is currently a large push in graphics driver development upstream in the kernel, so this driver's expected to get even better in kernels 3.3 and 3.4.<br />
<br />
The ''radeon'' driver packaged with Fedora 16 will easily run desktop compositing (eg: gnome-shell, compiz, transparent terminal). It manages 60fps VSync at 1920x1200 in many 3D games (eg: ''Darkplaces'' Quake engine, ''OpenArena'' Quake 3 engine) with no problems. Depending on your CPU, constant 45fps in 1080p ''Minecraft'' is easily doable.<br />
<br />
You can read more about the radeon driver on [http://www.x.org/wiki/radeon the XOrg Wiki]. You can also find a [http://www.x.org/wiki/RadeonFeature list of supported features] and [http://www.x.org/wiki/RadeonProgram list of supported software] if you'd like to investigate using this driver.<br />
<br />
It's worth noting that 2D performance is actually better in this driver than the proprietary driver. If you're only using Gnome 3 and games that don't require decent direct rendering performance, this may be an option. With regard to battery life on laptops, it's worth noting that just the power stack in Fglrx is larger than the entire Radeon driver as a whole. So superior battery performance will be obtained from Fgrlx.<br />
<br />
= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== kernel-3.2.9-2.fc16 and onwards ===<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later.<br />
<br />
To fix this, we can revert a small edit. Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module should now build correctly. With a fresh boot, re-run amd-driver-installer, and then boot once more to get a fresh lsmod profile with Fglrx in place.<br />
<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, copy your existing xorg.conf to as safe place, follow one of the install procedures, then transfer relevant sections of your old xorg.conf into the new version generated with aticonfig if required.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* man aticonfig<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8271Fedora 16 Installation Guide2012-03-22T16:23:37Z<p>67.239.165.48: /* Fglrx - the Official AMD/ATI driver */</p>
<hr />
<div>= Two Driver Choices =<br />
<br />
There are two video drivers you can choose to run your ATI video card, one is called ''fglrx'', the other is ''radeon''.<br />
<br />
<br />
=== Fglrx - the Official AMD/ATI driver ===<br />
<br />
This is the driver written and distributed by AMD, who own and do the work in the development of the hardware and therefore also own and do the work on the internal specs of the hardware. By virtue of the fact that AMD/ATI are the ones that pay hardware engineers and software engineers across the world to work on their products, they of course can provide a full-featured driver which supports all the capabilities of the hardware. The driver has two parts; a small kernel module which acts as a loader for the Xorg part of the driver, and then the Xorg modules themselves. Although AMD chooses to pay software engineers to work on Radeon project they also choose to distribute this full featured driver under a closed source license. The licensing of the product is ultimately irrelevant to this procedural document however and lies squarely in the domain of user choice.<br />
<br />
''fglrx'' was originally written only for ATI's FireGL professional workstation cards (targeting the same market as nVidia's Quadro range) however it was soon expanded to include almost the whole ATI range. AMD continued to extend and improve the driver after their acquisition of ATI. This driver also includes the ''Catalyst Control Center'' tool (amdcccle) for configuring features like forcing anti-aliasing and anistropic filtering on for all OpenGL processing.<br />
<br />
If you are running newer games, such as most things you'd get off Steam, ''fglrx'' is the best choice. If you have a game which produces graphical glitches under the Free driver, it's worth trying this driver to see if the game works. Generally, performance in all 3D games and 3D applications will be drastically better with this driver. 2D performance slightly less in some cases than the radeon driver, but not much according to recent benchmarks. AMD has been working on the 2D performance of Fgrlx with very good results.<br />
<br />
Each driver as pros and cons, try both and see which is most suitable for your needs. The best thing about Linux is the choice to run whatever software components you like.<br />
<br />
=== radeon - the in-kernel driver ===<br />
<br />
This is the Free Software driver included in the mainline Linux kernel. This driver is written by an open source community with no access to the hardware specs and is released under the GNU GPL. If software freedom is your main concern, this is the driver for you.<br />
<br />
Historically, the ''radeon'' driver couldn't do much, not even 2D acceleration. However, in Fedora 16's 3.1 and 3.2 kernels this driver is making real progress. It now supports 2D compositing, many 3D functions such as GLSL and Pixel Shaders, as well as other useful features like Kernel Mode Setting. There is currently a large push in graphics driver development upstream in the kernel, so this driver's expected to get even better in kernels 3.3 and 3.4.<br />
<br />
The ''radeon'' driver packaged with Fedora 16 will easily run desktop compositing (eg: gnome-shell, compiz, transparent terminal). It manages 60fps VSync at 1920x1200 in many 3D games (eg: ''Darkplaces'' Quake engine, ''OpenArena'' Quake 3 engine) with no problems. Depending on your CPU, constant 45fps in 1080p ''Minecraft'' is easily doable.<br />
<br />
You can read more about the radeon driver on [http://www.x.org/wiki/radeon the XOrg Wiki]. You can also find a [http://www.x.org/wiki/RadeonFeature list of supported features] and [http://www.x.org/wiki/RadeonProgram list of supported software] if you'd like to investigate using this driver.<br />
<br />
It's worth noting that 2D performance is actually better in this driver than the proprietary driver. If you're only using Gnome 3 and games that don't require decent direct rendering performance, this may be an option. With regard to battery life on laptops, it's worth noting that just the power stack in Fglrx is larger than the entire Radeon driver as a whole. So superior battery performance will be obtained from Fgrlx.<br />
<br />
= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== kernel-3.2.9-2.fc16 and onwards ===<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later.<br />
<br />
To fix this, we can revert a small edit. Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, copy your existing xorg.conf to as safe place, follow one of the install procedures, then transfer relevant sections of your old xorg.conf into the new version generated with aticonfig if required.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* man aticonfig<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8270Fedora 16 Installation Guide2012-03-22T16:16:25Z<p>67.239.165.48: /* Installing the AMD-supplied driver */</p>
<hr />
<div>= Two Driver Choices =<br />
<br />
There are two video drivers you can choose to run your ATI video card, one is called ''fglrx'', the other is ''radeon''.<br />
<br />
<br />
=== Fglrx - the Official AMD/ATI driver ===<br />
<br />
This is the driver written and distributed by AMD, who own and do the work in the development of the hardware and therefore also own and do the work on the internal specs of the hardware. By virtue of the fact that AMD/ATI are the ones that pay hardware engineers and software engineers across the world to work on their products, they of course can provide a full-featured driver which supports all the capabilities of the hardware. The driver has two parts; a small kernel module which acts as a loader for the Xorg part of the driver, and then the Xorg modules themselves. Although AMD pays software engineers to work on Radeon project they also choose to distribute this full featured driver under a closed source license. The licensing of the product is ultimately irrelevant to this procedural document however and lies squarely in the domain of user choice.<br />
<br />
''fglrx'' was originally written only for ATI's FireGL professional workstation cards (targeting the same market as nVidia's Quadro range) however it was soon expanded to include almost the whole ATI range. AMD continued to extend and improve the driver after their acquisition of ATI. This driver also includes the ''Catalyst Control Center'' tool (amdcccle) for configuring features like forcing anti-aliasing and anistropic filtering on for all OpenGL processing.<br />
<br />
If you are running newer games, such as most things you'd get off Steam, ''fglrx'' is the best choice. If you have a game which produces graphical glitches under the Free driver, it's worth trying this driver to see if the game works. Generally, performance in all 3D games and 3D applications will be drastically better with this driver. 2D performance slightly less in some cases than the radeon driver, but not much according to recent benchmarks. AMD has been working on the 2D performance of Fgrlx with very good results.<br />
<br />
Each driver as pros and cons, try both and see which is most suitable for your needs. The best thing about Linux is the choice to run whatever software components you like.<br />
<br />
<br />
<br />
=== radeon - the in-kernel driver ===<br />
<br />
This is the Free Software driver included in the mainline Linux kernel. This driver is written by an open source community with no access to the hardware specs and is released under the GNU GPL. If software freedom is your main concern, this is the driver for you.<br />
<br />
Historically, the ''radeon'' driver couldn't do much, not even 2D acceleration. However, in Fedora 16's 3.1 and 3.2 kernels this driver is making real progress. It now supports 2D compositing, many 3D functions such as GLSL and Pixel Shaders, as well as other useful features like Kernel Mode Setting. There is currently a large push in graphics driver development upstream in the kernel, so this driver's expected to get even better in kernels 3.3 and 3.4.<br />
<br />
The ''radeon'' driver packaged with Fedora 16 will easily run desktop compositing (eg: gnome-shell, compiz, transparent terminal). It manages 60fps VSync at 1920x1200 in many 3D games (eg: ''Darkplaces'' Quake engine, ''OpenArena'' Quake 3 engine) with no problems. Depending on your CPU, constant 45fps in 1080p ''Minecraft'' is easily doable.<br />
<br />
You can read more about the radeon driver on [http://www.x.org/wiki/radeon the XOrg Wiki]. You can also find a [http://www.x.org/wiki/RadeonFeature list of supported features] and [http://www.x.org/wiki/RadeonProgram list of supported software] if you'd like to investigate using this driver.<br />
<br />
It's worth noting that 2D performance is actually better in this driver than the proprietary driver. If you're only using Gnome 3 and games that don't require decent direct rendering performance, this may be an option. With regard to battery life on laptops, it's worth noting that just the power stack in Fglrx is larger than the entire Radeon driver as a whole. So superior battery performance will be obtained from Fgrlx.<br />
<br />
= Installing the Official AMD driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== kernel-3.2.9-2.fc16 and onwards ===<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later.<br />
<br />
To fix this, we can revert a small edit. Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, copy your existing xorg.conf to as safe place, follow one of the install procedures, then transfer relevant sections of your old xorg.conf into the new version generated with aticonfig if required.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* man aticonfig<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8269Fedora 16 Installation Guide2012-03-22T16:14:57Z<p>67.239.165.48: /* Two Driver Choices */</p>
<hr />
<div>= Two Driver Choices =<br />
<br />
There are two video drivers you can choose to run your ATI video card, one is called ''fglrx'', the other is ''radeon''.<br />
<br />
<br />
=== Fglrx - the Official AMD/ATI driver ===<br />
<br />
This is the driver written and distributed by AMD, who own and do the work in the development of the hardware and therefore also own and do the work on the internal specs of the hardware. By virtue of the fact that AMD/ATI are the ones that pay hardware engineers and software engineers across the world to work on their products, they of course can provide a full-featured driver which supports all the capabilities of the hardware. The driver has two parts; a small kernel module which acts as a loader for the Xorg part of the driver, and then the Xorg modules themselves. Although AMD pays software engineers to work on Radeon project they also choose to distribute this full featured driver under a closed source license. The licensing of the product is ultimately irrelevant to this procedural document however and lies squarely in the domain of user choice.<br />
<br />
''fglrx'' was originally written only for ATI's FireGL professional workstation cards (targeting the same market as nVidia's Quadro range) however it was soon expanded to include almost the whole ATI range. AMD continued to extend and improve the driver after their acquisition of ATI. This driver also includes the ''Catalyst Control Center'' tool (amdcccle) for configuring features like forcing anti-aliasing and anistropic filtering on for all OpenGL processing.<br />
<br />
If you are running newer games, such as most things you'd get off Steam, ''fglrx'' is the best choice. If you have a game which produces graphical glitches under the Free driver, it's worth trying this driver to see if the game works. Generally, performance in all 3D games and 3D applications will be drastically better with this driver. 2D performance slightly less in some cases than the radeon driver, but not much according to recent benchmarks. AMD has been working on the 2D performance of Fgrlx with very good results.<br />
<br />
Each driver as pros and cons, try both and see which is most suitable for your needs. The best thing about Linux is the choice to run whatever software components you like.<br />
<br />
<br />
<br />
=== radeon - the in-kernel driver ===<br />
<br />
This is the Free Software driver included in the mainline Linux kernel. This driver is written by an open source community with no access to the hardware specs and is released under the GNU GPL. If software freedom is your main concern, this is the driver for you.<br />
<br />
Historically, the ''radeon'' driver couldn't do much, not even 2D acceleration. However, in Fedora 16's 3.1 and 3.2 kernels this driver is making real progress. It now supports 2D compositing, many 3D functions such as GLSL and Pixel Shaders, as well as other useful features like Kernel Mode Setting. There is currently a large push in graphics driver development upstream in the kernel, so this driver's expected to get even better in kernels 3.3 and 3.4.<br />
<br />
The ''radeon'' driver packaged with Fedora 16 will easily run desktop compositing (eg: gnome-shell, compiz, transparent terminal). It manages 60fps VSync at 1920x1200 in many 3D games (eg: ''Darkplaces'' Quake engine, ''OpenArena'' Quake 3 engine) with no problems. Depending on your CPU, constant 45fps in 1080p ''Minecraft'' is easily doable.<br />
<br />
You can read more about the radeon driver on [http://www.x.org/wiki/radeon the XOrg Wiki]. You can also find a [http://www.x.org/wiki/RadeonFeature list of supported features] and [http://www.x.org/wiki/RadeonProgram list of supported software] if you'd like to investigate using this driver.<br />
<br />
It's worth noting that 2D performance is actually better in this driver than the proprietary driver. If you're only using Gnome 3 and games that don't require decent direct rendering performance, this may be an option. With regard to battery life on laptops, it's worth noting that just the power stack in Fglrx is larger than the entire Radeon driver as a whole. So superior battery performance will be obtained from Fgrlx.<br />
<br />
= Installing the AMD-supplied driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== kernel-3.2.9-2.fc16 and onwards ===<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later.<br />
<br />
To fix this, we can revert a small edit. Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, copy your existing xorg.conf to as safe place, follow one of the install procedures, then transfer relevant sections of your old xorg.conf into the new version generated with aticonfig if required.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* man aticonfig<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8268Fedora 16 Installation Guide2012-03-22T16:05:54Z<p>67.239.165.48: /* fglrx - the AMD-supplied driver */</p>
<hr />
<div>= Two Driver Choices =<br />
<br />
There are two video drivers you can choose to run your ATI video card, one is called ''radeon'', the other is ''fglrx''.<br />
<br />
=== radeon - the in-kernel driver ===<br />
<br />
This is the Free Software driver included in the mainline Linux kernel. This driver is written by an open source community with no access to the hardware specs and is released under the GNU GPL. If software freedom is your main concern, this is the driver for you.<br />
<br />
Historically, the ''radeon'' driver couldn't do much, not even 2D acceleration. However, in Fedora 16's 3.1 and 3.2 kernels this driver is making real progress. It now supports 2D compositing, many 3D functions such as GLSL and Pixel Shaders, as well as other useful features like Kernel Mode Setting. There is currently a large push in graphics driver development upstream in the kernel, so this driver's expected to get even better in kernels 3.3 and 3.4.<br />
<br />
The ''radeon'' driver packaged with Fedora 16 will easily run desktop compositing (eg: gnome-shell, compiz, transparent terminal). It manages 60fps VSync at 1920x1200 in many 3D games (eg: ''Darkplaces'' Quake engine, ''OpenArena'' Quake 3 engine) with no problems. Depending on your CPU, constant 45fps in 1080p ''Minecraft'' is easily doable.<br />
<br />
You can read more about the radeon driver on [http://www.x.org/wiki/radeon the XOrg Wiki]. You can also find a [http://www.x.org/wiki/RadeonFeature list of supported features] and [http://www.x.org/wiki/RadeonProgram list of supported software] if you'd like to investigate using this driver.<br />
<br />
It's worth noting that 2D performance is actually better in this driver than the proprietary driver. If you're only using Gnome 3 and games that don't require decent direct rendering performance, this may be an option. With regard to battery life on laptops, it's worth noting that just the power stack in Fglrx is larger than the entire Radeon driver as a whole. So superior battery performance will be obtained from Fgrlx.<br />
<br />
=== Fglrx - the Official AMD/ATI driver ===<br />
<br />
This is the driver written and distributed by AMD, who own and do the work in the development of the hardware and therefore also own and do the work on the internal specs of the hardware. By virtue of the fact that AMD/ATI are the ones that pay hardware engineers and software engineers across the world to work on their products, they of course can provide a full-featured driver which supports all the capabilities of the hardware. The driver has two parts; a small kernel module which acts as a loader for the Xorg part of the driver, and then the Xorg modules themselves. Although AMD pays software engineers to work on Radeon project they also choose to distribute this full featured driver under a closed source license. The licensing of the product is ultimately irrelevant to this procedural document however and lies squarely in the domain of user choice.<br />
<br />
''fglrx'' was originally written only for ATI's FireGL professional workstation cards (targeting the same market as nVidia's Quadro range) however it was soon expanded to include almost the whole ATI range. AMD continued to extend and improve the driver after their acquisition of ATI. This driver also includes the ''Catalyst Control Center'' tool (amdcccle) for configuring features like forcing anti-aliasing and anistropic filtering on for all OpenGL processing.<br />
<br />
If you are running newer games, such as most things you'd get off Steam, ''fglrx'' is the best choice. If you have a game which produces graphical glitches under the Free driver, it's worth trying this driver to see if the game works. Generally, performance in all 3D games and 3D applications will be drastically better with this driver. 2D performance slightly less in some cases than the radeon driver, but not much according to recent benchmarks. AMD has been working on the 2D performance of Fgrlx with very good results.<br />
<br />
Each driver as pros and cons, try both and see which is most suitable for your needs. The best thing about Linux is the choice to run whatever software components you like.<br />
<br />
= Installing the AMD-supplied driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== kernel-3.2.9-2.fc16 and onwards ===<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later.<br />
<br />
To fix this, we can revert a small edit. Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, copy your existing xorg.conf to as safe place, follow one of the install procedures, then transfer relevant sections of your old xorg.conf into the new version generated with aticonfig if required.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* man aticonfig<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8267Fedora 16 Installation Guide2012-03-22T15:44:45Z<p>67.239.165.48: /* fglrx - the AMD-supplied driver */</p>
<hr />
<div>= Two Driver Choices =<br />
<br />
There are two video drivers you can choose to run your ATI video card, one is called ''radeon'', the other is ''fglrx''.<br />
<br />
=== radeon - the in-kernel driver ===<br />
<br />
This is the Free Software driver included in the mainline Linux kernel. This driver is written by an open source community with no access to the hardware specs and is released under the GNU GPL. If software freedom is your main concern, this is the driver for you.<br />
<br />
Historically, the ''radeon'' driver couldn't do much, not even 2D acceleration. However, in Fedora 16's 3.1 and 3.2 kernels this driver is making real progress. It now supports 2D compositing, many 3D functions such as GLSL and Pixel Shaders, as well as other useful features like Kernel Mode Setting. There is currently a large push in graphics driver development upstream in the kernel, so this driver's expected to get even better in kernels 3.3 and 3.4.<br />
<br />
The ''radeon'' driver packaged with Fedora 16 will easily run desktop compositing (eg: gnome-shell, compiz, transparent terminal). It manages 60fps VSync at 1920x1200 in many 3D games (eg: ''Darkplaces'' Quake engine, ''OpenArena'' Quake 3 engine) with no problems. Depending on your CPU, constant 45fps in 1080p ''Minecraft'' is easily doable.<br />
<br />
You can read more about the radeon driver on [http://www.x.org/wiki/radeon the XOrg Wiki]. You can also find a [http://www.x.org/wiki/RadeonFeature list of supported features] and [http://www.x.org/wiki/RadeonProgram list of supported software] if you'd like to investigate using this driver.<br />
<br />
It's worth noting that 2D performance is actually better in this driver than the proprietary driver. If you're only using Gnome 3 and games that don't require decent direct rendering performance, this may be an option. With regard to battery life on laptops, it's worth noting that just the power stack in Fglrx is larger than the entire Radeon driver as a whole. So superior battery performance will be obtained from Fgrlx.<br />
<br />
=== fglrx - the AMD-supplied driver ===<br />
<br />
This is the driver written and distributed by ATI, who have full access to the internal specs of the hardware, so can make a full-featured driver which supports all the capabilities of the hardware. The driver has two parts; a small kernel module which acts as a loader for the Xorg part of the driver, and then the Xorg parts themselves. The driver is distributed as closed-source.<br />
<br />
''fglrx'' was originally written only for ATI's FireGL professional workstation cards (targeting the same market as nVidia's Quadro range) however it was soon expanded to include almost the whole ATI range. AMD continue to extend the driver after their acquisition of ATI. This driver also includes the ''Catalyst Control Center'' tool for configuring features like forcing anti-aliasing and anistropic filtering on for all OpenGL processing.<br />
<br />
If you are running newer games, such as most things you'd get off Steam, ''fglrx'' is probably going to be your best choice. If you have a game which produces graphical glitches under the Free driver, it's worth trying this driver to see if the game works. Generally, performance in all 3D games and 3D applications will be measurably improved with this driver. As mentioned above, 2D performance is actually worse than the Free driver, though it's definitely fine for day-to-day desktop use.<br />
<br />
Each driver as pros and cons, try both and see which is most suitable for your needs. The best thing about Linux is the choice to run whatever software components you like.<br />
<br />
= Installing the AMD-supplied driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== kernel-3.2.9-2.fc16 and onwards ===<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later.<br />
<br />
To fix this, we can revert a small edit. Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, copy your existing xorg.conf to as safe place, follow one of the install procedures, then transfer relevant sections of your old xorg.conf into the new version generated with aticonfig if required.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* man aticonfig<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8266Fedora 16 Installation Guide2012-03-22T15:40:19Z<p>67.239.165.48: /* radeon - the in-kernel driver */</p>
<hr />
<div>= Two Driver Choices =<br />
<br />
There are two video drivers you can choose to run your ATI video card, one is called ''radeon'', the other is ''fglrx''.<br />
<br />
=== radeon - the in-kernel driver ===<br />
<br />
This is the Free Software driver included in the mainline Linux kernel. This driver is written by an open source community with no access to the hardware specs and is released under the GNU GPL. If software freedom is your main concern, this is the driver for you.<br />
<br />
Historically, the ''radeon'' driver couldn't do much, not even 2D acceleration. However, in Fedora 16's 3.1 and 3.2 kernels this driver is making real progress. It now supports 2D compositing, many 3D functions such as GLSL and Pixel Shaders, as well as other useful features like Kernel Mode Setting. There is currently a large push in graphics driver development upstream in the kernel, so this driver's expected to get even better in kernels 3.3 and 3.4.<br />
<br />
The ''radeon'' driver packaged with Fedora 16 will easily run desktop compositing (eg: gnome-shell, compiz, transparent terminal). It manages 60fps VSync at 1920x1200 in many 3D games (eg: ''Darkplaces'' Quake engine, ''OpenArena'' Quake 3 engine) with no problems. Depending on your CPU, constant 45fps in 1080p ''Minecraft'' is easily doable.<br />
<br />
You can read more about the radeon driver on [http://www.x.org/wiki/radeon the XOrg Wiki]. You can also find a [http://www.x.org/wiki/RadeonFeature list of supported features] and [http://www.x.org/wiki/RadeonProgram list of supported software] if you'd like to investigate using this driver.<br />
<br />
It's worth noting that 2D performance is actually better in this driver than the proprietary driver. If you're only using Gnome 3 and games that don't require decent direct rendering performance, this may be an option. With regard to battery life on laptops, it's worth noting that just the power stack in Fglrx is larger than the entire Radeon driver as a whole. So superior battery performance will be obtained from Fgrlx.<br />
<br />
=== fglrx - the AMD-supplied driver ===<br />
<br />
This is the driver written and distributed by ATI, who have full access to the internal specs of the hardware, so can make a full-featured driver which supports all the capabilities of the hardware. The driver consists of a small kernel module which acts as a loader for the actual driver, which is distributed as a closed-source "[http://en.wikipedia.org/wiki/Binary_blob binary blob]".<br />
<br />
''fglrx'' was originally written only for ATI's FireGL professional workstation cards (targeting the same market as nVidia's Quadro range) however it was soon expanded to include almost the whole ATI range. AMD continue to extend the driver after their acquisition of ATI. This driver also includes the ''Catalyst Control Center'' tool for configuring features like forcing anti-aliasing and anistropic filtering on for all OpenGL processing.<br />
<br />
If you are running newer games, such as most things you'd get off Steam, ''fglrx'' is probably going to be your best choice. If you have a game which produces graphical glitches under the Free driver, it's worth trying this driver to see if the game works. Generally, performance in all 3D games and 3D applications will be measurably improved with this driver. As mentioned above, 2D performance is actually worse than the Free driver, though it's definitely fine for day-to-day desktop use.<br />
<br />
Each driver as pros and cons, try both and see which is most suitable for your needs. The best thing about Linux is the choice to run whatever software components you like.<br />
<br />
= Installing the AMD-supplied driver =<br />
<br />
== Requirements ==<br />
<br />
The AMD-supplied driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. Move any existing xorg.conf files out of the /etc/X11 directory before installation.<br />
<br />
You will need version 11.11 of the ATI driver or later for Fedora 16, earlier versions will not work with the version of XOrg that F16 ships with.<br />
<br />
You require a Radeon HD2000 series or better to use the latest AMD-supplied driver.<br />
<br />
=== kernel-3.2.9-2.fc16 and onwards ===<br />
<br />
Due to an upstream sourcecode change in the Fedora ''kernel-headers'' package, building of AMD's ''fglrx'' module will currently fail with kernels 3.2.9-2.fc16 and later.<br />
<br />
To fix this, we can revert a small edit. Open the file '''/usr/src/kernels/`uname -r`/arch/x86/include/asm/uaccess_64.h''' in a text editor.<br />
<br />
On line 56 and 57 you will see:<br />
<br />
<pre><br />
else<br />
WARN(1, "Buffer overflow detected!\n");<br />
</pre><br />
<br />
Comment this out so it reads:<br />
<br />
<pre><br />
// else<br />
// WARN(1, "Buffer overflow detected!\n"); <br />
</pre><br />
<br />
Your AMD kernel module will now build correctly. You may have to reboot into the new kernel and force the module rebuild with<br />
<br />
<pre><br />
su -<br />
akmods --force<br />
</pre><br />
<br />
then reboot again.<br />
<br />
* Reference: http://forums.fedoraforum.org/showthread.php?t=277547<br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
If you have an existing multiple monitor setup, copy your existing xorg.conf to as safe place, follow one of the install procedures, then transfer relevant sections of your old xorg.conf into the new version generated with aticonfig if required.<br />
<br />
Here are some resources for those having difficulty getting their multiple monitors running:<br />
<br />
* http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
* http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
* man aticonfig<br />
* One of the [[Ubuntu]] guides on this Wiki.<br />
* AMD's own Catalyst documentation<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
== Pre-built packages from RPMFusion ==<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous Offical AMD driver installation ===<br />
<br />
If you're coming from the Official AMD driver to RPMFusion's AMD driver, you'll need to reinstall the ''mesa-libGL'' package as the Official AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages in RPMFusion which supply kernel modules for specific Fedora kernel versions. If you use these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the Free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new ''kmod-catalyst-'' package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you'll never have to worry about this.<br />
<br />
== Official AMD Driver ==<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds the kernel module and a set of modules for XOrg. The Official AMD installer requires some development packages to be installed:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
We'll also want to remove any kernel-devel packages from old versions of the kernel. Check your current kernel version with:<br />
<br />
<pre><br />
uname -a<br />
</pre><br />
<br />
Check all installed kernel packages with<br />
<br />
<pre><br />
su -<br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any ''kernel-devel'' packages which do not match the latest kernel version. For example:<br />
<br />
<pre><br />
su -<br />
yum remove kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note we are careful to specify the exact package name that was given to us by the rpm command above.<br />
<br />
Boot into the latest kernel before continuing. Building the module on a kernel which you don't have ''-devel'' packages for will fail. Building the module on one kernel then booting into another will result in the compiled module not working.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod +x amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log:<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked:<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script:<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next Official driver version) reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesa libraries that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 rdblacklist=radeon blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''rdblacklist=radeon blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8254Fedora 16 Installation Guide2012-03-22T09:45:28Z<p>67.239.165.48: /* Uninstalling Official AMD driver */</p>
<hr />
<div>= Two Driver Choices =<br />
<br />
The Free Software ''radeon'' driver is making real progress in F16's kernel 3.1 and 3.2, it's expected to get even better in kernel 3.3 and 3.4.<br />
<br />
The kernel 3.1 driver will easily run desktop compositing (eg: ''gnome-shell'', transparent terminal). It even manages 60fps VSync at 1920x1200 in many 3D games (eg: ''Darkplaces'' Quake engine) with no problems. Depending on your CPU, constant 45fps in 1080p Minecraft is easily doable.<br />
<br />
It is true that the Official AMD-supplied driver is the only real choice for running newer games, such as most things you'd buy through Steam, however the Free driver is more than capable for everyday desktop needs such as compositing and most native Linux games. Please research and test your requirements to determine the most suitable solution.<br />
<br />
= Pre-built packages from RPMFusion =<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous AMD-supplied driver installation ===<br />
<br />
If you're coming from the AMD-supplied driver to RPMFusion's driver, you'll need to reinstall this package as the AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages which supply kernel modules for specific Fedora kernel versions. If you are using these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new kmod package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you never have to worry about this.<br />
<br />
= Official AMD Driver =<br />
<br />
=== Requirements ===<br />
<br />
The official AMD driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. In other words, move any xorg.conf files out of the /etc/X11 directory before installation. The possible exception to this rule is if you have something other than a single monitor setup, for example you may have a multiple monitor setup that you have edited. If this is the case, move your existing xorg.conf out of /etc/X11 and allow amd-driver-installer a chance to create a working xorg.conf from scratch. Later on you can transfer sections of your old xorg.conf into the new AMD-generated version, if required (See "Multiple Monitor Setups" below). FYI: You will need version 11.11 of the ATI driver or later for F16, earlier versions will not work. Also, please note that no card rated below Radeon HD 2000 will currently work with latest amd-driver-installer.<br />
<br />
Before you begin, it is also a prerequisite to blacklist radeon. The radeon driver is dug in to the system like a tick, but with the following procedure, removing it is rather painless. Edit the /etc/modprobe.d/blacklist.conf and add radeon to the list. After you do that, run the following in a root shell:<br />
<br />
<pre><br />
/sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --install $(uname -r)<br />
</pre><br />
<br />
This will generate a new initramfs that does not have radeon built in. On the next boot, the radeon module should be gone. It is better not to reboot however until you complete the steps below. Otherwise you may not have a DE to work in.<br />
<br />
Important Notice: As of March 5th, 2012, no kernel above 3.2.9-1.fc16 will compile on amd-driver-installer. If you have unfortunately updated your system to a kernel newer than 3.2.9-1.fc16, then you will need to drop back to 3.2.9-1.fc16 in order to get amd-driver-installer properly compiled. For links to this specific kernel and more (current) information, visit ##fedora channel on Freenode and get the details. This wiki will be updated as new information emerges.<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds a set of modules, one of which is fglrx.ko (the kernel module) and a set of fglrx modules for Xorg. The AMD installer has some development package prerequisites which we install below:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
Note: glibc-devel is a dependency of gcc and should be pulled in during the yum session above.<br />
<br />
There are some important caveats to observe here in this step. First, you need to make sure that there are no kernel-devel's left over from older kernel installs. Usually kernel-headers will be replaced in an update; however, kernel-devel never is, and the older ones are left hanging around after kernel updates. So the objective here is that you need to manually remove any kernel-devel's that do not match the running kernel. To run a check on kernel packages present and how they match, run the following:<br />
<br />
<pre><br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any kernel-devels that do not match. For example:<br />
<br />
<pre><br />
rpm -ev --nodeps kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note that in this case we are careful to specify the exact package name that was given to us by rpm command above.<br />
<br />
Second: You need to be on the kernel that you have updated to. Running an update and then running the amd-driver-installer without booting to the new kernel beforehand is going to be a fail for you.<br />
<br />
One final point. Be sure to read the "Important Notice" in the "Requirements" section above before proceeding.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log.<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked.<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
There are some excellent resource pages for those who are having difficulty in getting their multiple monitor setups running. Please peruse the following pages for tips on solving multiple monitor configurations:<br />
<br />
http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
<br />
http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can do the following to force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
Other resources include ''man aticonfig'', Catalyst documentation, one of the [[Ubuntu]] guides.<br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script.<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required, because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next catalyst), you reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those of you that are running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesas that (should) be on your system. This example is for users running Wine/Crossover on a 64 bit system:<br />
<br />
<pre><br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8253Fedora 16 Installation Guide2012-03-22T09:42:35Z<p>67.239.165.48: /* Uninstalling AMD-supplied driver */</p>
<hr />
<div>= Two Driver Choices =<br />
<br />
The Free Software ''radeon'' driver is making real progress in F16's kernel 3.1 and 3.2, it's expected to get even better in kernel 3.3 and 3.4.<br />
<br />
The kernel 3.1 driver will easily run desktop compositing (eg: ''gnome-shell'', transparent terminal). It even manages 60fps VSync at 1920x1200 in many 3D games (eg: ''Darkplaces'' Quake engine) with no problems. Depending on your CPU, constant 45fps in 1080p Minecraft is easily doable.<br />
<br />
It is true that the Official AMD-supplied driver is the only real choice for running newer games, such as most things you'd buy through Steam, however the Free driver is more than capable for everyday desktop needs such as compositing and most native Linux games. Please research and test your requirements to determine the most suitable solution.<br />
<br />
= Pre-built packages from RPMFusion =<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous AMD-supplied driver installation ===<br />
<br />
If you're coming from the AMD-supplied driver to RPMFusion's driver, you'll need to reinstall this package as the AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages which supply kernel modules for specific Fedora kernel versions. If you are using these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new kmod package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you never have to worry about this.<br />
<br />
= Official AMD Driver =<br />
<br />
=== Requirements ===<br />
<br />
The official AMD driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. In other words, move any xorg.conf files out of the /etc/X11 directory before installation. The possible exception to this rule is if you have something other than a single monitor setup, for example you may have a multiple monitor setup that you have edited. If this is the case, move your existing xorg.conf out of /etc/X11 and allow amd-driver-installer a chance to create a working xorg.conf from scratch. Later on you can transfer sections of your old xorg.conf into the new AMD-generated version, if required (See "Multiple Monitor Setups" below). FYI: You will need version 11.11 of the ATI driver or later for F16, earlier versions will not work. Also, please note that no card rated below Radeon HD 2000 will currently work with latest amd-driver-installer.<br />
<br />
Before you begin, it is also a prerequisite to blacklist radeon. The radeon driver is dug in to the system like a tick, but with the following procedure, removing it is rather painless. Edit the /etc/modprobe.d/blacklist.conf and add radeon to the list. After you do that, run the following in a root shell:<br />
<br />
<pre><br />
/sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --install $(uname -r)<br />
</pre><br />
<br />
This will generate a new initramfs that does not have radeon built in. On the next boot, the radeon module should be gone. It is better not to reboot however until you complete the steps below. Otherwise you may not have a DE to work in.<br />
<br />
Important Notice: As of March 5th, 2012, no kernel above 3.2.9-1.fc16 will compile on amd-driver-installer. If you have unfortunately updated your system to a kernel newer than 3.2.9-1.fc16, then you will need to drop back to 3.2.9-1.fc16 in order to get amd-driver-installer properly compiled. For links to this specific kernel and more (current) information, visit ##fedora channel on Freenode and get the details. This wiki will be updated as new information emerges.<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds a set of modules, one of which is fglrx.ko (the kernel module) and a set of fglrx modules for Xorg. The AMD installer has some development package prerequisites which we install below:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
Note: glibc-devel is a dependency of gcc and should be pulled in during the yum session above.<br />
<br />
There are some important caveats to observe here in this step. First, you need to make sure that there are no kernel-devel's left over from older kernel installs. Usually kernel-headers will be replaced in an update; however, kernel-devel never is, and the older ones are left hanging around after kernel updates. So the objective here is that you need to manually remove any kernel-devel's that do not match the running kernel. To run a check on kernel packages present and how they match, run the following:<br />
<br />
<pre><br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any kernel-devels that do not match. For example:<br />
<br />
<pre><br />
rpm -ev --nodeps kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note that in this case we are careful to specify the exact package name that was given to us by rpm command above.<br />
<br />
Second: You need to be on the kernel that you have updated to. Running an update and then running the amd-driver-installer without booting to the new kernel beforehand is going to be a fail for you.<br />
<br />
One final point. Be sure to read the "Important Notice" in the "Requirements" section above before proceeding.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log.<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked.<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
There are some excellent resource pages for those who are having difficulty in getting their multiple monitor setups running. Please peruse the following pages for tips on solving multiple monitor configurations:<br />
<br />
http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
<br />
http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can do the following to force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
Other resources include ''man aticonfig'', Catalyst documentation, one of the [[Ubuntu]] guides.<br />
<br />
=== Uninstalling Official AMD driver ===<br />
<br />
Run AMD's uninstall script.<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
The following steps are not strictly required, because the amd-driver-installer is written to put all files back as they were before the install. One set of files that amd-driver-installer alters is the mesa library set. To be sure of a mint-condition installation (especially if you are upgrading to the next catalyst), you reinstall the following package:<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
For those of you that are running Wine or Crossover from Codeweavers.com, the following command will reinstall all the mesas that (should) be on your system:<br />
<br />
<pre><br />
yum reinstall mesa-dri-filesystem.i686 mesa-libGL.x86_64 mesa-dri-drivers.x86_64 mesa-libGL.i686 mesa-dri-filesystem.x86_64 mesa-libEGL.x86_64 mesa-dri-drivers.i686 mesa-libGLU.x86_64<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8251Fedora 16 Installation Guide2012-03-22T09:12:14Z<p>67.239.165.48: /* Preinstall required packages */</p>
<hr />
<div>= Two Driver Choices =<br />
<br />
The Free Software ''radeon'' driver is making real progress in F16's kernel 3.1 and 3.2, it's expected to get even better in kernel 3.3 and 3.4.<br />
<br />
The kernel 3.1 driver will easily run desktop compositing (eg: ''gnome-shell'', transparent terminal). It even manages 60fps VSync at 1920x1200 in many 3D games (eg: ''Darkplaces'' Quake engine) with no problems. Depending on your CPU, constant 45fps in 1080p Minecraft is easily doable.<br />
<br />
It is true that the Official AMD-supplied driver is the only real choice for running newer games, such as most things you'd buy through Steam, however the Free driver is more than capable for everyday desktop needs such as compositing and most native Linux games. Please research and test your requirements to determine the most suitable solution.<br />
<br />
= Pre-built packages from RPMFusion =<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous AMD-supplied driver installation ===<br />
<br />
If you're coming from the AMD-supplied driver to RPMFusion's driver, you'll need to reinstall this package as the AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages which supply kernel modules for specific Fedora kernel versions. If you are using these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new kmod package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you never have to worry about this.<br />
<br />
= Official AMD Driver =<br />
<br />
=== Requirements ===<br />
<br />
The official AMD driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. In other words, move any xorg.conf files out of the /etc/X11 directory before installation. The possible exception to this rule is if you have something other than a single monitor setup, for example you may have a multiple monitor setup that you have edited. If this is the case, move your existing xorg.conf out of /etc/X11 and allow amd-driver-installer a chance to create a working xorg.conf from scratch. Later on you can transfer sections of your old xorg.conf into the new AMD-generated version, if required (See "Multiple Monitor Setups" below). FYI: You will need version 11.11 of the ATI driver or later for F16, earlier versions will not work. Also, please note that no card rated below Radeon HD 2000 will currently work with latest amd-driver-installer.<br />
<br />
Before you begin, it is also a prerequisite to blacklist radeon. The radeon driver is dug in to the system like a tick, but with the following procedure, removing it is rather painless. Edit the /etc/modprobe.d/blacklist.conf and add radeon to the list. After you do that, run the following in a root shell:<br />
<br />
<pre><br />
/sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --install $(uname -r)<br />
</pre><br />
<br />
This will generate a new initramfs that does not have radeon built in. On the next boot, the radeon module should be gone. It is better not to reboot however until you complete the steps below. Otherwise you may not have a DE to work in.<br />
<br />
Important Notice: As of March 5th, 2012, no kernel above 3.2.9-1.fc16 will compile on amd-driver-installer. If you have unfortunately updated your system to a kernel newer than 3.2.9-1.fc16, then you will need to drop back to 3.2.9-1.fc16 in order to get amd-driver-installer properly compiled. For links to this specific kernel and more (current) information, visit ##fedora channel on Freenode and get the details. This wiki will be updated as new information emerges.<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds a set of modules, one of which is fglrx.ko (the kernel module) and a set of fglrx modules for Xorg. The AMD installer has some development package prerequisites which we install below:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
Note: glibc-devel is a dependency of gcc and should be pulled in during the yum session above.<br />
<br />
There are some important caveats to observe here in this step. First, you need to make sure that there are no kernel-devel's left over from older kernel installs. Usually kernel-headers will be replaced in an update; however, kernel-devel never is, and the older ones are left hanging around after kernel updates. So the objective here is that you need to manually remove any kernel-devel's that do not match the running kernel. To run a check on kernel packages present and how they match, run the following:<br />
<br />
<pre><br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any kernel-devels that do not match. For example:<br />
<br />
<pre><br />
rpm -ev --nodeps kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note that in this case we are careful to specify the exact package name that was given to us by rpm command above.<br />
<br />
Second: You need to be on the kernel that you have updated to. Running an update and then running the amd-driver-installer without booting to the new kernel beforehand is going to be a fail for you.<br />
<br />
One final point. Be sure to read the "Important Notice" in the "Requirements" section above before proceeding.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log.<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked.<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
There are some excellent resource pages for those who are having difficulty in getting their multiple monitor setups running. Please peruse the following pages for tips on solving multiple monitor configurations:<br />
<br />
http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
<br />
http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can do the following to force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
Other resources include ''man aticonfig'', Catalyst documentation, one of the [[Ubuntu]] guides.<br />
<br />
=== Uninstalling AMD-supplied driver ===<br />
<br />
Run AMD's uninstall script.<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
Reinstall this package as the AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8250Fedora 16 Installation Guide2012-03-22T09:11:41Z<p>67.239.165.48: /* Preinstall required packages */</p>
<hr />
<div>= Two Driver Choices =<br />
<br />
The Free Software ''radeon'' driver is making real progress in F16's kernel 3.1 and 3.2, it's expected to get even better in kernel 3.3 and 3.4.<br />
<br />
The kernel 3.1 driver will easily run desktop compositing (eg: ''gnome-shell'', transparent terminal). It even manages 60fps VSync at 1920x1200 in many 3D games (eg: ''Darkplaces'' Quake engine) with no problems. Depending on your CPU, constant 45fps in 1080p Minecraft is easily doable.<br />
<br />
It is true that the Official AMD-supplied driver is the only real choice for running newer games, such as most things you'd buy through Steam, however the Free driver is more than capable for everyday desktop needs such as compositing and most native Linux games. Please research and test your requirements to determine the most suitable solution.<br />
<br />
= Pre-built packages from RPMFusion =<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous AMD-supplied driver installation ===<br />
<br />
If you're coming from the AMD-supplied driver to RPMFusion's driver, you'll need to reinstall this package as the AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages which supply kernel modules for specific Fedora kernel versions. If you are using these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new kmod package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you never have to worry about this.<br />
<br />
= Official AMD Driver =<br />
<br />
=== Requirements ===<br />
<br />
The official AMD driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. In other words, move any xorg.conf files out of the /etc/X11 directory before installation. The possible exception to this rule is if you have something other than a single monitor setup, for example you may have a multiple monitor setup that you have edited. If this is the case, move your existing xorg.conf out of /etc/X11 and allow amd-driver-installer a chance to create a working xorg.conf from scratch. Later on you can transfer sections of your old xorg.conf into the new AMD-generated version, if required (See "Multiple Monitor Setups" below). FYI: You will need version 11.11 of the ATI driver or later for F16, earlier versions will not work. Also, please note that no card rated below Radeon HD 2000 will currently work with latest amd-driver-installer.<br />
<br />
Before you begin, it is also a prerequisite to blacklist radeon. The radeon driver is dug in to the system like a tick, but with the following procedure, removing it is rather painless. Edit the /etc/modprobe.d/blacklist.conf and add radeon to the list. After you do that, run the following in a root shell:<br />
<br />
<pre><br />
/sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --install $(uname -r)<br />
</pre><br />
<br />
This will generate a new initramfs that does not have radeon built in. On the next boot, the radeon module should be gone. It is better not to reboot however until you complete the steps below. Otherwise you may not have a DE to work in.<br />
<br />
Important Notice: As of March 5th, 2012, no kernel above 3.2.9-1.fc16 will compile on amd-driver-installer. If you have unfortunately updated your system to a kernel newer than 3.2.9-1.fc16, then you will need to drop back to 3.2.9-1.fc16 in order to get amd-driver-installer properly compiled. For links to this specific kernel and more (current) information, visit ##fedora channel on Freenode and get the details. This wiki will be updated as new information emerges.<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds a set of modules, one of which is fglrx.ko (the kernel module) and a set of fglrx modules for Xorg. The AMD installer has some development package prerequisites which we install below:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
Note: glibc-devel is a dependency of gcc and should be pulled in during the yum session above.<br />
<br />
There are some important caveats to observe here in this step. First, you need to make sure that there are no kernel-devel's left over from older kernel installs. Usually kernel-headers will be replaced in an update; however, kernel-devel never is, and the older ones are left hanging around after kernel updates. So the objective here is that you need to manually remove any kernel-devel's that do not match the running kernel. To run a check on kernel packages present and how they match, run the following:<br />
<br />
<pre><br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any kernel-devels that do not match. For example:<br />
<br />
<pre><br />
rpm -ev --nodeps kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note that in this case we are careful to specify the exact package name that was given to us by rpm command above.<br />
<br />
Second: You need to be on the kernel that you have updated to. Running an update and then running the amd-driver-installer without booting to the new kernel beforehand is going to be a fail for you.<br />
<br />
One final point. Be sure to read the "Important Notice" in the "Requisites" section above before proceeding.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log.<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked.<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
There are some excellent resource pages for those who are having difficulty in getting their multiple monitor setups running. Please peruse the following pages for tips on solving multiple monitor configurations:<br />
<br />
http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
<br />
http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can do the following to force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
Other resources include ''man aticonfig'', Catalyst documentation, one of the [[Ubuntu]] guides.<br />
<br />
=== Uninstalling AMD-supplied driver ===<br />
<br />
Run AMD's uninstall script.<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
Reinstall this package as the AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8249Fedora 16 Installation Guide2012-03-22T09:10:45Z<p>67.239.165.48: /* Requirements */</p>
<hr />
<div>= Two Driver Choices =<br />
<br />
The Free Software ''radeon'' driver is making real progress in F16's kernel 3.1 and 3.2, it's expected to get even better in kernel 3.3 and 3.4.<br />
<br />
The kernel 3.1 driver will easily run desktop compositing (eg: ''gnome-shell'', transparent terminal). It even manages 60fps VSync at 1920x1200 in many 3D games (eg: ''Darkplaces'' Quake engine) with no problems. Depending on your CPU, constant 45fps in 1080p Minecraft is easily doable.<br />
<br />
It is true that the Official AMD-supplied driver is the only real choice for running newer games, such as most things you'd buy through Steam, however the Free driver is more than capable for everyday desktop needs such as compositing and most native Linux games. Please research and test your requirements to determine the most suitable solution.<br />
<br />
= Pre-built packages from RPMFusion =<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous AMD-supplied driver installation ===<br />
<br />
If you're coming from the AMD-supplied driver to RPMFusion's driver, you'll need to reinstall this package as the AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages which supply kernel modules for specific Fedora kernel versions. If you are using these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new kmod package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you never have to worry about this.<br />
<br />
= Official AMD Driver =<br />
<br />
=== Requirements ===<br />
<br />
The official AMD driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. In other words, move any xorg.conf files out of the /etc/X11 directory before installation. The possible exception to this rule is if you have something other than a single monitor setup, for example you may have a multiple monitor setup that you have edited. If this is the case, move your existing xorg.conf out of /etc/X11 and allow amd-driver-installer a chance to create a working xorg.conf from scratch. Later on you can transfer sections of your old xorg.conf into the new AMD-generated version, if required (See "Multiple Monitor Setups" below). FYI: You will need version 11.11 of the ATI driver or later for F16, earlier versions will not work. Also, please note that no card rated below Radeon HD 2000 will currently work with latest amd-driver-installer.<br />
<br />
Before you begin, it is also a prerequisite to blacklist radeon. The radeon driver is dug in to the system like a tick, but with the following procedure, removing it is rather painless. Edit the /etc/modprobe.d/blacklist.conf and add radeon to the list. After you do that, run the following in a root shell:<br />
<br />
<pre><br />
/sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --install $(uname -r)<br />
</pre><br />
<br />
This will generate a new initramfs that does not have radeon built in. On the next boot, the radeon module should be gone. It is better not to reboot however until you complete the steps below. Otherwise you may not have a DE to work in.<br />
<br />
Important Notice: As of March 5th, 2012, no kernel above 3.2.9-1.fc16 will compile on amd-driver-installer. If you have unfortunately updated your system to a kernel newer than 3.2.9-1.fc16, then you will need to drop back to 3.2.9-1.fc16 in order to get amd-driver-installer properly compiled. For links to this specific kernel and more (current) information, visit ##fedora channel on Freenode and get the details. This wiki will be updated as new information emerges.<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds a set of modules, one of which is fglrx.ko (the kernel module) and a set of fglrx modules for Xorg. The AMD installer has some development package prerequisites which we install below:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
Note: glibc-devel is a dependency of gcc and should be pulled in during the yum session above.<br />
<br />
There are some important caveats to observe here in this step. First, you need to make sure that there are no kernel-devel's left over from older kernel installs. Usually kernel-headers will be replaced in an update; however, kernel-devel never is, and the older ones are left hanging around after kernel updates. So the objective here is that you need to manually remove any kernel-devel's that do not match the running kernel. To run a check on kernel packages present and how they match, run the following:<br />
<br />
<pre><br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any kernel-devels that do not match. For example:<br />
<br />
<pre><br />
rpm -ev --nodeps kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note that in this case we are careful to specify the exact package name that was given to us by rpm command above.<br />
<br />
Second: You need to be on the kernel that you have updated to. Running an update and then running the amd-driver-installer without booting to the new kernel beforehand is going to be a fail for you.<br />
<br />
One final point. As of March 5th, 2012, no kernel above 3.2.9-1.fc16 will compile on amd-driver-installer. If you have unfortunately updated your system to a kernel newer than 3.2.9-1.fc16, then you will need to drop back to 3.2.9-1.fc16 in order to get amd-driver-installer properly compiled. For links to this specific kernel and more (current) information, visit ##fedora channel on Freenode and get the details. This wiki will be updated as new information emerges.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log.<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked.<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
There are some excellent resource pages for those who are having difficulty in getting their multiple monitor setups running. Please peruse the following pages for tips on solving multiple monitor configurations:<br />
<br />
http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
<br />
http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can do the following to force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
Other resources include ''man aticonfig'', Catalyst documentation, one of the [[Ubuntu]] guides.<br />
<br />
=== Uninstalling AMD-supplied driver ===<br />
<br />
Run AMD's uninstall script.<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
Reinstall this package as the AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8248Fedora 16 Installation Guide2012-03-22T09:05:19Z<p>67.239.165.48: /* Preinstall required packages */</p>
<hr />
<div>= Two Driver Choices =<br />
<br />
The Free Software ''radeon'' driver is making real progress in F16's kernel 3.1 and 3.2, it's expected to get even better in kernel 3.3 and 3.4.<br />
<br />
The kernel 3.1 driver will easily run desktop compositing (eg: ''gnome-shell'', transparent terminal). It even manages 60fps VSync at 1920x1200 in many 3D games (eg: ''Darkplaces'' Quake engine) with no problems. Depending on your CPU, constant 45fps in 1080p Minecraft is easily doable.<br />
<br />
It is true that the Official AMD-supplied driver is the only real choice for running newer games, such as most things you'd buy through Steam, however the Free driver is more than capable for everyday desktop needs such as compositing and most native Linux games. Please research and test your requirements to determine the most suitable solution.<br />
<br />
= Pre-built packages from RPMFusion =<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous AMD-supplied driver installation ===<br />
<br />
If you're coming from the AMD-supplied driver to RPMFusion's driver, you'll need to reinstall this package as the AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages which supply kernel modules for specific Fedora kernel versions. If you are using these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new kmod package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you never have to worry about this.<br />
<br />
= Official AMD Driver =<br />
<br />
=== Requirements ===<br />
<br />
The official AMD driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. In other words, move any xorg.conf files out of the /etc/X11 directory before installation. The possible exception to this rule is if you have something other than a single monitor setup, for example you may have a multiple monitor setup that you have edited. If this is the case, move your existing xorg.conf out of /etc/X11 and allow amd-driver-installer a chance to create a working xorg.conf from scratch. Later on you can transfer sections of your old xorg.conf into the new AMD-generated version, if required (See "Multiple Monitor Setups" below). FYI: You will need version 11.11 of the ATI driver or later for F16, earlier versions will not work.<br />
<br />
Before you begin, it is also a prerequisite to blacklist radeon. The radeon driver is dug in to the system like a tick, but with the following procedure, removing it is rather painless. Edit the /etc/modprobe.d/blacklist.conf and add radeon to the list. After you do that, run the following in a root shell:<br />
<br />
<pre><br />
/sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --install $(uname -r)<br />
</pre><br />
<br />
This will generate a new initramfs that does not have radeon built in. On the next boot, the radeon module should be gone. It is better not to reboot however until you complete the steps below. Otherwise you may not have a DE to work in.<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds a set of modules, one of which is fglrx.ko (the kernel module) and a set of fglrx modules for Xorg. The AMD installer has some development package prerequisites which we install below:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
Note: glibc-devel is a dependency of gcc and should be pulled in during the yum session above.<br />
<br />
There are some important caveats to observe here in this step. First, you need to make sure that there are no kernel-devel's left over from older kernel installs. Usually kernel-headers will be replaced in an update; however, kernel-devel never is, and the older ones are left hanging around after kernel updates. So the objective here is that you need to manually remove any kernel-devel's that do not match the running kernel. To run a check on kernel packages present and how they match, run the following:<br />
<br />
<pre><br />
rpm -qa | grep kernel<br />
</pre><br />
<br />
Remove any kernel-devels that do not match. For example:<br />
<br />
<pre><br />
rpm -ev --nodeps kernel-devel-3.2.9-1.fc16.x86_64<br />
</pre><br />
<br />
Note that in this case we are careful to specify the exact package name that was given to us by rpm command above.<br />
<br />
Second: You need to be on the kernel that you have updated to. Running an update and then running the amd-driver-installer without booting to the new kernel beforehand is going to be a fail for you.<br />
<br />
One final point. As of March 5th, 2012, no kernel above 3.2.9-1.fc16 will compile on amd-driver-installer. If you have unfortunately updated your system to a kernel newer than 3.2.9-1.fc16, then you will need to drop back to 3.2.9-1.fc16 in order to get amd-driver-installer properly compiled. For links to this specific kernel and more (current) information, visit ##fedora channel on Freenode and get the details. This wiki will be updated as new information emerges.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log.<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked.<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
There are some excellent resource pages for those who are having difficulty in getting their multiple monitor setups running. Please peruse the following pages for tips on solving multiple monitor configurations:<br />
<br />
http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
<br />
http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can do the following to force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
Other resources include ''man aticonfig'', Catalyst documentation, one of the [[Ubuntu]] guides.<br />
<br />
=== Uninstalling AMD-supplied driver ===<br />
<br />
Run AMD's uninstall script.<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
Reinstall this package as the AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8247Fedora 16 Installation Guide2012-03-22T08:46:25Z<p>67.239.165.48: /* Requirements */</p>
<hr />
<div>= Two Driver Choices =<br />
<br />
The Free Software ''radeon'' driver is making real progress in F16's kernel 3.1 and 3.2, it's expected to get even better in kernel 3.3 and 3.4.<br />
<br />
The kernel 3.1 driver will easily run desktop compositing (eg: ''gnome-shell'', transparent terminal). It even manages 60fps VSync at 1920x1200 in many 3D games (eg: ''Darkplaces'' Quake engine) with no problems. Depending on your CPU, constant 45fps in 1080p Minecraft is easily doable.<br />
<br />
It is true that the Official AMD-supplied driver is the only real choice for running newer games, such as most things you'd buy through Steam, however the Free driver is more than capable for everyday desktop needs such as compositing and most native Linux games. Please research and test your requirements to determine the most suitable solution.<br />
<br />
= Pre-built packages from RPMFusion =<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous AMD-supplied driver installation ===<br />
<br />
If you're coming from the AMD-supplied driver to RPMFusion's driver, you'll need to reinstall this package as the AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages which supply kernel modules for specific Fedora kernel versions. If you are using these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new kmod package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you never have to worry about this.<br />
<br />
= Official AMD Driver =<br />
<br />
=== Requirements ===<br />
<br />
The official AMD driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. In other words, move any xorg.conf files out of the /etc/X11 directory before installation. The possible exception to this rule is if you have something other than a single monitor setup, for example you may have a multiple monitor setup that you have edited. If this is the case, move your existing xorg.conf out of /etc/X11 and allow amd-driver-installer a chance to create a working xorg.conf from scratch. Later on you can transfer sections of your old xorg.conf into the new AMD-generated version, if required (See "Multiple Monitor Setups" below). FYI: You will need version 11.11 of the ATI driver or later for F16, earlier versions will not work.<br />
<br />
Before you begin, it is also a prerequisite to blacklist radeon. The radeon driver is dug in to the system like a tick, but with the following procedure, removing it is rather painless. Edit the /etc/modprobe.d/blacklist.conf and add radeon to the list. After you do that, run the following in a root shell:<br />
<br />
<pre><br />
/sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --install $(uname -r)<br />
</pre><br />
<br />
This will generate a new initramfs that does not have radeon built in. On the next boot, the radeon module should be gone. It is better not to reboot however until you complete the steps below. Otherwise you may not have a DE to work in.<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds a set of modules, one of which is fglrx.ko (the kernel module) and a set of fglrx modules for Xorg. The AMD installer has some development package prerequisites which we install below:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
glibc-devel is a dependency of gcc and should be pulled in during the yum session above.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log.<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked.<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
There are some excellent resource pages for those who are having difficulty in getting their multiple monitor setups running. Please peruse the following pages for tips on solving multiple monitor configurations:<br />
<br />
http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
<br />
http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can do the following to force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
Other resources include ''man aticonfig'', Catalyst documentation, one of the [[Ubuntu]] guides.<br />
<br />
=== Uninstalling AMD-supplied driver ===<br />
<br />
Run AMD's uninstall script.<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
Reinstall this package as the AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48http://wiki.cchtml.com/index.php?title=Fedora_16_Installation_Guide&diff=8246Fedora 16 Installation Guide2012-03-22T08:41:57Z<p>67.239.165.48: /* Requirements */</p>
<hr />
<div>= Two Driver Choices =<br />
<br />
The Free Software ''radeon'' driver is making real progress in F16's kernel 3.1 and 3.2, it's expected to get even better in kernel 3.3 and 3.4.<br />
<br />
The kernel 3.1 driver will easily run desktop compositing (eg: ''gnome-shell'', transparent terminal). It even manages 60fps VSync at 1920x1200 in many 3D games (eg: ''Darkplaces'' Quake engine) with no problems. Depending on your CPU, constant 45fps in 1080p Minecraft is easily doable.<br />
<br />
It is true that the Official AMD-supplied driver is the only real choice for running newer games, such as most things you'd buy through Steam, however the Free driver is more than capable for everyday desktop needs such as compositing and most native Linux games. Please research and test your requirements to determine the most suitable solution.<br />
<br />
= Pre-built packages from RPMFusion =<br />
<br />
'''RECOMMENDED METHOD'''<br />
<br />
This is easier than manually building the driver from AMD as you don't need to worry about passing kernel options via GRUB2, configuring DKMS, rebuilding the kernel module every time you do a kernel upgrade, or cleaning up any mess if you want to remove the driver.<br />
<br />
=== Clean up previous AMD-supplied driver installation ===<br />
<br />
If you're coming from the AMD-supplied driver to RPMFusion's driver, you'll need to reinstall this package as the AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
=== Setup RPMFusion ===<br />
<br />
There are instructions on http://www.rpmfusion.org/ but this should do it.<br />
<br />
<pre><br />
su -<br />
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm<br />
</pre><br />
<br />
=== Install Catalyst driver packages ===<br />
<br />
This procedure is the same for 32-bit and 64-bit, yum will automatically install the correct driver and libs for your architecture.<br />
<br />
<pre><br />
su -<br />
yum install akmod-catalyst xorg-x11-drv-catalyst xorg-x11-drv-catalyst-libs<br />
</pre><br />
<br />
''' 32-bit Libraries on 64-bit OS'''<br />
<br />
If you want to play 32-bit games on a 64-bit Fedora installation, you will need to install the 32-bit libraries in addition to the above step.<br />
<br />
<pre><br />
su -<br />
yum install xorg-x11-drv-catalyst-libs.i686<br />
</pre><br />
<br />
''' Kernel module packages '''<br />
<br />
Note that there are individual ''kmod-catalyst-'' packages which supply kernel modules for specific Fedora kernel versions. If you are using these and you upgrade the kernel without upgrading the ''kmod-catalyst-'' package, loading the proprietary driver will fail and you'll revert back to the free ''radeon'' graphics driver. Sometimes there is a day or so between Fedora upgrading their kernel and RPMFusion building a new kmod package.<br />
<br />
The ''akmod-catalyst'' package we installed above automatically builds a new kernel module at boot-time when the kernel is upgraded, so you never have to worry about this.<br />
<br />
= Official AMD Driver =<br />
<br />
=== Requirements ===<br />
<br />
The official AMD driver will work best in most cases if there is no xorg.conf file present before you begin the installation process. In other words, move any xorg.conf files out of the /etc/X11 directory before installation. The possible exception to this rule is if you have something other than a single monitor setup, for example you may have a multiple monitor setup that you have edited. If this is the case, move your existing xorg.conf out of /etc/X11 and allow amd-driver-installer a chance to create a working xorg.conf from scratch. Later on you can transfer sections of your old xorg.conf into the new AMD-generated version, if required (See "Multiple Monitor Setups" below). FYI: You will need version 11.11 of the ATI driver or later for F16, earlier versions will not work.<br />
<br />
Before you begin, it is also a prerequisite to blacklist radeon. The radeon driver is dug in to the system like a tick, but with the following procedure, removing it is rather painless. Edit the /etc/modprobe.d/blacklist.conf and add radeon to the list. After you do that, run the following in a root shell:<br />
<br />
<pre><br />
/sbin/new-kernel-pkg --package kernel --mkinitrd --dracut --depmod --install $(uname -r)<br />
</pre><br />
<br />
This will generate a new initramfs that does not have radeon built in. On the next boot, the radeon module should be gone. It is better not to reboot however until you complete the procedure here. Otherwise you may not have a DE to work in.<br />
<br />
=== Preinstall required packages ===<br />
<br />
The script from AMD builds a set of modules, one of which is fglrx.ko (the kernel module) and a set of fglrx modules for Xorg. The AMD installer has some development package prerequisites which we install below:<br />
<br />
<pre><br />
su -<br />
yum install kernel-devel kernel-headers gcc gcc-c++<br />
</pre><br />
<br />
glibc-devel is a dependency of gcc and should be pulled in during the yum session above.<br />
<br />
=== Download driver ===<br />
<br />
Download the driver for your particular card from http://support.amd.com/<br />
<br />
It will look similar to: ''amd-driver-installer-XX-X-XXX.XXX_XX.run''.<br />
<br />
=== Install driver ===<br />
<br />
Run the file as root in the ''sh'' shell.<br />
<br />
<pre><br />
su -<br />
chmod 700 amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
sh ./amd-driver-installer-XX-X-XXX.XXX_XX.run<br />
</pre><br />
<br />
Select the default install, do not generate distribution packages.<br />
<br />
=== Confirming Installation ===<br />
<br />
Check the build install log.<br />
<br />
<pre>tail /usr/share/ati/fglrx-install.log</pre><br />
<br />
You should see data confirming the module build worked.<br />
<br />
<pre>build succeeded with return value 0<br />
duplicating results into driver repository...<br />
done.</pre><br />
<br />
=== Multiple Monitor Setups ===<br />
<br />
There are some excellent resource pages for those who are having difficulty in getting their multiple monitor setups running. Please peruse the following pages for tips on solving multiple monitor configurations:<br />
<br />
http://www.thinkwiki.org/wiki/Xorg_RandR_1.2<br />
<br />
http://wiki.debian.org/XStrikeForce/HowToRandR12<br />
<br />
If you need to start with a clean slate and all your monitors are connected, you can do the following to force a fresh xorg.conf to be generated taking into account the monitors present:<br />
<br />
<pre><br />
su -<br />
aticonfig --initial -f<br />
</pre><br />
<br />
Other resources include ''man aticonfig'', Catalyst documentation, one of the [[Ubuntu]] guides.<br />
<br />
=== Uninstalling AMD-supplied driver ===<br />
<br />
Run AMD's uninstall script.<br />
<br />
<pre><br />
su -<br />
sh /usr/share/ati/fglrx-uninstall.sh<br />
</pre><br />
<br />
Reinstall this package as the AMD driver installation changes files it contains.<br />
<br />
<pre><br />
su -<br />
yum reinstall mesa-libGL<br />
</pre><br />
<br />
= Troubleshooting =<br />
<br />
In the event you install the driver and are greeted with a blank screen or corrupted video signal when starting X, you are able to manually disable the Free Software ''radeon'' driver to troubleshoot.<br />
<br />
Turn your system off and on again. On the GRUB boot screen, press '''e''' to edit the default boot entry, scroll down to the kernel line (which begins ''linux''), then press '''e''' again to edit the line.<br />
<br />
Add the entries '''radeon.modeset=0 blacklist=radeon''' to the end. For example, if your kernel line is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8</pre><br />
<br />
we'll want to edit it so it is<br />
<br />
<pre>linux /vmlinuz-3.2.9-1.fc16.x86_64 LANG=en_US.UTF-8 radeon.modeset=0 blacklist=radeon</pre><br />
<br />
These entries do the following:<br />
* '''radeon.modeset=0''' disables "Kernel Mode Settting" for the Free Software driver (ie: the driver telling the kernel to setup the screen resolution, instead of XOrg doing it)<br />
* '''blacklist=radeon''' stops the kernel from loading the Free Software ''radeon'' driver altogether<br />
<br />
From here you can manually remove and reinstall the proprietary drivers, either with yum or with PackageKit's ''Add/Remove Software'' application, as desired.</div>67.239.165.48