Novell Home

OpenSUSE 10.2 ATI Proprietary Linux Display Driver Installation Instructions

Novell Cool Solutions: Feature
By Jim Gravelle

Digg This - Slashdot This

Posted: 28 Jun 2007
 

Problem:

The ATI Linux driver installation instructions on the ATI/AMD website lacks detail, only talks about what you need for XFree (not XOrg) and most of the time doesn't work! Not only that, they didn't give any instruction on how to prepare and install the drivers outside of an X-Windows environment.

Note: If you have already installed a version of the ATI Proprietary Linux driver, it is highly recommended to follow the Uninstall Procedure below before installing the update.

Environment Factors:

Linux Packages

The following Linux packages are required in order to ensure a successful installation:

Description Required Packages
All Systems Additionally Required on 64 Bit system
C complier runtime library libgcc41 libgcc41-32bit
Data Compression Library zlib / zlib-devel zlib-32bit
Font Configuration fontconfig / fontconfig-devel fontconfig-32bit
GNU C Compiler gcc
GNU make make
Mesa libraries Mesa / Mesa-devel Mesa-32bit
QT libraries qt3 qt3-32bit
Linux kernel source code kernel-source
Compatibility libraries compat / compat-libstdc++ / libstdc++41 / libstdc++41-devel compat-32bit /libstdc++41-32bit
TrueType Font Engine freetype / freetype2 / freetype2-devel freetype2-32bit
X.Org libraries xorg-x11-devel / xorg-x11-libs xorg-x11-devel-32bit / xorg-x11-libs-32bit
XML Parser Toolkit expat expat-32bit

ATI Driver Installer

You'll need to visit the ATI Support Website (http://ati.amd.com/support/driver.html) and download the "ATI Proprietary Linux x86_64/x86 Display Driver". Be sure to grab the full "ATI Driver Installer" version. At the time of this writing it was version 8.37.6 at approximately 50 mega-bytes in size. Once you download the file, as user root, make sure you run the 'chmod 755 ati-driver-installer-<version>-<architecture>.run' command to convert it to an executable, to be run during the installation procedure.

Optional - X.Org 7.2 Install

Not sure if you are aware of this, but OpenSUSE ships with X.Org V7.2 RC2. I'm told the ATI driver's fully support the RC2 release, but if you are like me and prefer to have final release code on your machine for critical stuff like video subsystems then add the following Installation Source to your favourite package manager:

YaST Installation Source

Protocol: HTTP
Server Name: ftp.skynet.be
Directory on Server: /pub/software.opensuse.org/xorg72/openSUSE_10.2/

Smart Package Manager

Type: RPM MetaData (rpm-md)
Alias: Xorg72
Name: Xorg 7.2 Final
Base URL: http://ftp.skynet.be//pub/software.opensuse.org/xorg72/openSUSE_10.2/

You'll need to follow the instructions of your package manager of choice on how to do the actual update. Even though they say you don't need to...but I'd reboot your machine after the update to make sure X-windows starts properly before continuing with the ATI drive installation.

NOTE: At the time of this article, AMD does not officially support AIGLX in their ATI video drivers. To see this, once you've installed the video driver, and confirmed it's working properly, take a look at the "/var/log/Xorg.0.log" file. Look for the following lines:
(EE) AIGLX error: dlsym for __driCreateNewScreen_20050727 failed (/usr/lib/dri/fglrx_dri.so: undefined symbol: __driCreateNewScreen_20050727)
(EE) AIGLX: reverting to software rendering

If you have these lines in the log file, that means AIGLX is not supported by the driver/your video chipset. To avoid any potential issues in the future, I suggest you enter edit your "/etc/X11/xorg.conf" file, and add the following line into the "ServerFlags" section:

Option	   "AIGLX" "off"

My xorg.conf section looks like this:

Section "ServerFlags"
	Option		"AllowMouseOpenFail" "on"
	Option		"IgnoreABI" "on"
	Option		"AIGLX" "off"
EndSection

Solution:

Installation Procedure

