RADEON(4)

NAME
radeon - ATI RADEON video driver

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

DESCRIPTION
radeon is an XFree86 driver for ATI RADEON based video cards. It contains full support for 8, 15, 16 and 24 bit pixel depths, dual-head setup, flat panel, hardware 2D acceleration, hardware 3D acceleration (experimental on R300 and R400 series cards), hardware cursor, XV extension, and the Xinerama extension.

SUPPORTED HARDWARE
The radeon driver supports PCI and AGP video cards based on the following ATI chips

R100
    Radeon 7200

RV100
    Radeon 7000(VE), M6

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

RS300
    Radeon 9100 IGP

RS350
    Radeon 9200 IGP

RS400
    Radeon XPRESS 200/200M IGP

RV280
    Radeon 9200PRO/9200/9200SE, M9+

R300
    Radeon 9700PRO/9700/9500PRO/9500/9600TX, FireGL X1/Z1 (2D only)

R350
    Radeon 9800PRO/9800SE/9800, FireGL X2 (2D only)

R360
    Radeon 9800XT (2d only)

RV350
    Radeon 9600PRO/9600SE/9600, M10/M11, FireGL T2 (2D only)

RV360
    Radeon 9600XT (2d only)

RV370
    Radeon X300, M22 (2d only)

RV380
    Radeon X600, M24 (2d only)

RV410
    Radeon X700, M26 PCIE (2d only)

R420
    Radeon X800 AGP (2d only)

R423/R430
    Radeon X800, M28 PCIE (2d only)

R480/R481
    Radeon X850 PCIE/AGP (2d only)

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

The driver auto-detects all device information necessary to initialize the card. However, if you have problems with auto-detection, you can specify:

    VideoRam - in kilobytes
    MemBase - physical address of the linear framebuffer
    IOBase - physical address of the MMIO registers
    ChipID - PCI DEVICE ID

In addition, the following driver Options are supported:

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

Option "NoAccel" "boolean"
    Enables or disables all hardware acceleration.
    The default is to enable hardware acceleration.

Option "Dac6Bit" "boolean"
    Enables or disables the use of 6 bits per color component when in 8 bpp mode (emulates VGA mode). By default, all 8 bits per color component are used.
    The default is off.

Option "VideoKey" "integer"
    This overrides the default pixel value for the YUV video overlay key.
    The default value is 0x1E.

Option "UseFBDev" "boolean"
    Enable or disable use of an OS-specific framebuffer device interface (which is not supported on all OSs). MergedFB does not work when this option is in use. See fbdevhw(4) for further information.
    The default is off.

Option "AGPMode" "integer"
    Set AGP data transfer rate. (used only when DRI is enabled)
    1 -- x1 (default)
    2 -- x2
    4 -- x4
    8 -- x8
    others -- invalid

Option "AGPFastWrite" "boolean"
    Enable AGP fast write. Enabling this option is frequently the cause of instability. Used only when the DRI is enabled.
    The default is off.

Option "BusType" "string"
    Used to replace previous ForcePCIMode option. Should only be used when driver's bus detection is incorrect or you want to force a AGP card to PCI mode. Should NEVER force a PCI card to AGP bus.
    PCI -- PCI bus
    AGP -- AGP bus
    PCIE -- PCI Express (falls back to PCI at present)
    (used only when DRI is enabled)
    The default is auto detect.

Option "DDCMode" "boolean"
    Force to use the modes queried from the connected monitor.
    The default is off.

Option "DisplayPriority" "string"
    Used to prevent flickering or tearing problem caused by display buffer underflow.
    AUTO -- Driver calculated (default).
    BIOS -- Remain unchanged from BIOS setting.
              Use this if the calculation is not correct
              for your card.
    HIGH -- Force to the highest priority.
              Use this if you have problem with above options.
              This might affect performance slightly.
    The default value is AUTO.

Option "MonitorLayout" "string"
    This option is used to overwrite the detected monitor types. This is only required when driver makes a false detection. The possible monitor types are:
    NONE -- Not connected
    CRT -- Analog CRT monitor
    TMDS -- Desktop flat panel
    LVDS -- Laptop flat panel
    This option can be used in following format:
    Option "MonitorLayout" "[type on primary], [type on secondary]"
    For example, Option "MonitorLayout" "CRT, TMDS" Primary/Secondary head for dual-head cards:
    (when only one port is used, it will be treated as the primary regardless)
    Primary head:
    DVI port on DVI+VGA cards
    LCD output on laptops
    Internal TMDS port on DVI+DVI cards
    Secondary head:
    VGA port on DVI+VGA cards
    VGA port on laptops
    External TMDS port on DVI+DVI cards The default value is undefined.

