_index

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 GalliumStatus and ATIRadeon at DRI wiki.

2D features R100 R200 R300/R400 R500 R600/700 Evergreen N.Islands S.Islands1 C.Islands V.Islands A.Islands
Kernel Driver radeon radeon radeon radeon radeon radeon radeon radeon radeon amdgpu amdgpu
Kernel Modesetting DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE
Max Supported Displays (Eyefinity)2 1-2 2 2 2 2 2-6 4-6 2-6 2-6 2-6 4-6
XRandR 1.2 DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE
DRI2 DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE
Page Flipping DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE
ShadowFB DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE
2D Acceleration (EXA) DONE DONE DONE DONE DONE DONE DONE N/A N/A N/A N/A
2D Acceleration (Glamor)3 N/A N/A N/A N/A DONE DONE DONE DONE DONE DONE DONE
Textured Xv DONE DONE DONE DONE DONE DONE DONE Glamor Glamor Glamor Glamor
Video Decode (VDPAU/OpenMax/VAAPI) on UVD N/A N/A N/A N/A DONE 4 DONE DONE DONE DONE DONE DONE
Video encode (OpenMax/VAAPI) on VCE N/A N/A N/A N/A N/A N/A DONE 35 DONE DONE DONE DONE
Hybrid Graphics/PowerXpress/Enduro5 N/A N/A N/A N/A MOSTLY MOSTLY MOSTLY MOSTLY MOSTLY MOSTLY MOSTLY
Mesa 3D features R100 R200 R300/R400 R500 R600/700 Evergreen N.Islands S.Islands1 C.Islands V.Islands A.Islands
3D Driver radeon r200 r300g r300g r600g r600g r600g radeonsi radeonsi radeonsi radeonsi
Primitives DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE
Stippled Primitives DONE DONE TODO TODO TODO TODO TODO DONE DONE DONE DONE
Smooth Primitives DONE DONE TODO TODO TODO TODO TODO DONE DONE DONE DONE
Textures DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE
Hardware TCL DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE
Vertex Shaders N/A DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE
Fragment (Pixel) Shaders N/A DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE
GLSL N/A N/A DONE DONE DONE DONE DONE DONE DONE DONE DONE
Color Buffer Tiling DONE DONE DONE DONE DONE DONE DONE DONE 7 DONE DONE DONE
Texture Tiling TODO TODO DONE DONE DONE DONE DONE DONE 7 DONE 7 DONE DONE
S3TC decompression
(via env variable / drirc)
DONE DONE DONE DONE DONE DONE DONE DONE 7 DONE DONE DONE
full S3TC
(via libtxc_dxtn.so)
DONE DONE DONE DONE DONE DONE DONE DONE 7 DONE DONE DONE
Geometry Shaders N/A N/A N/A N/A DONE 17 DONE DONE DONE DONE DONE DONE
Tessellation Shader Stages N/A N/A N/A N/A N/A DONE DONE DONE DONE DONE DONE
Compute Shaders N/A N/A N/A N/A N/A WIP WIP DONE DONE DONE DONE
Anti-Aliasing (MSAA) N/A N/A DONE DONE DONE 12 DONE 12 DONE 12 DONE DONE DONE DONE
Anti-Aliasing (MLAA) N/A N/A N/A MOSTLY DONE DONE not tested not tested not tested not tested not tested
Anisotropic Filtering DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE
Hyper-Z WIP TODO MOSTLY 14 DONE DONE15 DONE15 DONE15 DONE15 DONE15 DONE15 DONE15
OpenGL Compliance (Driver/Hardware) 1.3/1.3 1.3/1.4 2.1/2.116 2.1/2.116 3.3/3.317 4.2/4.519 4.2/4.519 4.5/4.518 4.5/4.520 4.5/4.5 20 4.5/4.5 20
Output R100 R200 R300/R400 R500 R600/700 Evergreen N.Islands S.Islands1 C.Islands V.Islands A.Islands
TMDS (DL-DVI, SL-DVI, HDMI) DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE (DAL)
LVDS DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE N/A
VGA DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE N/A
TV Out DONE DONE DONE 36 DONE DONE DONE N/A N/A N/A N/A N/A
DisplayPort N/A N/A N/A N/A DONE DONE DONE DONE DONE DONE DONE (DAL)
eDP N/A N/A N/A N/A N/A DONE DONE DONE DONE DONE DONE (DAL)
HDMI Audio22 N/A N/A N/A N/A DONE DONE 23 DONE 24 DONE DONE DONE (DAL) DONE (DAL)
DP Audio N/A N/A N/A N/A DONE DONE DONE DONE DONE DONE (DAL) DONE (DAL)
Power Saving R100 R200 R300/R400 R500 R600/700 Evergreen N.Islands S.Islands1 C.Islands V.Islands A.Islands
Engine reclocking DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE
Memory reclocking TODO DONE TODO DONE DONE DONE DONE DONE DONE DONE DONE
Voltage adjusting DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE DONE
Thermal sensors N/A N/A DONE 26 DONE 26 DONE 28 DONE 28 DONE 28 DONE 28 DONE DONE DONE
Dynamic Power Management (DPM) N/A N/A N/A N/A DONE DONE DONE DONE DONE DONE DONE
Other R100 R200 R300/R400 R500 R600/700 Evergreen N.Islands S.Islands1 C.Islands V.Islands A.Islands
Suspend Support DONE 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 TODO
Compute (OpenCL)33 N/A N/A N/A N/A TODO WIP WIP WIP DONE (ROCm) DONE (ROCm) DONE (ROCm)
Asynchronous DMA N/A N/A N/A N/A DONE DONE DONE DONE DONE DONE DONE

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 three basic methods:

  1. "dynpm"
  2. "profile"
  3. "dpm"

