Home Wiki > SDB:Radeon
Sign up | Login

SDB:Radeon

tagline: From openSUSE

Tested on openSUSE Recommended articles Related articles
Icon-checked.png

Icon-manual.png Icon-help.png

The radeon driver is an open source driver for fairly all ATI Radeon cards. It is in many respects better than the proprietary fglrx driver, though the 3D performance is not as good.

Contents

[edit] Supported hardware

All Radeon cards have good 2D support. r100 and r200 series cards have full 3D support. r300 to r700 chips have "good" 3D support. You might try RadeonHD if you have an AMD Radeon (HD5xxx+).

Here is a list of hardware supported taken from the radeon man page in 12.3; package: xf86-video-ati, version 7.1.0. For a potentially more up-to-date list see External links):

      R100         Radeon 7200
      RV100       Radeon 7000(VE), M6, RN50/ES1000
      RS100       Radeon IGP320(M)
      RV200       Radeon 7500, M7, FireGL 7800
      RS200       Radeon IGP330(M)/IGP340(M)
      RS250       Radeon Mobility 7000 IGP
      R200         Radeon 8500, 9100, FireGL 8800/8700
      RV250       Radeon 9000PRO/9000, M9
      RV280       Radeon 9200PRO/9200/9200SE/9250, M9+
      RS300       Radeon 9100 IGP
      RS350       Radeon 9200 IGP
      RS400/RS480 Radeon XPRESS 200(M)/1100 IGP
      R300        Radeon 9700PRO/9700/9500PRO/9500/9600TX, FireGL X1/Z1
      R350        Radeon 9800PRO/9800SE/9800, FireGL X2
      R360        Radeon 9800XT
      RV350       Radeon 9600PRO/9600SE/9600/9550, M10/M11, FireGL T2
      RV360       Radeon 9600XT
      RV370       Radeon X300, M22
      RV380       Radeon X600, M24
      RV410       Radeon X700, M26 PCIe
      R420         Radeon X800 AGP
      R423/R430   Radeon X800, M28 PCIe
      R480/R481   Radeon X850 PCIe/AGP
      RV505/RV515/RV516/RV550             Radeon X1300/X1400/X1500/X1550/X2300
      R520          Radeon X1800
      RV530/RV560 Radeon X1600/X1650/X1700
      RV570/R580  Radeon X1900/X1950
      RS600/RS690/RS740                   Radeon X1200/X1250/X2100
      R600          Radeon HD 2900
      RV610/RV630 Radeon HD 2400/2600/2700/4200/4225/4250
      RV620/RV635 Radeon HD 3410/3430/3450/3470/3650/3670
      RV670        Radeon HD 3690/3850/3870
      RS780/RS880 Radeon HD 3100/3200/3300/4100/4200/4250/4290
      RV710/RV730 Radeon HD 4330/4350/4550/4650/4670/5145/5165/530v/545v/560v/565v
      RV740/RV770/RV790                   Radeon HD 4770/4730/4830/4850/4860/4870/4890
      CEDAR       Radeon HD 5430/5450/6330/6350/6370
      REDWOOD     Radeon HD 5550/5570/5650/5670/5730/5750/5770/6530/6550/6570
      JUNIPER     Radeon HD 5750/5770/5830/5850/5870/6750/6770/6830/6850/6870
      CYPRESS     Radeon HD 5830/5850/5870
      HEMLOCK     Radeon HD 5970
      PALM        Radeon HD 6310/6250
      SUMO/SUMO2  Radeon HD 6370/6380/6410/6480/6520/6530/6550/6620
      BARTS       Radeon HD 6790/6850/6870/6950/6970/6990
      TURKS       Radeon HD 6570/6630/6650/6670/6730/6750/6770
      CAICOS      Radeon HD 6430/6450/6470/6490
      CAYMAN      Radeon HD 6950/6970/6990
      ARUBA
      TAHITI
      PITCAIRN
      VERDE

Additional support for : CAICOS Radeon HD 6400//7470M was also reported.


[edit] Do I need to install the radeon driver?

  • If you installed openSUSE 11.4 or above on a computer with a Radeon chipset, the radeon driver should already be installed and running. To check this you can type into a terminal
lsmod | grep radeon

If the result is "radeon" then the driver is already installed. If you have a graphical session running, then you may skip straight to SDB:Radeon#Testing the driver

  • If you installed or tried to install the proprietary AMD fglrx driver, you need to completely remove this driver and afterwards fallback to the radeon module, before you can proceed. Please proceed to the following guidelines.

[edit] Install the radeon driver

Use this procedure only if you wish to fallback to the radeon driver from a (failed) fglrx install, since openSUSE installs, configures and uses the radeon driver in most cases by itself.

[edit] First preparations

  • If your current setup is working, make a back up of your xorg.conf (if you have one) and note what driver you are using, so you can revert to a working configuration if you have to.
  • Work in runlevel 3, where you can safely edit your graphical configuration:
    • Switch to tty 1 channel by hitting Ctrl-Alt-F1. That brings you to a full screen text login
    • Login as a regular user
    • Type "su" (no quotes - enter root password) to switch users to the administrator/root.

[edit] Remove the proprietary fglrx driver if present

  • Run any uninstall scripts that AMD provided.
  • However, if you did a one click install or installed from the repository with YaST or zypper, use zypper to uninstall all packages with "fglrx" in them.
    • Search for installed fglrx packages:
      zypper se fglrx
    • Remove any packages found from the search string, without quotes:
      zypper rm "name found package"
  • Then run the following command to ensure one last time all proprietary driver packages are in fact removed:
    rpm -qa | grep fglrx

[edit] Check if radeon still is blacklisted