Option "MergedFB" "boolean"
    This enables merged framebuffer mode. In this mode you have a single shared framebuffer with two viewports looking into it. It is similar to Xinerama, but has some advantages. It is faster than Xinerama, the DRI works on both heads, and it supports clone modes.
    Merged framebuffer mode provides two linked viewports looking into a single large shared framebuffer. The size of the framebuffer is determined by the Virtual keyword defined on the Screen section of your XF86Config file. It works just like regular virtual desktop except you have two viewports looking into it instead of one.
    For example, if you wanted a desktop composed of two 1024x768 viewports looking into a single desktop you would create a virtual desktop of 2048x768 (left/right) or 1024x1536 (above/below), e.g.,
    Virtual 2048 768 or Virtual 1024 1536
    The virtual desktop can be larger than the size of the viewports looking into it. In this case the linked viewports will scroll around in the virtual desktop. Viewports with different sizes are also supported (e.g., one that is 1024x768 and one that is 640x480). In this case the smaller viewport will scroll relative to the larger one such that none of the virtual desktop is inaccessible. If you do not define a virtual desktop the driver will create one based on the orientation of the heads and size of the largest defined mode in the display section that is supported on each head.
    The relation of the viewports in specified by the CRT2Position Option. The options are Clone , LeftOf , RightOf , Above , and Below. MergedFB is enabled by default if a monitor is detected on each output. If no position is given it defaults to clone mode (the old clone options are now deprecated, also, the option OverlayOnCRTC2 has been replaced by the Xv attribute XV_SWITCHCRT; the overlay can be switched to CRT1 or CRT2 on the fly in clone mode).
    The maximum framebuffer size that the 2D acceleration engine can handle is 8192x8192. The maximum framebuffer size that the 3D engine can handle is 2048x2048.
    Note: Page flipping does not work well in certain configurations with MergedFB. If you see rendering errors or other strange behavior, disable page flipping. Also MergedFB is not compatible with the UseFBDev option.
    The default value is undefined.

Option "CRT2HSync" "string"
    Set the horizontal sync range for the secondary monitor. It is not required if a DDC-capable monitor is connected.
    For example, Option "CRT2HSync" "30.0-86.0"
    The default value is undefined.

Option "CRT2VRefresh" "string"
    Set the vertical refresh range for the secondary monitor. It is not required if a DDC-capable monitor is connected.
    For example, Option "CRT2VRefresh" "50.0-120.0"
    The default value is undefined.

Option "CRT2Position" "string"
    Set the relationship of CRT2 relative to CRT1. Valid options are: Clone , LeftOf , RightOf , Above , and Below
    For example, Option "CRT2Position" "RightOf"
    This option also supports an offset. This is most useful when MergedNonRectangular is enabled. For example if you want CRT2 to be offset 100 pixels down from the start of CRT1, you'd type:
    Option "CRT2Position" "LeftOf 100"
    The offset is vertical for LeftOf and RightOf and horizontal for Above and Below. Offsets can be positive or negative.
    The default value is Clone.

Option "MetaModes" "string"
    MetaModes are mode combinations for CRT1 and CRT2. If you are using merged frame buffer mode and want to change modes (CTRL-ALT-+/-), these define which modes will be switched to on CRT1 and CRT2. The MetaModes are defined as CRT1Mode-CRT2Mode (800x600-1024x768). Modes listed individually (800x600) define clone modes, that way you can mix clone modes with non-clone modes. Also some programs require "standard" modes. If you want to add clone modes of different refreshes or sizes to the mix, they are defined as CRT1Mode+CRT2Mode (800x600+1024x768).
    Note: Any mode you use in the MetaModes must be defined in the Screen section of your XF86Config file. Modes not defined there will be ignored when the MetaModes are parsed since the driver uses them to make sure the monitors can handle those modes. If you do not define a MetaMode the driver will create one based on the orientation of the heads and size of the largest defined mode in the display section that is supported on each head.
    Modes 1024x768 800x600 640x480
    For example, Option "MetaModes" "1024x768-1024x768 800x600-1024x768 640x480-800x600 800x600"
    The default value is undefined.

Option "MergedXinerama" "boolean"
    Since merged framebuffer mode does not use Xinerama, apps are not able to intelligently place windows. Merged framebuffer mode provides its own pseudo-Xinerama. This allows Xinerama compliant applications to place windows appropriately. There are some caveats. Since merged framebuffer mode is able to change relative screen sizes and orientations on the fly, as well has having overlapping viewports, pseudo-Xinerama, might not always provide the right hints. Also many Xinerama compliant applications only query Xinerama once at startup; if the information changes, they might not be aware of the change. If you are already using Xinerama (e.g., a single head card and a dualhead card providing three heads), pseudo-Xinerama will be disabled.
    This option allows you turn off the driver provided pseudo-Xinerama extension.
    The default value is TRUE.

Option "MergedXineramaCRT2IsScreen0" "boolean"
    By default the pseudo-Xinerama provided by the driver makes the left-most or bottom head Xinerama screen 0. Certain Xinerama-aware applications do special things with screen 0. To change that behavior, use this option.
    The default value is undefined.

