RadeonFeature

Contents

  1. Feature Matrix for Free Radeon Drivers
  2. VSYNC
    1. 3D driver environment variable
    2. DDX driver options
    3. Xv Attribute
  3. KMS Power Management Options
  4. Linux kernel parameters
  5. Decoder ring for engineering vs marketing names
  6. Radeon 3D Hardware
  7. Radeon Display Hardware
  8. Where to get the drivers
  9. Where to file defect reports
  10. Documentation
  11. Links

Feature Matrix for Free Radeon Drivers

This page is only for free Radeon drivers using KMS.
radeon (xf86-video-ati) for 2D; radeon, r200 Mesa and r300, r600, radeonsi 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/700

Evergreen

N.Islands

S.Islands1

Kernel Modesetting

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

Max Supported Displays (Eyefinity)2

1-2

2

2

2

2

2

2

2-6

4-6

6

DRI2

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

Page Flipping

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

ShadowFB

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

2D Acceleration (EXA)

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

Gallium

2D Acceleration (glamor)3

N/A

N/A

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

Textured Xv

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

Gallium

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

TODO

TODO

WIP

WIP

WIP

WIP

WIP

WIP

WIP

WIP

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

N/A

N/A

N/A

N/A

N/A

N/A

DONE4

DONE

DONE

DONE

Hybrid Graphics5

N/A

N/A

N/A

N/A

N/A

N/A

MOSTLY

MOSTLY

MOSTLY

MOSTLY

Mesa 3D features

R100

R200

R300

R400

RS690

R500

R600/700

Evergreen

N.Islands

S.Islands1

3D Driver

radeon

r200

r300g

r300g

r300g

r300g

r600g

r600g

r600g

radeonsi

Primitives

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

Stippled Primitives

DONE

DONE

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

Smooth Primitives

DONE

DONE

TODO

TODO

TODO

TODO

TODO

TODO

TODO

TODO

Textures

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

Hardware TCL

DONE

DONE

DONE

DONE

N/A

DONE

DONE

DONE

DONE

DONE

Vertex Shaders

N/A

DONE

DONE

DONE

N/A

DONE

DONE

DONE

DONE

DONE

Fragment (Pixel) Shaders

N/A

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

GLSL

N/A

N/A

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

Color Buffer Tiling

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

WIP

Texture Tiling

TODO

TODO

DONE

DONE

DONE

DONE

DONE

DONE

DONE

WIP

S3TC decompression
(via env variable / drirc)

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

WIP

full S3TC
(via libtxc_dxtn.so)

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

WIP

Tessellation Shader Stages

N/A

N/A

N/A

N/A

N/A

N/A

N/A

TODO

TODO

TODO

Geometry Shaders

N/A

N/A

N/A

N/A

N/A

N/A

TODO

TODO

TODO

TODO

Anti-Aliasing (MSAA)

N/A

N/A

MOSTLY6

MOSTLY6

MOSTLY6

DONE

DONE7

DONE7

DONE7

TODO

Anti-Aliasing (MLAA)

N/A

N/A

N/A

N/A

N/A

MOSTLY

DONE

DONE

not tested

not tested

Anisotropic Filtering

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

Hyper-Z

WIP

TODO

MOSTLY8

MOSTLY8

MOSTLY8

DONE

WIP9

WIP9

WIP9

TODO

OpenGL Compliance (Driver/Hardware)

1.3/1.3

1.3/1.4

2.1/2.110

2.1/2.110

2.1/2.110

2.1/2.110

3.1/3.311

3.1/4.211

3.1/4.211

2.1/4.2

Output

R100

R200

R300

R400

RS690

R500

R600/700

Evergreen

N.Islands

S.Islands1

Dual-link DVI

N/A

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

XRandR 1.2

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

TV Out

DONE

DONE

DONE

TODO

DONE

DONE

DONE

DONE

N/A

N/A

DisplayPort

N/A

N/A

N/A

N/A

N/A

N/A

DONE

DONE

DONE

DONE

HDMI Audio12

N/A

N/A

N/A

N/A

not tested

N/A

DONE

DONE13

DONE14

TODO

Power Saving

R100

R200

R300

R400

RS690

R500

R600/700

Evergreen

N.Islands

S.Islands1

Engine reclocking

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

Memory reclocking

TODO

TODO

TODO

DONE

N/A

DONE

DONE

DONE

DONE

DONE

Voltage adjusting

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

Thermal sensors

N/A

N/A

DONE15

DONE15

DONE15

DONE15

DONE16

