Differences between revisions 289 and 290
Revision 289 as of 2013-06-04 20:51:11
Size: 31503
Editor: AlexDeucher
Comment: update hybrid laptop info
Revision 290 as of 2013-06-04 20:59:12
Size: 31587
Editor: AlexDeucher
Comment: add oland, hainan info
Deletions are marked like this. Additions are marked like this.
Line 160: Line 160:
||Southern Islands ||CAPE VERDE, PITCAIRN, TAHITI ||HD7750 - HD7970 || ||Southern Islands ||CAPE VERDE, PITCAIRN, TAHITI, OLAND, HAINAN ||HD7750 - HD7970 ||
Line 174: Line 174:
||RAxx ||CAPE VERDE, PITCAIRN, TAHITI ||5 ||11 ||4.2 ||16384 ||16384 || ||RAxx ||CAPE VERDE, PITCAIRN, TAHITI, OLAND, HAINAN ||5 ||11 ||4.2 ||16384 ||16384 ||
Line 190: Line 190:
||DCE6.4 ||OLAND ||2 ||1 ||0 ||0 ||2 (TMDS/DP) || ||

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.

  • "DONE" means that it is implemented and relatively bug-free.

  • "MOSTLY" means that it is implemented but has some known bugs.

  • "WIP" means that someone has started on the initial implementation.

  • "BIOS" means only if supported by your BIOS. No software support. Yet.

  • "N/A" means that the feature is not supported by the hardware.

  • "N/N" means that the feature will not be implemented, because a better alternative is or will be available.

  • "TODO" means that someone needs to write the code. The required knowledge to write the code may or may not be known. Please ask on #radeon if you want to get your feet wet on this.

  • "UNKNOWN" means that the current status of this item isn't known. You are free to update it if you know.

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 Graphics/PowerXpress/Enduro5

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

DONE6

Texture Tiling

TODO

TODO

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE6

S3TC decompression
(via env variable / drirc)

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE6

full S3TC
(via libtxc_dxtn.so)

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE

DONE6

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

MOSTLY7

MOSTLY7

MOSTLY7

DONE

DONE8

DONE8

DONE8

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

MOSTLY9

MOSTLY9

MOSTLY9

DONE

DONE

DONE

DONE

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. X Server 1.14 is required to support rendering and display from different cards. Most new laptops (2011+) are MUX-less. (9)

  6. Kernel 3.10 required (10 11 12 13)

  7. Needs piglit testing before enabling by default, see mesa commit 8ed6b1400 (14 15 16)

  8. Kernel 3.6 required (17 18 19)

  9. Needs piglit and Lightsmark testing before enabling by default, see mesa commit 12dcbd595 (20 21 22)

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

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

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

  13. Kernel 3.3 required (31)

  14. Kernel 3.5 required (32)

  15. i2c chip (33 34 35 36)

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

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

VSYNC

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

3D driver environment variable

  • vblank_mode - selects whether or not the 3D application should synchronize to vblank.

DDX driver options

  • EnablePageFlip - This option enables the use of pageflipping (switching the display controller's base address pointer) rather than blits for GL buffer swaps. It only applies to fullscreen GL apps. Pageflipping is always synced to vblank at the moment.

  • SwapBuffersWait - This option prevents tearing for GL buffer swaps by waiting to update the front buffer until scanout has passed the area of the screen the GL buffer swap is going to blit to.

  • EXAVSync - This option prevents tearing for EXA operations by waiting to update the front buffer until scanout has passed the area of the screen the EXA operation is going to render to.

Xv Attribute

  • XV_VSYNC - This option prevents tearing when playing back videos using Xv by waiting to update the video image until scanout has passed the area of the screen displaying the video. It only prevents tearing if Xv is rendering directly to the front buffer. If you are using a compositer, this does not prevent tearing because Xv is rendering to an offscreen buffer and the compositor copied it to the front buffer.

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.

  • "default" uses the default clocks and does not change the power state. This is the default behavior.
  • "auto" selects 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.
  • "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.
  • "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.
  • "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.

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, OLAND, HAINAN

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, OLAND, HAINAN

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

DCE6.4

OLAND

2

1

0

0

2 (TMDS/DP)

Where to get the drivers

Where to file defect reports

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

  • Xorg radeon DDX - xorg : Driver/Radeon
  • Mesa 3D driver (1xx) - Mesa : Drivers/DRI/Radeon
  • Mesa 3D driver (2xx) - Mesa : Drivers/DRI/r200
  • Mesa 3D driver (3xx-5xx) - Mesa : Drivers/Gallium/r300
  • Mesa 3D driver (6xx-NI) - Mesa : Drivers/Gallium/r600
  • Mesa 3D driver (SI) - Mesa : Drivers/Gallium/radeonsi
  • KMS DRM aka Kernel graphics driver - DRI : DRM/Radeon

Documentation

RadeonFeature (last edited 2013-06-04 20:59:12 by AlexDeucher)