RADEON(4)

NAME
radeon - ATI/AMD RADEON video driver for XLibre

SYNOPSIS
Section "Device"
  Identifier "devname"
  Driver "radeon"
  ...
EndSection

DESCRIPTION
radeon is an XLibre driver for ATI/AMD RADEON-based video cards with the following features:

•   Full support for 8-, 15-, 16- and 24-bit pixel depths, and for 30-bit depth on Linux 3.16 and later;
•   RandR 1.2 and RandR 1.3 support;
•   Full EXA 2D acceleration;
•   Textured XVideo acceleration including anti-tearing support (Bicubic filtering only available on R/RV3xx, R/RV/RS4xx, R/RV5xx, and RS6xx/RS740);
•   3D acceleration;

SUPPORTED HARDWARE
The radeon driver supports PCI, AGP, and PCIe video cards based on the following ATI/AMD chips (note: list is non-exhaustive):

R100
    Radeon 7200
RV100
    Radeon 7000(VE), M6, RN50/ES1000
RS100
    Radeon IGP320(M)
RV200
    Radeon 7500, M7, FireGL 7800
RS200
    Radeon IGP330(M)/IGP340(M)
RS250
    Radeon Mobility 7000 IGP
R200
    Radeon 8500, 9100, FireGL 8800/8700
RV250
    Radeon 9000PRO/9000, M9
RV280
    Radeon 9200PRO/9200/9200SE/9250, M9+
RS300
    Radeon 9100 IGP
RS350
    Radeon 9200 IGP
RS400/RS480
    Radeon XPRESS 200(M)/1100 IGP
R300
    Radeon 9700PRO/9700/9500PRO/9500/9600TX, FireGL X1/Z1
R350
    Radeon 9800PRO/9800SE/9800, FireGL X2
R360
    Radeon 9800XT
RV350
    Radeon 9600PRO/9600SE/9600/9550, M10/M11, FireGL T2
RV360
    Radeon 9600XT
RV370
    Radeon X300, M22
RV380
    Radeon X600, M24
RV410
    Radeon X700, M26 PCIe
R420
    Radeon X800 AGP
R423/R430
    Radeon X800, M28 PCIe
R480/R481
    Radeon X850 PCIe/AGP
RV505/RV515/RV516/RV550
    Radeon X1300/X1400/X1500/X1550/X2300
R520
    Radeon X1800
RV530/RV560
    Radeon X1600/X1650/X1700
RV570/R580
    Radeon X1900/X1950
RS600/RS690/RS740
    Radeon X1200/X1250/X2100
R600
    Radeon HD 2900
RV610/RV630
    Radeon HD 2400/2600/2700/4200/4225/4250
RV620/RV635
    Radeon HD 3410/3430/3450/3470/3650/3670
RV670
    Radeon HD 3690/3850/3870
RS780/RS880
    Radeon HD 3100/3200/3300/4100/4200/4250/4290
RV710/RV730
    Radeon HD 4330/4350/4550/4650/4670/5145/5165/530v/545v/560v/565v
RV740/RV770/RV790
    Radeon HD 4770/4730/4830/4850/4860/4870/4890
CEDAR
    Radeon HD 5430/5450/6330/6350/6370
REDWOOD
    Radeon HD 5550/5570/5650/5670/5730/5750/5770/6530/6550/6570
JUNIPER
    Radeon HD 5750/5770/5830/5850/5870/6750/6770/6830/6850/6870
CYPRESS
    Radeon HD 5830/5850/5870
HEMLOCK
    Radeon HD 5970
PALM
    Radeon HD 6310/6250
SUMO/SUMO2
    Radeon HD 6370/6380/6410/6480/6520/6530/6550/6620
BARTS
    Radeon HD 6790/6850/6870/6950/6970/6990
TURKS
    Radeon HD 6570/6630/6650/6670/6730/6750/6770
CAICOS
    Radeon HD 6430/6450/6470/6490
CAYMAN
    Radeon HD 6950/6970/6990
ARUBA
    Radeon HD 7000 series
TAHITI
    Radeon HD 7900 series
PITCAIRN
    Radeon HD 7800 series
VERDE
    Radeon HD 7700 series
OLAND
    Radeon HD 8000 series
HAINAN
    Radeon HD 8000 series
BONAIRE
    Radeon HD 7790 series
KAVERI
    KAVERI APUs
KABINI
    KABINI APUs
HAWAII
    Radeon R9 series
MULLINS
    MULLINS APUs

CONFIGURATION DETAILS
Please refer to xorg.conf(5) for general configuration details. This section only covers configuration details specific to this driver.

The following driver Options are supported:

Option "SWcursor" "boolean"
    Selects software cursor. The default is off.

Option "Accel" "boolean"
    Enables or disables all hardware acceleration.
    The default is on.

Option "ZaphodHeads" "string"
    Specify the RandR output(s) to use with zaphod mode for a particular driver instance. If you use this option you must use this option for all instances of the driver.
    For example: Option "ZaphodHeads" "LVDS,VGA-0" will assign xrandr outputs LVDS and VGA-0 to this instance of the driver.

Option "ColorTiling" "boolean"
    The framebuffer can be addressed either in linear or tiled mode. Tiled mode can provide significant performance benefits with 3D applications. Tiling will be disabled if the drm module is too old or if the current display configuration does not support it. On R600+ this enables 1D tiling mode.
    The default value is on for R/RV3XX, R/RV4XX, R/RV5XX, RS6XX, RS740, R/RV6XX, R/RV7XX, RS780, RS880, EVERGREEN, CAYMAN, ARUBA, Southern Islands, and Sea Islands and off for R/RV/RS1XX, R/RV/RS2XX, RS3XX, and RS690/RS780/RS880 when fast fb feature is enabled.