DONE16

DONE16

DONE16

Other

R100

R200

R300

R400

RS690

R500

R600/700

Evergreen

N.Islands

S.Islands1

Suspend Support

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

CrossFire (multi-card)

N/A

N/A

N/A

TODO

TODO

TODO

TODO

TODO

TODO

TODO

Compute (OpenCL)17

N/A

N/A

N/A

N/A

N/A

N/A

TODO

WIP

WIP

WIP

Asynchronous DMA

N/A

N/A

N/A

N/A

N/A

N/A

DONE

DONE

DONE

DONE

  1. Kernel 3.4 required (1 2 3 4 5)

  2. Depends on the OEM board. Max of 2 non-Displayport displays. (6)

  3. Requires a 3D driver with shader support (7)

  4. DONE for R7xx, TODO for R6xx (8)

  5. There are two versions of hybrd graphics: MUXed and MUX-less. MUXed have a display MUX to switch the displays between the discrete and integrated cards. MUXed systems can be switched using vgaswitcheroo. MUX-less do not have a display MUX and the displays are only connected to the integrated card. On MUX-less systems, the discrete card is solely for rendering, not display. At the moment the X server does not support rendering and display from different cards so the discrete card can not be used with MUX-less systems at the moment. Most new laptops (2011+) are MUX-less. (9)

  6. Needs piglit testing before enabling by default, see mesa commit 8ed6b1400 (10 11 12)

  7. Kernel 3.6 required (13 14 15)

  8. Needs piglit and Lightsmark testing before enabling by default, see mesa commit 12dcbd595 (16 17 18)

  9. See bug 36602 (19 20 21)

  10. Hardware doesn't support ARB NPOT textures fully. (22 23 24 25)

  11. Kernel 3.6 and xserver 1.13 required (26 27 28)

  12. Requires loading radeon with the audio parameter set to 1 (e.g., add radeon.audio=1 on the kernel command line in grub). (29)

  13. Kernel 3.3 required (30)

  14. Kernel 3.5 required (31)

  15. i2c chip (32 33 34 35)

  16. i2c chip or internal sensor (36 37 38 39)

  17. See http://dri.freedesktop.org/wiki/GalliumCompute (40)

VSYNC

There are several mechanisms involved in tear-free rendering due to limitations in X.

3D driver environment variable

DDX driver options

Xv Attribute

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/card0/device/power_method.

Controlling the fan speed directly is not possible (and would be very dangerous), but it can be lowered by setting lower power profile.

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/card0/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.

Linux kernel parameters