Option "MergedDPI" "string"
    The driver will attempt to figure out an appropriate DPI based on the DDC information and the orientation of the heads when in merged framebuffer mode. If this value does not suit you, you can manually set the DPI using this option.
    For example, Option "MergedDPI" "100 100"
    The default value is undefined.

Option "MergedNonRectangular" "boolean"
    If you are using MergedFB with two modes of different sizes, turn this option on to keep the smaller head from scrolling within the larger virtual desktop and to keep the mouse from moving into that area. Applications that are not Xinerama aware can potentially end up stranded in this area.
    The default value is FALSE.

Option "ColorTiling" "boolean"
    Frame buffer can be addressed either in linear or tiled mode. Tiled mode can provide significant performance benefits with 3D applications, for 2D it shouldn't matter much. Tiling will be disabled if the virtual x resolution exceeds 2048 (3968 for R300 and above), if option UseFBDev is used, or (if DRI is enabled) the drm module is too old.
    If this option is enabled, a new dri driver is required for direct rendering too.
    Color tiling will be automatically disabled in interlaced or doublescan screen modes.
    The default value is on.

Option "IgnoreEDID" "boolean"
    Do not use EDID data for mode validation, but DDC is still used for monitor detection. This is different from NoDDC option.
    The default value is off.

Option "PanelSize" "string"
    Should only be used when driver cannot detect the correct panel size. Apply to both desktop (TMDS) and laptop (LVDS) digital panels. When a valid panel size is specified, the timings collected from DDC and BIOS will not be used. If you have a panel with timings different from that of a standard VESA mode, you have to provide this information through the Modeline.
    For example, Option "PanelSize" "1400x1050"
    The default value is none.

Option "PanelOff" "boolean"
    Disable panel output.
    The default value is off.

Option "EnablePageFlip" "boolean"
    Enable page flipping for 3D acceleration. This will increase performance but not work correctly in some rare cases, hence the default is off.

Option "ForceMinDotClock" "frequency"
    Override minimum dot clock. Some Radeon BIOSes report a minimum dot clock unsuitable (too high) for use with television sets even when they actually can produce lower dot clocks. If this is the case you can override the value here. Note that using this option might damage your hardware. You have been warned. The frequency parameter may be specified as a float value with standard suffixes like "k", "kHz", "M", "MHz".

Option "DepthBits" "integer"
    Precision in bits per pixel of the shared depth buffer used for 3D acceleration. Valid values are 16 and 24. When this is 24, there will also be a hardware accelerated stencil buffer, but the combined depth/stencil buffer will take up twice as much video RAM as when it's 16. Default: The same as the screen depth.

Option "DMAForXv" "boolean"
    Try or don't try to use DMA for Xv image transfers. This will reduce CPU usage when playing big videos like DVDs, but might cause instabilities. Default: on.

Option "SubPixelOrder" "string"
    Force subpixel order to specified order. Subpixel order is used for subpixel decimation on flat panels.
    NONE -- No subpixel (CRT like displays)
    RGB -- in horizontal RGB order (most flat panels)
    BGR -- in horizontal BGR order (some flat panels)
    This option is intended to be used in following cases:
    1. The default subpixel order is incorrect for your panel.
    2. Enable subpixel decimation on analog panels.
    3. Adjust to one display type in dual-head clone mode setup.
    4. Get better performance with Render acceleration on digital panels (use NONE setting).
    The default is NONE for CRT, RGB for digital panels

Option "DynamicClocks" "boolean"
    Enable dynamic clock scaling. The on-chip clocks will scale dynamically based on usage. This can help reduce heat and increase battery life by reducing power usage. Some users report reduced 3D performance with this enabled. The default is off.

Option "BIOSHotkeys" "boolean"
    Enable BIOS hotkey output switching. This allows the BIOS to toggle outputs using hotkeys (e.g., fn-f7, etc.). Since the driver does not support ACPI, there is no way to validate modes on an output switch and the BIOS can potentially change things behind the driver's back. The default is off.

Option "ReverseDDC" "boolean"
    When BIOS connector informations aren't available, use this option to reverse the mapping of the 2 main DDC ports. Use this if the X serve obviously detects the wrong display for each connector. This is typically needed on the Radeon 9600 cards bundled with Apple G5s. The default is off.

Option "LVDSProbePLL" "boolean"
    When BIOS panel informations aren't available (like on PowerBooks), it might still be necessary to use the firmware provided PLL values for the panel or flickering will happen. This option will force probing of the current value programmed in the chip when X is launched in that case. This is only useful for LVDS panels (laptop internal panels). The default is on.

SEE ALSO
XFree86(1), XF86Config(5), xf86config(1), Xserver(1), X(7)

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@tungstengraphics.com
Alex Deucher             alexdeucher@gmail.com
Bogdan D.                bogdand@users.sourceforge.net
Eric Anholt              eric@anholt.net