Not using Cedega to play on linux? Help us build the Linux Gaming Wiki!
 HOW TO: Cedega/P2P & ATi Driver Installation and Configuration
Given that nVidia made their driver installer more user friendly in *nix environments than did ATI, it is the intent of this guide to give a step by step approach to the installation and configuration of the proprietary ATI drivers for Linux, for the purpose of gaming with Cedega.
 What you need to get started
- The kernel source tree installed (*see note*)
- An ATI graphics card (model Radeon 8500 or later)
- A package manager installer capable of installing RPM files
- A copy of your xorg.conf file, or Xfree86-4.conf file handy for reference (a backup copy would be handy as well).
Note: All installation & configuration steps must be run as root/su unless expressly stated otherwise.
 Section 1: INSTALLATION
1. Go to ATI Linux Driver Site and select your graphics card series, and your processor architecture.
2. Select to download the driver designed for your implementation of the x11 windows environment (Xfree86, or X.org), and save it to an accessible location.
3. Exit the X-windows environment completely (e.g. runlevel 3).
4. Remove any kernel modules used for the video driver you intend to replace:
A. run to determine name of module (e.g. for FC3 it is called radeon)
B. remove the existing module:
$ rmmod radeon
5. install the ATI driver binary package:
$ rpm -Uvh fglrx*
Note: 5.5 If the RPM installs without errors proceed to step 5. Otherwise see section 4: FURTHER INSTALLATION INSTRUCTIONS
 Section 2: CONFIGURATION
6. Reboot to runlevel 3, or start the fglrx kernel module manually (I suggest rebooting just to reset the memory to vanilla)
this should be in the PATH, and can be executed anywhere, but if there is an error it is located at /usr/X11R6/bin/fglrxconfig
8. Answer the questions as prompted, relying on your existing (and working) xorg.conf, or xfree86-4.conf file for reference. of particular importance is to:
A. Set your Hsync correctly (as this could affect your monitors lifespan – the range should be listed in the monitor's manual)
B. Do not use the external AGP GART module.
C. Set the TLS method to compatible operation (for FireGL boards) – WineX compatible.
9. When finished and your config is written and in place, start to X-Windows (either boot runlevel 5) or:
$ startx (Not as root/su)
 Section 3: TESTING INSTALLATION/CONFIGURATION:
10. Check for 3D rendering:
$ glxinfo | grep "direct rendering"
This should return something like:
direct rendering: Yes
11. Then specifically for Point2Play: test the hardware acceleration using the GLGears test in P2P, you should get over 500 fps.
 Section 4: FURTHER INSTALLATION INSTRUCTIONS
A. The most common error when installing the RPM is regarding a conflict in libGL.so - this results if you already have a GL extension library installed - prior to the installation of fglrx driver this is likely the software rendering Mesa GL extensions. You have two options to get this working. One is to force the install. To do this: as root execute:
$ rpm -Uvh –-force fglrx*
However, it should be noted that this will overwrite conflicting files, but leave the footprint of the Mesa GL libraries intact. Therefore, if you update the Mesa GL package in the future, you may break the ATI driver installation. (caution: the following is a specific solution using the Fedora/Xorg distro and results on other configurations may differ) A solution to avoid this is to uninstall the Mesa GL package first. Since GL is a dependency of many software packages, you need to include the --nodeps option. As root execute:
$ rpm -e --nodeps xorg-x11-MesaGL $ rpm -ivh fglrx*
Reboot to runlevel 3 and proceed from step 6 above.
B. If you have a kernel 2.6.9-1 or higher, and you get an unresolved symbol error either in the installation of the RPM or in manually compiling the kernel module, you will need to do a bit more work (detailed below) If you have no errors at this point go on to step #5.
1. After you did:
$ rpm -Uvh --force fglrx*
you got a nasty error about unresolved symbols, didn't you? In fact you may have gone to the ATI website and followed their instructions at: here followed by here to fix it. That works for most people (so definitely try that first).
2. If you still get unresolved symbols (I did with a 2.6.10-1.760smp kernel) try replacing the depreciated pci_find_class designation with the newer pci_get_class within the ATI binaries. An easy way to do this is using a simple 1 line perl script by executing the following commands:
$ cd /lib/modules/fglrx/ $ perl -ui -e "s/pci_find_class/pci_get_class/g;" * $ cd build_mod/ $ perl -ui -e "s/pci_find_class/pci_get_class/g;" * $ cd 2.6.x/ $ perl -ui -e "s/pci_find_class/pci_get_class/g;" *
This tells perl to go through each file in the glob (i.e. directory) and change all instances of pci_find_class to pci_get_class – even though they are binary files, these flags are set in text, and can be switched this way.
3. Then you need to compile the kernel module by hand. (according to this ATI document)
$ cd /lib/modules/fglrx/build_mod $ sh make.sh $ cd .. $ sh make_install.sh $ insmod flgrx.ko
4. Reboot to runlevel 3 and proceed from step 6 above.
 Note on source trees
There is a trend away from providing fully expanded kernel source trees with recent Linux distributions. According to ATI, you can compile their kernel module with only the kernel headers installed, I have not tried this personally, and I'd like to know how that works for someone else.
In some recent distributions of Linux, the kernel source code is distributed in a unconfigured, not expanded form. On FC3 to expand the source tree for the purpose of providing configuration/headers for compiling the kernel module, execute the following as root:
$ rpmbuild -bp --target=noarch /usr/src/redhat/SPECS/kernel-2.6.spec $ ln -s /usr/src/redhat/BUILD/kernel-2.6/linux-2.6 /usr/src/linux $ cp /boot/config-`uname -r` /usr/src/linux/.config
 Section 5: Getting OpenGL to work (specifically with World of Warcraft)
Note: This requires fglrx v. >8.10.19 and will not work with v8.8.25
1. Edit your ~/.transgaming/config file (for CLI Cedega) or your Point2Play config file for WoW go to the section for [opengl], and make sure it looks like this:
[opengl] "FixedGLExtensionBuffer" = "Y" "GLExtensionBuffer" = "-GL_ARB_vertex_buffer_object"
2. Then edit your PATH_TO_WoW/World\ of\ Warcraft/WTF/Config.wtf file and make sure the following lines appear:
SET gxColorBits "24" SET gxDepthBits "24"
3. Then you can start WoW in OpenGL mode via CLI cedega using the command:
$ cedega WoW.exe -opengl
If the game starts without graphical glitches, then you can set OpenGL to be the default rendering method by adding the following line to your PATH_TO_WoW/World\ of\ Warcraft/WTF/Config.wtf file:
SET gxApi "opengl"
- If you are missing the gxColorBits/gxDepthBits you will get an error you "failed to started acceleration".
- If you get horribly corrupt graphic glitches then you need to alter your [opengl] section in the Cedega config.
--Drizzard 19:34, 14 Mar 2005 (CET)