Try modinfo -p radeon to find up-to-date parameters. To check default values look at drivers/gpu/drm/radeon/radeon_drv.c in Linux kernel source. To check current values look at /sys/class/drm/card*/device/driver/module/holders/radeon/parameters/*

Option

Values

Default value1

Explanation

radeon.agpmode

1, 2, 4, 8, -1

0

AGP mode, -1 for PCI/PCIe mode

radeon.audio

0, 1

0

Disable/enable HDMI audio

radeon.benchmark

0

Run benchmark

radeon.connector_table

0

Force connector table

radeon.disp_priority

0, 1, 2

0

Display Priority (0 = auto, 1 = normal, 2 = high)

radeon.dynclks

0, 1, -1

-1

Disable/Enable dynamic clocks, -1 for auto

radeon.gartsize

32, 64, etc.

512

Size of PCIe/IGP gart to setup in megabytes

radeon.hw_i2c

0, 1

0

Disable/enable hw i2c engine

radeon.modeset

0, 1, -1

-1

Disable/enable modesetting, -1 for auto

radeon.msi

0, 1, -1

-1

Disable/enable MSI support, -1 for auto

radeon.no_wb

0, 1

Disable/enable AGP writeback for scratch registers

radeon.pcie_gen2

0, 1

-1

Disable/enable PCIe 2.0 support, -1 for auto

radeon.r4xx_atom

0, 1

0

Disable/enable ATOMBIOS modesetting for R4xx

radeon.test

0

Run tests

radeon.tv

0, 1

1

Disable/enable TV

radeon.vramlimit

32, 64, etc.

0

Restrict VRAM for testing

1 For Linux kernel 3.6

Decoder ring for engineering vs marketing names

Family

Engineering Names

Marketing Names

R100

R100, RV100, RV200, RS100, RS200

7xxx, 320-345

R200

R200, RV250, RV280, RS300

8xxx - 9250

R300

R300, R350, RV350, RV380, RS400, RS480

9500 - 9800, X300 - X600, X1050 - X1150, 200M

R400

R420, R423, RV410, RS600, RS690, RS740

X700 - X850, X12xx, 2100

R500

RV515, R520, RV530, RV560, RV570, R580

X1300 - X2300, HD2300

R600

R600, RV610, RV630, RV620, RV635, RV670, RS780, RS880

HD2400 - HD4290

R700

RV770, RV730, RV710, RV740

HD4330 - HD5165, HD5xxV

Evergreen

CEDAR, REDWOOD, JUNIPER, CYPRESS, PALM (Wrestler), SUMO, SUMO2

HD5430 - HD5970, all HD6000 not listed under Northern Islands, HD7350

Northern Islands

ARUBA, BARTS, TURKS, CAICOS, CAYMAN

HD6450, HD6570, HD6670, HD6790 - HD6990, HD64xxM, HD67xxM, HD69xxM, HD7450 - HD7670

Southern Islands

CAPE VERDE, PITCAIRN, TAHITI

HD7750 - HD7970

Radeon 3D Hardware

3D Core

Engineering Names

Shader Model

DX

OpenGL

Max Texture Size

Max Renderbuffer Size

R1xx

R100, RV100, RV200, RS100, RS200

NA

7

1.3

2048

2048

R2xx

R200, RV250, RV280, RS300

1

8

1.4

2048

2048

R3xx

R300, R350, RV350, RV380, RS400, RS480

2

9

2.1

2048

2560

R4xx

R420, R423, RV410, RS600, RS690, RS740

2

9

2.1

2048

4021

R5xx

RV515, R520, RV530, RV560, RV570, R580

3

9

2.1

4096

4096

R6xx

R600, RV610, RV630, RV620, RV635, RV670, RS780, RS880

4

10

3.3

8192

8192

R7xx

RV770, RV730, RV710, RV740

4

10

3.3

8192

8192

R8xx

CEDAR, REDWOOD, JUNIPER, CYPRESS, PALM (Wrestler), SUMO, SUMO2, BARTS, TURKS, CAICOS

5

11

4.2

16384

16384

R9xx

CAYMAN, ARUBA

5

11

4.2

16384

16384

RAxx

CAPE VERDE, PITCAIRN, TAHITI

5

11

4.2

16384

16384

Radeon Display Hardware

Display Core

Engineering Names

Display Controllers

DACs

TV Encoder

DVO

Digital

Notes

Classic Radeon

Rage128, R1xx-R4xx

1-2

1-2

0-1

1

2 (1 TMDS, 1 LVDS)

DCE1/Avivo

R5xx

2

2

1

1

2 (1 TMDS, 1 LVDS/TMDS)

DCE2

R600, RV610, RV630, RV670, RS600, RS690, RS740

2

2 (R600, RV610, RV630, RV670), 1 (RS600, RS690, RS740)

1

1

2 (1 TMDS, 1 LVDS/TMDS)

Adds HDMI 1.2 Support

DCE3

RV620, RV635, RS780, RS880

2

2 (RV620, RV635), 1 (RS780, RS880)

1

1

3 (LVDS/TMDS/DP)

Adds support for DisplayPort, HDMI 1.3 Support

DCE3.1

RV770

2

2

1

1

3 (LVDS/TMDS/DP)

DCE3.2

RV710, RV730, RV740

2

2

1

1

5 (LVDS/TMDS/DP)

Adds support for up to 5 digital outputs

DCE4

CEDAR, REDWOOD, JUNIPER, CYPRESS

4-6

2

1

1

6 (LVDS/TMDS/DP)

Adds support for up to 6 independant displays (max of 2 non-DisplayPort displays)

DCE4.1

PALM (Wrestler), SUMO, SUMO2

2

1 (PALM), 0 (SUMO, SUMO2)

1

1

6 (LVDS/TMDS/DP)

VGA and LVDS are implemented via DP bridge chips

DCE5

BARTS, TURKS, CAICOS, CAYMAN

4-6

1

0

1

6 (LVDS/TMDS/DP)

Adds improved gamma correction, HDMI 1.4 support, DisplayPort 1.2 support

DCE6

CAPE VERDE, PITCAIRN, TAHITI

6

1

0

1

6 (LVDS/TMDS/DP)

HDMI 4K modes

DCE6.1

ARUBA

4

0

0

1

6 (TMDS/DP)

VGA and LVDS are implemented via DP bridge chips

Where to get the drivers

Where to file defect reports

http://bugs.freedesktop.org using the following values for Product : Component...

Documentation