Table of Contents

## 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