The following procedure is for creating and installing the ATI driver package:

  1. Be sure to install all of the required "Linux Packages" and download the "ATI Driver Installer", as outlined in the Environment Factors section above.
  2. At a Shell/Terminal prompt, switch to user root using the command:
  3. sux -

  4. Change (cd) to the directory where you downloaded the "ATI Proprietary Linux x86_64 Display Driver for XFree86 / X.Org" file named "ati-driver-installer-<version>-<architecture>.run"

  5. Now we will create the installer package. Choose one of the following methods:

    Method A (Requires a X-Windows environment to work.)
    1. Execute the ATI installer by typing the following at the shell prompt.
      ./ati-driver-installer-<version>-<architecture>.run


    2. The installer will now create a temporary install folder, verify it's integrity, uncompress it's contents and detect your system architecture. If you've updated your X.org to version 7.2, you may receive a message like this:
    3. If you receive this message, then you'll need to instruct the installer to use a specific 'directory' using the examples given. In my case, since I'm using a 64-bit O/S, I'd type in:

      X_VERSION=x710_64a ./ati-driver-installer-8.34.8-x86.x86_64.run

      If you are using a 32-bit O/S, then you'd enter:

      X_VERSION=x710 ./ati-driver-installer-8.34.8-x86.x86_64.run
    4. When the installer is done preparing itself, you will be presented with the initial Setup window:
    5. here you will select Generate Distribution Specific Driver Package and click the Continue button.

    6. Read the "License Agreement" and click the I Agree button.

    7. You'll then be presented with a list of Options. Click the "SuSE Packages" button and select your O/S version. For me that was "SuSE/SUSE102-AMD64".
    8. Click the Continue button and wait for it to generate and save your custom package.

    9. When it's complete, you will be presented with a summary window. Read it's contents and click the Exit button to close it.

    Method B (Command line version, which works well in situations when you can't load X-Windows.)


    1. List the packages the ATI installer supports by typing "./ati-driver-installer-<version>-<architecture>.run --listpkg" at the shell prompt.

    2. Locate the "SuSE Packages" section and find the package that matches your O/S. (For my AMD Turion 64 bit processor, I chose "SuSE/SUSE102-AMD64".)

    3. Create the package by using the "--buildpkg" (that's two '-') command. For example: ./ati-driver-installer-<version>-<architecture>.run --buildpkg SuSE/SUSE102-AMD64

    NOTE: When you use this procedure, a copy of the built rpm is placed in the directory you execute the installer from and the "/usr/src/packages/RMPS/<architecture>" directory. You can do what I did, just go there, as root, and delete the extra file.
  6. To verify the success of the package creation check the "/usr/share/ati/fglrx-install.log" file for errors that may have occurred during the package creation. Resolve any errors before continuing. (See the Examples section for a screen shot of a successful package build.)

  7. Now you should have a new RPM that starts with the name "fglrx". That is the package you will now use to install the driver. Hold down the following three keys to switch to "tty1":

    CTRL - ALT - F1

  8. Log in as "root" and switch to runlevel 3 (multi-user mode ? no GUI) using the command:

    init 3
  9. Let's make a backup of our "xorg.conf" file before we install anything:

    cp /etc/X11/xorg.conf /etc/X11/xorg.conf.original

  10. Change (cd) to the directory where your newly generated "fglrx" package was saved.

  11. Now we install the "fglrx*.rpm":

  12. rpm -Uvh fglrx*.rpm

  13. If all goes well the package should install without a hitch! We now need to generate a default ATI device section in the "xorg.conf" file with the command:
    aticonfig --initial

  14. Now run the Sax2 program to configure the driver with the following command (all lower case ? that's a zero an a space after the "-m"):
    sax2 -r -m 0=fglrx

  15. In a few seconds the SaX2 configuration screen should open. Click the "Change Configuration" button and make any changes you need to do (i.e. resolution, colours, etc.) and click the "OK" button. Be sure to "Test" any changes before saving them! (Note: It's normal if the "3D" symbol in the centre has a red line through it...no need to worry...we'll check the 3D stuff momentarily.)

  16. After you've adjusted things, click the "Save" button and click "Yes" to close SaX2.
    NOTE: For me, sometimes the screen will turn to a grey or off-white colour when exiting SaX2. I don't know why it does that, a simple CTRL - ALT - DEL (three finger salute), which reboots the computer, fixes it.

  17. Reboot the computer by issuing the command:
    init 6

  18. It's now time to determine if the ATI OpenGL rendering engine is being used: after the reboot, log in normally and at a Terminal prompt issue the following command:
    fglrxinfo

  19. The output should be "OpenGL vendor string: ATI Technologies Inc."...like this:
  20. If it reads "OpenGL vendor string: Mesa project: www.mesa3d.org", or anything other then ATI see the Troubleshooting and Testing section below.

  21. That's it! You are all done!

Uninstall Procedure

The following method should be followed to uninstall the ATI Proprietary Linux Display Driver:

  1. Close any open applications.

  2. Hold down the following three keys to switch to "tty1":

    CTRL - ALT - F1

  3. Log in as "root" and switch to runlevel 3 (multi-user mode ? no GUI) using the command:

    init 3

  4. Now remove the ATI Driver by executing:

    rpm -e $(rpm -qa | grep fglrx)

  5. Now we need to confirm the default driver is put back properly; execute the command:

    sax2 -r

  6. This should open a new X-Server window with the SaX2 configuration screen. On the 'Automatic Graphics System Setup', click the "Change Configuration" button and make any changes you need to (ie. resolution, colours, etc.) and click the "OK" button. Be sure to "Test" any changes before saving them.

  7. After you've adjusted things, click the "Save" button and click "Yes" to close SaX2.

  8. Reboot the computer by executing a "init 6". If all goes well the X-Server window should start up fine, using the default drivers. To confirm the default driver is being used; issue the 'glxinfo' command and look for the 'OpenGL vendor string: Mesa project: www.mesa3d.org' line.

  9. Now let's clean up the kernel modules. Execute the following commands as 'root':
    cd /usr/src/linux
    make mrproper
    make cloneconfig
    make modules_prepare
    make clean
  10. That should about do it. You can now choose to install an updated driver or keep with the default one.

Troubleshooting and Testing

The following are steps to follow in order to troubleshoot and test your ATI OpenGL driver installation. Also, many Kernel updates tend to kick out the ATI modules, so you will need to perform these steps to reinstate the OpenGL drivers.

  1. In a Terminal window, enter the following command:
    fglrxinfo

  2. The output should say "OpenGL vendor string: ATI Technologies Inc." If it reads "OpenGL vendor string: Mesa project: www.mesa3d.org", or anything other then "ATI" perform the following:
    1. Hold down the following three keys to switch to "tty1":

    2. CTRL - ALT - F1

    3. Log in as "root" and switch to runlevel 3 (multi-user mode ? no GUI) using the command:

    4. init 3

    5. Now we need to ensure the kernel modules are in place...at the command prompt type:

    6. fglrx-kernel-build.sh

    7. Note and resolve any errors. Usually problems occur if you don't have the proper packages installed. See the "Linux Packages" section under the "Environment Factors" heading.
    8. Now run the Sax2 program to configure the driver with the following command (all lower case ? that's a zero after the "-m")

    9. sax2 -r -m 0=fglrx

    10. Make any required changes (see the "Installation Procedure" section above for more detail) and save and exit SaX2. Reboot with:
    11. init 6
    12. Login as normal (a user not "root") and try the 'fglrxinfo' command once more...hopefully it reads "ATI". If not, you may either try reinstalling from scratch (if you do, be sure to follow the Uninstall Procedure above)...if that doesn't work then you'll need to do some forum surfing for some help.

  3. When the OpenGL vendor string says "ATI", in a Terminal window execute the following command:
    glxgears

    (A simple OpenGL program that reports back the FPS rating to the Terminal window that spawned it. In my case I reached close to 3000 FPS! :)

  4. Another test is the OpenGL screensaver called "GLMatrix" by Jamie Zawinski. This screensaver comes standard with SUSE Linux and is provided by the 'xscreensaver' package.

Examples:

Install Log


Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

© 2014 Novell