RadeonFeature

Feature Matrix for Free Radeon Drivers

This page is only for free Radeon drivers using KMS. radeon (xf86-video-ati) for 2D; radeon, r200, r300, r600 Mesa and r300, r600 Gallium drivers only. THIS PAGE IS NOT FOR FGLRX/CATALYST DRIVERS PROVIDED BY AMD/ATI.

See RadeonFeatureUMS for radeon in UMS.

See radeonhd:feature for radeonhd.

Also check out the RadeonProgram, GalliumStatus, and ATIRadeon at DRI wiki.

2D features

R100

R200

R300

R400

RS690

R500

R600

R700

Evergreen

Kernel Modesetting

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DRI2

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

WIP

ShadowFB

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

2D Acceleration (EXA)

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

WIP

Textured Xv

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

WIP

Video Decode (XvMC/VDPAU/VA-API) using the 3D engine

TODO

TODO

WIP
(gallium)

WIP
(gallium)

WIP
(gallium)

WIP
(gallium)

TODO

TODO

TODO

Video Decode (XvMC/VDPAU/VA-API) using UVD

N/A

N/A

N/A

N/A

N/A

N/A

TODO

TODO

TODO

Mesa 3D features

R100

R200

R300

R400

RS690

R500

R600

R700

Evergreen

Primitives

DONE

DONE

DONE

DONE

DONE

DONE

MOSTLY

MOSTLY

WIP

Textures

DONE

DONE

DONE

DONE

DONE

DONE

MOSTLY

MOSTLY

WIP

Hardware TCL

DONE

DONE

DONE

DONE

N/A

DONE

MOSTLY

MOSTLY

WIP

Vertex Shaders

N/A

DONE

DONE

DONE

N/A

DONE

MOSTLY

MOSTLY

WIP

Fragment (Pixel) Shaders

N/A

DONE

DONE

DONE

DONE

DONE

MOSTLY

MOSTLY

WIP

GLSL

N/A

N/A

MOSTLY
(gallium)

MOSTLY
(gallium)

MOSTLY
(gallium)

MOSTLY
(gallium)

MOSTLY

MOSTLY

WIP

Anti-Aliasing (MSAA)

N/A

N/A

WIP
(gallium)

WIP
(gallium)

WIP
(gallium)

WIP
(gallium)

TODO

TODO

TODO

Texture Tiling

MOSTLY

MOSTLY

DONE
(gallium)

DONE
(gallium)

DONE
(gallium)

DONE
(gallium)

WIP

WIP

TODO

Hyper-Z

WIP

TODO

MOSTLY
(gallium)

MOSTLY
(gallium)

MOSTLY
(gallium)

MOSTLY
(gallium)

TODO

TODO

TODO

OpenGL Compliance (Driver/Hardware)

1.3/1.3

1.3/1.4

2.1/2.11
(gallium)

2.1/2.11
(gallium)

2.1/2.11
(gallium)

2.1/2.11
(gallium)

2.1/3.3

2.1/3.3

WIP/4.1

Output

R100

R200

R300

R400

RS690

R500

R600

R700

Evergreen

Dual-link DVI

N/A

BIOS

BIOS

DONE

DONE

DONE

DONE

DONE

DONE

XRandR 1.2

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

TV Out

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DisplayPort

N/A

N/A

N/A

N/A

N/A

N/A

DONE

DONE

DONE

HDMI Audio

N/A

N/A

N/A

N/A

not tested

N/A

DONE

DONE

TODO

Power Saving

R100

R200

R300

R400

RS690

R500

R600

R700

Evergreen

Engine reclocking

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

Memory reclocking

TODO

TODO

TODO

DONE

N/A

DONE

DONE

DONE

DONE

Voltage adjusting

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

Thermal sensors

N/A

N/A

DONE (i2c chip)

DONE (i2c chip)

DONE (i2c chip)

DONE (i2c chip)

DONE (i2c chip or internal sensor)

DONE (i2c chip or internal sensor)

DONE (i2c chip or internal sensor)

Other

R100

R200

R300

R400

RS690

R500

R600

R700

Evergreen

Suspend Support

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

1 Hardware doesn't support ARB NPOT textures fully.

Feature dependency tree

memory manager -+-> KMS -+-> advanced power management (dynamic control of clocks etc..)
                |        |
                |        +-> run X without root privileges
                |        |
                |        +-> Wayland
                |    
                +-> advanced 3D (OpenGL 1.5+) via vendor-specific Mesa code
                |    
                +-> DRI2 / RDR -+-> Flicker-free 3D with compositing
                                |
                                +-> Gallium3D -+-> advanced 3D (OpenGL 1.5+, GLSL) via generic Mesa code               
                                               |
                                               +-> video decode acceleration
                                               |
                                               +-> OpenCL

Notes: 

- in current implementation the GEM/TTM memory manager is only enabled when running KMS

What about XRandR 1.3 & 1.4?

KMS Power Management Options

Kernel 2.6.35 or newer is required. The pm code supports two basic methods:

  1. "dynpm"
  2. "profile"

You can select the methods via sysfs. Echo "dynpm" or "profile" to /sys/class/drm/card-0/device/power_method.

The "dynpm" method dynamically changes the clocks based on the number of pending fences, so performance is ramped up when running GPU intensive apps, and ramped down when the GPU is idle. The reclocking is attemped during vertical blanking periods, but due to the timing of the reclocking functions, doesn't not always complete in the blanking period, which can lead to flicker in the display. Due to this, dynpm only works when a single head is active.

The "profile" method exposes five profiles that can be selected from:

  1. "default"
  2. "auto"
  3. "low"
  4. "mid"
  5. "high"

Select the profile by echoing the selected profile to /sys/class/drm/card-0/device/power_profile.

The "profile" method is not as agressive as "dynpm," but is currently much more stable and flicker free and works with multiple heads active.

Power management is supported on all asics (r1xx-evergreen) that include the appropriate power state tables in the vbios; not all boards do (especially older desktop cards).

Thermal sensors are implemented via external i2c chips or via the internal thermal sensor (rv6xx-evergreen only; supported in 2.6.36 or newer); not all OEMs implement a thermal sensor. To get the temperature on asics that use i2c chips, you need to load the appropriate hwmon driver for the sensor used on your board (lm63, lm64, etc.). The drm will attempt to load the appropriate hwmon driver. On boards that use the internal thermal sensor, the drm will set up the hwmon interface automatically. When the appropriate driver is loaded, the temperatures can be accessed via lm_sensors tools or via sysfs in /sys/class/hwmon .