One of the first things fglrx does to ensure that radeon doesn't interfere with it is it blacklists the radeon module so that the kernel doesn't load it while booting. This needs to be removed:
rm /etc/modprobe.d/fglrx.conf
or:
rm /etc/modprobe.d/50-fglrx.conf

depending on your openSUSE version.

[edit] X11 Configuration

When fglrx is installed, aticonfig creates a /etc/X11/xorg.conf, containing configuration details for running fglrx. To make sure your system is completely purged from fglrx you need to backup this file if still present by renaming it to for example "xorg.conf.bc".

[edit] Activate the radeon driver/kernel module

Load the radeon kernel module:
modprobe radeon
and reboot your system:
reboot
or
init 6

[edit] Testing the driver

To tell if the driver is working, type the following in a terminal window:
glxgears

If everything is working, a new window with colored spinning gears should appear, and the terminal window will start displaying frame rates every five seconds.

[edit] What if everything is not working?

If you try to run glxgears or any other OpenGL based app and see error messages that look like this:

X Error of failed request:  BadRequest (invalid request code or no such operation)
  Major opcode of failed request:  135 (GLX)
  Minor opcode of failed request:  19 (X_GLXQueryServerString)
  Serial number of failed request:  17
  Current serial number in output stream:  17

Then there is most likely something wrong with OpenGL implementation or direct rendering. Check the following:

  • Make sure the package "Mesa" is installed. You can use YaST to do this.
    • If you don't have Mesa, install it, restart the X.Org server, and try glxgears again.
  • In a terminal, run
    glxinfo
    and look for/grep the following:
    • direct rendering: Should say "Yes". If it says "No" then check your Xorg logs for more information.
    • OpenGL version string: This should have something like "1.5 Mesa 7.6.1" or something similar. If it says anything about "fglrx" or "ATI" then make sure that you have fully uninstalled the proprietary driver.
  • Check your xorg.conf if you have one
    • If so, consider removing /etc/X11/xorg.conf:
      • Since in most cases the radeon module auto-magically configures your hardware without the need of configuration files
      • Try this by renaming xorg.conf for example to xorg.conf.bc and then restarting the X server. If this failles, restore the xorg.conf.bc file and then restart
    • If you need to keep your xorg.conf:
      • Make sure that under the Device section, "Driver" is set to "radeon"
      • Make sure that the following section exists. If it does not, add it at the end:
Section "DRI"
   Group      "video"
   Mode       0660
EndSection
  • Check your xorg log: /var/log/Xorg.0.log or any other xorg related log you may find here. These are often very informative.

[edit] Configuring the driver manually

Nowadays in most situations all AMD graphics hardware is configured automagically. In these cases there is no need for any further configuration. However, in those cases where your hardware is not configured properly, you can try to manually configure your graphical system. In this article the manual configuration happens in /etc/X11/xorg.conf with a "Device" section devoted to your card. Before you proceed, consider that this is not without risk: Some options can crash your X server. It is advised to read this how to forum post, before you go any further.

[edit] Create an Xorg.conf

If you don't have ANY xorg.conf (which may be true with openSUSE 11.2 and above), then you could create one.

  • Reboot your PC in runlevel 3, as descibed earlier, and login as a normal user
  • Again, type "su" (no quotes - enter root password) to switch users to the administrator/root.
  • Then type the following:
    Xorg -configure
  • This creates an xorg.conf in the /root. Copy this file to the correct location /etc/X11/xorg.conf
  • Reboot normally into a graphical session
  • So, your vanilla Device section should look something like this:
Section "Device"
  BoardName    "R420 JI"
  Driver       "radeon"
  Identifier   "Device[0]"
  VendorName   "ATI"
EndSection

It may have a few other options included also. Below are some options you may want to tweak or add if they are not already present in your xorg.conf. A full list of options is available on the radeon man page.

Warning Be careful adjusting these settings. Not all of them are supported by all hardware. Some of them can crash your X server, so backup your xorg.conf before making changes. Check if the options mentioned after this, are supported by your hardware.

[edit] BusType

Option       "BusType" "AGP"

The value of this can be "PCI" "AGP" or "PCIE". This should be set to whatever the bus type of your card is. By default, the driver attempts to auto-dectect your bus, but sometimes it makes mistakes. In my own experience, explicitly setting my bus type improved performance dramatically. If setting it to "AGP" or "PCIE" causes problems, you can set it to "PCI" but you'll have a performance drop.

[edit] AGPMode

Option      "AGPMode" "8"

Acceptable values are 1", "2", "4" and 8. If you have an AGP card, this should be set to the highest value your card supports unless doing so causes instability.

Note that setting AGPMode here in Xorg.conf (or under /etc/X11/xorg.conf.d/) is now (March 2013) unsupported, you will need to edit /etc/modprobe.d/99-local.conf and add the line

options radeon agpmode=4
Acceptable values are "1", "2", "4" and 8. Note this will depend upon the capabilities of your card. Remember to commit the changes by running mkinitrd after changing this file.

[edit] AccelMethod

Option       "AccelMethod" "XAA"

This can be set to "XAA" or "EXA". XAA is an older, but more stable method. EXA is new and supposed to have better performance. You should try both and stick with whichever works best for you.

[edit] EnablePageFlip

Option       "EnablePageFlip" "on"

This speeds up 3D performance, but it is off by default because it doesn't always work correctly. If you have an R/RV/RS4XX or earlier card you should have it turned on unless it causes a problem.

[edit] ColorTiling

Option       "ColorTiling" "on"

Turning this on improves 3D performance. It should be on by default.

[edit] AccelDFS

Option       "AccelDFS" "on"

This is off by default on AGP cards, but on by default on other cards. Turning it on should improve performance, but it causes problems with some AGP cards.


[edit] See also

[edit] Related articles

[edit] External links