You can select the methods via sysfs. Echo "dynpm" or "profile" to /sys/class/drm/card0/device/power_method. "dpm" support, must be selected at boot (via radeon.dpm=1) and is only supported on R6xx and newer asics.

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 "dpm" method uses hardware on the GPU to dynamically change the clocks and voltage based on GPU load. It also enables clock and power gating.

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). "dpm" is only supported on R6xx and newer asics.

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 or drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c in Linux kernel source. To check current values look at /sys/class/drm/card/device/driver/module/holders/radeon/parameters/ or /sys/class/drm/card/device/driver/module/holders/amdgpu/parameters/

Decoder ring for engineering vs marketing names

There are a lot of marketing names. For an authoritative list of marketing to family relations, please see this link.

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/Ontario), SUMO (Llano), SUMO2 (Llano) HD5430 - HD5970, all HD6000 not listed under Northern Islands, HD7350
Northern Islands ARUBA (Trinity/Richland), BARTS, TURKS, CAICOS, CAYMAN HD6450, HD6570, HD6670, HD6790 - HD6990, HD64xxM, HD67xxM, HD69xxM, HD7450 - HD7670
Southern Islands CAPE VERDE, PITCAIRN, TAHITI, OLAND, HAINAN HD7750 - HD7970, R9 270, R9-280, R7 240, R7 250
Sea Islands BONAIRE, KABINI, MULLINS, KAVERI, HAWAII HD7790, R7 260, R9 290
Volcanic Islands TONGA, ICELAND/TOPAZ, CARRIZO, FIJI, STONEY, POLARIS10, POLARIS11, POLARIS12, VEGAM R9 285

Radeon Graphics/Compute Hardware