Option "ColorTiling2D" "boolean"
    The framebuffer can be addressed either in linear, 1D, or 2D tiled modes. 2D tiled mode can provide significant performance benefits over 1D tiling with 3D applications. Tiling will be disabled if the drm module is too old or if the current display configuration does not support it. KMS ColorTiling2D is only supported on R600 and newer chips and requires Mesa 9.0 or newer for R6xx-ARUBA, Mesa 9.2 or newer for Southern Islands, and Mesa 10.1 or newer for Sea Islands.
    The default value is on for R/RV6XX, R/RV7XX, RS780, RS880, EVERGREEN, CAYMAN, ARUBA, Southern Islands, and Sea Islands.

Option "DRI" "integer"
    Define the maximum level of DRI to enable. Valid values are 2 for DRI2 or 3 for DRI3. The default is 3 for DRI3 if the Xorg version is >= 1.18.3 and glamor is enabled, otherwise 2 for DRI2. Note: DRI3 may not work correctly in all cases with EXA, enable at your own risk.

Option "EnablePageFlip" "boolean"
    Enable DRI2 page flipping. The default is on. Pageflipping is supported on all radeon hardware.

Option "TearFree" "boolean"
    Set the default value of the per-output 'TearFree' property, which controls tearing prevention using the hardware page flipping mechanism. TearFree is on for any CRTC associated with one or more outputs with TearFree on. Two separate scanout buffers need to be allocated for each CRTC with TearFree on. If this option is set, the default value of the property is 'on' or 'off' accordingly. If this option isn't set, the default value of the property is auto, which means that TearFree is on for rotated outputs, outputs with RandR transforms applied and for RandR 1.4 secondary outputs, otherwise off.

Option "AccelMethod" "string"
    Chooses between available acceleration architectures. Valid values are EXA (for pre-TAHITI GPUs) and glamor (for R300 or higher). The default is glamor with R600 or newer (with Xorg >= 1.18.3, otherwise with TAHITI or newer), otherwise EXA.

The following driver Options are supported for glamor:

Option "ShadowPrimary" "boolean"
    This option enables a so-called "shadow primary" buffer for fast CPU access to pixel data, and separate scanout buffers for each display controller (CRTC). This may improve performance for some 2D workloads, potentially at the expense of other (e.g. 3D, video) workloads. Note in particular that enabling this option currently disables page flipping. The default is off.

The following driver Options are supported for EXA:

Option "EXAVSync" "boolean"
    This option attempts to avoid tearing by stalling the engine until the display controller has passed the destination region. It reduces tearing at the cost of performance and has been known to cause instability on some chips. The default is off.

Option "EXAPixmaps" "boolean"
    Under KMS, to avoid thrashing pixmaps in/out of VRAM on low memory cards, we use a heuristic based on VRAM amount to determine whether to allow EXA to use VRAM for non-essential pixmaps. This option allows us to override the heuristic. The default is on with > 32MB VRAM, off with < 32MB or when fast fb feature is enabled for RS690/RS780/RS880.

Option "SwapbuffersWait" "boolean"
    This option controls the behavior of glXSwapBuffers and glXCopySubBufferMESA calls by GL applications. If enabled, the calls will avoid tearing by making sure the display scanline is outside of the area to be copied before the copy occurs. If disabled, no scanline synchronization is performed, meaning tearing will likely occur. Note that when enabled, this option can adversely affect the framerate of applications that render frames at less than refresh rate.

    The default value is on.

TEXTURED VIDEO ATTRIBUTES
The driver supports the following X11 Xv attributes for Textured Video. You can use the "xvattr" tool to query/set those attributes at runtime.

XV_VSYNC
    XV_VSYNC is used to control whether textured adapter synchronizes the screen update to the monitor vertical refresh to eliminate tearing. It has two values: 'off'(0) and 'on'(1). The default is 'on'(1).

XV_CRTC
    XV_CRTC is used to control which display controller (crtc) the textured adapter synchronizes the screen update with when XV_VSYNC is enabled. The default, 'auto'(-1), will sync to the display controller that more of the video is on; when this is ambiguous, the display controller associated with the RandR primary output is preferred. This attribute is useful for things like clone mode where the user can best decide which display should be synced. The default is 'auto'(-1).

XV_BICUBIC
    XV_BICUBIC is used to control whether textured adapter should apply a bicubic filter to smooth the output. It has three values: 'off'(0), 'on'(1) and 'auto'(2). 'off' means never apply the filter, 'on' means always apply the filter and 'auto' means apply the filter only if the X and Y sizes are scaled to more than double to avoid blurred output. Bicubic filtering is not currently compatible with other Xv attributes like hue, contrast, and brightness, and must be disabled to use those attributes. The default is 'off'(0).

SEE ALSO
XLibre(1), xorg.conf(5), Xserver(1), X(7)

1.  Wiki page:
    https://www.x.org/wiki/radeon

2.  Overview about radeon development code:
    https://github.com/X11Libre/xf86-video-ati

3.  Mailing list:
    https://lists.freedesktop.org/mailman/listinfo/amd-gfx

4.  IRC channel:
    #radeon on irc.oftc.net

5.  Query the bugtracker for radeon bugs:
    https://github.com/X11Libre/xf86-video-ati/issues

AUTHORS
Authors include:
Rickard E. (Rik) Faith   faith@precisioninsight.com
Kevin E. Martin          kem@freedesktop.org
Alan Hourihane           alanh@fairlite.demon.co.uk
Marc Aurele La France    tsi@xfree86.org
Benjamin Herrenschmidt   benh@kernel.crashing.org
Michel Dänzer            michel@daenzer.net
Alex Deucher             alexdeucher@gmail.com
Bogdan D.                bogdand@users.sourceforge.net
Eric Anholt              eric@anholt.net