Radeon

radeon is a family of the X.Org graphics drivers for modern ATI Radeon graphics cards. This article details how to configure the kernel and your userspace in order to use the radeon driver.

Kernel
You need to activate the following kernel options, note that you don't need to enable AGP Support if your card doesn't sit in a AGP slot:

Firmware
There is IRQ microcode for r6xx/r7xx/Evergreen/Northern Islands Radeon GPUs and APUs. KMS may not work without it. It can be installed with either:

or a larger package which also contains other firmware besides radeon:

Make sure firmware for your model (check available ones in /lib/firmware/radeon) is included in kernel:

Below is a list of the firmware files needed for each family of cards: radeon/R600_rlc.bin radeon/R700_rlc.bin radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/CEDAR_rlc.bin radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/CYPRESS_rlc.bin radeon/JUNIPER_me.bin radeon/JUNIPER_pfp.bin radeon/JUNIPER_rlc.bin radeon/REDWOOD_me.bin radeon/REDWOOD_pfp.bin radeon/REDWOOD_rlc.bin radeon/PALM_me.bin radeon/PALM_pfp.bin radeon/SUMO_me.bin radeon/SUMO_pfp.bin radeon/SUMO_rlc.bin radeon/SUMO2_me.bin radeon/SUMO2_pfp.bin radeon/BARTS_mc.bin radeon/BARTS_me.bin radeon/BARTS_pfp.bin radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin radeon/CAICOS_pfp.bin radeon/CAYMAN_mc.bin radeon/CAYMAN_me.bin radeon/CAYMAN_pfp.bin radeon/CAYMAN_rlc.bin radeon/TURKS_mc.bin radeon/TURKS_me.bin radeon/TURKS_pfp.bin
 * RadeonHD 2000, 3000, and 4000 series
 * RadeonHD 5000 series
 * Radeon HD 6000 APU series (Fusion)
 * Radeon HD 6000 series

Driver
You can force X11 to use desired driver with:

Power Management
Using the KMS driver, power management can be set in the filesystem as follows.
 * Change the power method:

The "dynpm" method dynamically changes the clocks based on demand. (not effective as of 27062012)

The "profile" method lets you set a profile on how the card should behave. To check what method is set:


 * Change the profile:

To check what profile is set:

Options for profile:
 * 1) "default" no change of clock speeds
 * 2) "auto" switches between "mid" and "high" power states based on the whether the system is on battery power or not. The "low" power state are selected when the monitors are in the dpms off state.
 * 3) "low" forces the GPU to be in the low power state all the time. Note that "low" can cause display problems on some laptops; this is why auto does not use "low" when displays are active.
 * 4) "mid" forces the GPU to be in the "mid" power state all the time. The "low" power state is selected when the monitors are in the dpms off state.
 * 5) "high" forces the GPU to be in the "high" power state all the time. The "low" power state is selected when the monitors are in the dpms off state.
 * Check the current GPU, Memory clocks and voltage (needs to have kernel debugfs enabled):

Tuning
I couldn't find a summary of all options available so feel free to add to this.


 * Kernel parameters can be just added to the kernel commandline in grub.cfg or grub.conf
 * Environment variables could be put into a file like /etc/env.d/99radeon to have them initialized during boot
 * xorg.conf parameter are usual in the Device section for the card
 * a full list of kernel parameters can be found here: - RadeonFeature
 * S3TC compression needed for some applications like most 3D games:

Monitoring
can be used to monitor the cards temperature. It uses the I2C interface, which needs to be enabled in the kernel:

Switching between fglrx blob and radeon driver
Want to switch between the propriatary blob and the open source driver seamlessly? See hprofile article which has a section on switching VGA or VGA driver.

External resources

 * X.Org Wiki - radeon
 * X.Org Wiki - radeonhd (old driver project, deprecated in favour of 'radeon')
 * community wiki article