GFX Core Engineering Names Shader Model DX OpenGL Max Texture Size Max Renderbuffer Size ISA
GFX1 R100, RV100, RV200, RS100, RS200 NA 7 1.3 2048 2048
GFX1 R200, RV250, RV280, RS300 1 8 1.4 2048 2048
GFX2 R300, R350, RV350, RV380, RS400, RS480 2 9 2.1 2048 2560
GFX2 R420, R423, RV410, RS600, RS690, RS740 2 9 2.1 2048 4021
GFX2 RV515, R520, RV530, RV560, RV570, R580 3 9 2.1 4096 4096
GFX3 R600, RV610, RV630, RV620, RV635, RV670, RS780, RS880 4 10 3.3 8192 8192 VLIW5
GFX3 RV770, RV730, RV710, RV740 4 10 3.3 8192 8192 VLIW5
GFX4 CEDAR, REDWOOD, JUNIPER, CYPRESS, PALM (Wrestler/Ontario), SUMO (Llano), SUMO2 (Llano), BARTS, TURKS, CAICOS 5 11 4.x 16384 16384 VLIW5
GFX5 CAYMAN, ARUBA (Trinity/Richland) 5 11 4.x 16384 16384 VLIW4
GFX6 CAPE VERDE, PITCAIRN, TAHITI, OLAND, HAINAN 5 12 4.x 16384 16384 GCN
GFX7 BONAIRE, KABINI, MULLINS, KAVERI, HAWAII 5 12 4.x 16384 16384 GCN
GFX8 TONGA, ICELAND/TOPAZ, CARRIZO, FIJI, STONEY, POLARIS10, POLARIS11, POLARIS12, VEGAM 5 12 4.x 16384 16384 GCN
GFX9 VEGA10, RAVEN 6 12 4.x 16384 16384 GCN

Radeon Display Hardware

Display Core Engineering Names Display Controllers PLLs (DP & non-DP) PLLs (DP-only) DACs TV Encoder DVO Digital Notes
Classic Radeon Rage128, R1xx-R4xx 1-2 1-2 0 1-2 0-1 1 2 (1 TMDS, 1 LVDS)
DCE1/Avivo R5xx 2 2 0 2 1 1 2 (1 TMDS, 1 LVDS/TMDS)
DCE2 R600, RV610, RV630, RV670, RS600, RS690, RS740 2 2 0 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 0 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 0 2 1 1 3 (LVDS/TMDS/DP)
DCE3.2 RV710, RV730, RV740 2 2 0 2 1 1 5 (LVDS/TMDS/DP) Adds support for up to 5 digital outputs
DCE4 CEDAR, REDWOOD, JUNIPER, CYPRESS 4-6 2 0-1 2 1 1 6 (LVDS/TMDS/DP) Adds support for up to 6 independant displays (max of 2 non-DisplayPort displays with independent timing)
DCE4.1 PALM (Wrestler/Ontario), SUMO (Llano), SUMO2 (Llano) 2 2 0 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 2 1 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 2 1 1 0 1 6 (LVDS/TMDS/DP) HDMI 4K modes
DCE6.1 ARUBA (Trinity/Richland) 4 2 0 0 0 1 6 (TMDS/DP) VGA and LVDS are implemented via DP bridge chips
DCE6.4 OLAND 2 2 1 1 0 1 2 (TMDS/DP)
DCE8.1 KAVERI 4 3 0 0 0 0 7 (TMDS/DP) VGA and LVDS are implemented via DP bridge chips
DCE8.2 BONAIRE 6 3 0 1 0 1 6 (LVDS/TMDS/DP)
DCE8.3 KABINI, MULLINS 2 2 1 1 0 0 2 (LVDS/TMDS/DP)
DCE8.5 HAWAII 6 3 0 0 0 1 6 (TMDS/DP)
DCE10 TONGA, FIJI 6 3 0 0 (FIJI), 1 (TONGA) 0 1 6 (TMDS/DP)
DCE11 CARRIZO, STONEY 2-3 2 0 0 0 0 7 (TMDS/DP) VGA and LVDS are implemented via DP bridge chips
DCE11.2 POLARIS10, POLARIS11, POLARIS12, VEGAM 5-6 5-6 1 0 0 0 6 (TMDS/DP)
DCE12.0 VEGA10 6 6 1 0 0 0 6 (TMDS/DP)
DCN1.0 RAVEN 4 4 0 0 0 0 4 (TMDS/DP)

Radeon UVD (Unified Video Decoder) Hardware

UVD Core Engineering Names MPEG2 Decode MPEG4 Decode MPEG4 AVC Decode VC1 Decode HEVC Decode HEVC Encode JPEG Decode Max Size Notes
UVD1.0 RV610, RV630, RV670, RV620, RV635 No No Yes Yes No No No 2K
UVD2.0 RS780, RS880, RV770 No No Yes Yes No No No 2K
UVD2.2 RV710, RV730, RV740 No No Yes Yes No No No 2K
UVD2.3 CEDAR, REDWOOD, JUNIPER, CYPRESS No No Yes Yes No No No 2K
UVD3.0 PALM (Wrestler/Ontario), SUMO (Llano), SUMO2 (Llano) Yes Yes Yes Yes No No No 2K
UVD3.1 BARTS, TURKS, CAICOS, CAYMAN Yes Yes Yes Yes No No No 2K
UVD3.2 ARUBA (Trinity/Richland), TAHITI Yes Yes Yes Yes No No No 2K
UVD4.0 CAPE VERDE, PITCAIRN, OLAND Yes Yes Yes Yes No No No 2K
UVD4.2 KAVERI, KABINI, MULLINS, BONAIRE, HAWAII Yes Yes Yes Yes No No No 2K
UVD5.0 TONGA Yes Yes Yes Yes No No No 4K
UVD6.0 CARRIZO, FIJI Yes Yes Yes Yes Yes No Yes 4K
UVD6.2 STONEY Yes Yes Yes Yes Yes No Yes 4K Supports 10bit
UVD6.3 POLARIS10, POLARIS11, POLARIS12, VEGAM Yes Yes Yes Yes Yes Yes Yes 4K Supports 10bit
UVD7.0 VEGA10 Yes Yes Yes Yes Yes Yes Yes 4K Supports 10bit

Radeon VCE (Video Compression Engine) Hardware

VCE Core Engineering Names MPEG4 AVC Encode Max Size Notes
VCE1.0 ARUBA (Trinity/Richland), CAPE VERDE, PITCAIRN, TAHITI, OLAND Yes 2K
VCE2.0 KAVERI, KABINI, MULLINS, BONAIRE, HAWAII Yes 2K
VCE3.0 TONGA, FIJI Yes 4K
VCE3.1 CARRIZO Yes 4K
VCE3.4 STONEY, POLARIS10, POLARIS11, POLARIS12, VEGAM Yes 4K
VCE4.0 VEGA10 Yes 4K

Radeon VCN (Video Core Next) Hardware

VCN Core Engineering Names MPEG2 Decode MPEG4 Decode VC1 Decode MPEG4 AVC Decode MPEG4 AVC Encode HEVC Decode HEVC Encode VP9 Decode VP9 Encode JPEG Decode Max Size Notes
VCN1.0 RAVEN Yes Yes Yes Yes Yes Yes Yes Yes No Yes 4K Supports 10bit

Where to get the drivers

Where to file defect reports

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

Documentation

Footnotes

1 Kernel 3.4 required
2 Depends on the OEM board. Max of 2 (evergreeen-SI) or 3 (CI) non-Displayport displays with independent timing.
3 Requires a 3D driver with shader support
4 RV770, RS780/880, R6xx require kernel 3.18
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. X Server 1.14 is required to support rendering and display from different cards. Most new laptops (2011+) are MUX-less.
7 Kernel 3.10 required
12 Kernel 3.6 required
14 Needs piglit and Lightsmark testing before enabling by default, see mesa commit 12dcbd595
15 Currently enabled by default. It can be disabled by setting the environment variable R600_DEBUG=nohyperz.
16 Hardware doesn't support ARB NPOT textures fully.
17 Kernel 3.14 required. For older kernel, apply this kernel patch: http://www.spinics.net/lists/dri-devel/msg52745.html
18 LLVM 3.9 and Kernel 4.7 required
19 OpenGL 4.2 is currently only supported on CYPRESS, CAYMAN and ARUBA. All other chips are currently limited to OpenGL 3.3
20 LLVM 3.9 required
22 Older kernels require loading radeon with the audio parameter set to 1 (e.g., add radeon.audio=1 on the kernel command line in grub).
23 Kernel 3.3 required
24 Kernel 3.5 required
26 i2c chip
28 i2c chip or internal sensor
33 See http://dri.freedesktop.org/wiki/GalliumCompute
34 None
35 ARUBA only
36 No TV-out support on R4xx