radeon

radeon

Driver for ATI Radeon based video chips. License: MIT

Documentation and Support

Please check the included manual page (old version here) for configuration options. To see or submit real-world reports on the 3D acceleration performance of this driver, see the free3d.org wiki

There is an IRC channel #radeon on irc.freenode.net for radeon users and developers.

Development mailing lists are:

http://lists.x.org/mailman/listinfo/xorg-driver-ati

for the ati/radeon driver

and

http://lists.freedesktop.org/mailman/listinfo/xorg

for general Xorg development.

TV Out Support

Please check radeonTV for information about TV out support.

Dual-head Support

See the XRandR 1.2 documentation for how to set up multiple monitors.

Status

Driver releases 6.8.* and Mesa 7.0.x

See also RadeonFeature and RadeonProgram for feature and supported program lists.

For an alternative R500/R600 driver see radeonhd.

For R300 and above there's also an ATIProprietaryDriver available, which is worse in many aspects but has better 3D performance and features.

Known Issues

User-submitted tips

Note that the below info is old and probably not correct for your hardware configuration. In most cases, an empty or minimal xorg.conf will work best.

Case: wide screen resolution

I'm not too sure where to include this information, so I'll leave it here. Please feel free to move/copy it somewhere else if it belongs to a more relevant web page/site.

My computer has an ATI Radeon 8500 LE video card and had a CRT monitor plugged into it, a ViewSonic GS790. I was running Fedora Core 4 at full 1600x1200 resolution when I bought my first flat panel, a Samsung SyncMaster 205BW (rather new at the time of writing, August 22th 2006). So recent that I couldn't make it display at its native resolution on my own with the help of Google, that is 1680x1050. After multiple attempts, I decided to head over #xorg on irc.freenode.net and ask for help. The much friendly people there made it work in a few minutes. So I'm here editing this page on my 205BW in 1680x1050.

So here are a few facts:

The following configuration works for me. Pay attention to the following lines: HorizSync, VertRefresh, Driver, DisplaySize, Virtual.

Note that you should normally specify the driver "ati" in the Device section. The ati driver is a wrapper that loads radeon when needed.

xorg.conf

Section "ServerLayout"
    Identifier     "single head configuration"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
    ModulePath   "/usr/X11R6/lib/modules"
    FontPath     "unix/:7100"
EndSection

Section "Module"
    Load  "dbe"
    Load  "extmod"
    Load  "fbdevhw"
    Load  "glx"
    Load  "record"
    Load  "freetype"
    Load  "type1"
    Load  "dri"
EndSection

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
    Option      "XkbModel" "pc105"
    Option      "XkbLayout" "us"
EndSection

Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option      "Protocol" "IMPS/2"
    Option      "Device" "/dev/input/mice"
    Option      "ZAxisMapping" "4 5"
    Option      "Emulate3Buttons" "yes"
EndSection

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Samsung"
    ModelName    "SyncMaster 205BW"
    Option       "dpms"

    # Important. At least on my setup it doesn't detect the size correctly.
    # If not specified, the fonts may look very tiny.
    # Numbers found on a random web site using Google.
    DisplaySize  433 270

    #
    # Those are the magic values that make it all work.
    #
    HorizSync    30.0 - 83.0
    VertRefresh  56.0 - 63.0
    ## This allowed for resolutions in the 19AAxBBBB
    ## See also the Virtual directive in Display subsection below
    #VertRefresh 56.0 - 83.0
EndSection

Section "Device"
    Identifier  "Device0"
    # Other important bit. The radeon driver is mature enough, as been said in #xorg
    Driver      "radeon"
    VendorName  "ATI"
    BoardName   "ATI Radeon 8500LE"
    # Options recommended on dri.freedesktop.org
    Option "AccelMethod" "XAA"
    Option "AGPMode" "1"
    Option "EnablePageFlip" "1"
    Option "ColorTiling" "1"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Device0"
    Monitor    "Monitor0"
    DefaultDepth     24
    SubSection "Display"
        Viewport    0 0
        # Fix the viewable area to 1680x1050, or something
        Virtual     1680 1050
        Depth       24
    EndSubSection
EndSection

Section "DRI"
    Group       0
    Mode        0666
EndSection

In the course of trying to get this work, I've installed the ATI proprietary driver, fglrx, which replaces the OpenGL librairies and renders my DRI non-working. DO NOT install those drivers as they are NOT required to support a wide screen resolution like 1680x1050 on the 205BW. To uninstall the proprietary ATI driver (at least as of version 8.24.8), open a terminal, cd /usr/share/fglrx and then sudo ./fglrx-uninstall.sh.

Output of a few commands:

xrandr -q

 SZ:    Pixels          Physical       Refresh
*0   1680 x 1050   ( 435mm x 272mm )  *60  
 1   1400 x 1050   ( 435mm x 272mm )   60  
 2   1280 x 1024   ( 435mm x 272mm )   60  
 3   1280 x 960    ( 435mm x 272mm )   60  
 4   1280 x 800    ( 435mm x 272mm )   60  
 5   1152 x 864    ( 435mm x 272mm )   60  
 6   1280 x 768    ( 435mm x 272mm )   60  
 7   1280 x 720    ( 435mm x 272mm )   60  
 8   1024 x 768    ( 435mm x 272mm )   60  
 9    800 x 600    ( 435mm x 272mm )   60   56  
 10   848 x 480    ( 435mm x 272mm )   60  
 11   640 x 480    ( 435mm x 272mm )   60  
 12   640 x 360    ( 435mm x 272mm )   60  
 13   400 x 300    ( 435mm x 272mm )   60  
Current rotation - normal
Current reflection - none
Rotations possible - normal 
Reflections possible - none

xdpyinfo

name of display:    :0.0
version number:    11.0
vendor string:    The X.Org Foundation
vendor release number:    60802000
X.Org version: 6.8.2
maximum request size:  16777212 bytes
motion buffer size:  256
bitmap unit, bit order, padding:    32, LSBFirst, 32
image byte order:    LSBFirst
number of supported pixmap formats:    7
supported pixmap formats:
    depth 1, bits_per_pixel 1, scanline_pad 32
    depth 4, bits_per_pixel 8, scanline_pad 32
    depth 8, bits_per_pixel 8, scanline_pad 32
    depth 15, bits_per_pixel 16, scanline_pad 32
    depth 16, bits_per_pixel 16, scanline_pad 32
    depth 24, bits_per_pixel 32, scanline_pad 32
    depth 32, bits_per_pixel 32, scanline_pad 32
keycode range:    minimum 8, maximum 255
focus:  window 0xa00007, revert to PointerRoot
number of extensions:    31
    BIG-REQUESTS
    DAMAGE
    DOUBLE-BUFFER
    DPMS
    Extended-Visual-Information
    GLX
    LBX
    MIT-SCREEN-SAVER
    MIT-SHM
    MIT-SUNDRY-NONSTANDARD
    RANDR
    RECORD
    RENDER
    SECURITY
    SGI-GLX
    SHAPE
    SYNC
    TOG-CUP
    X-Resource
    XC-APPGROUP
    XC-MISC
    XFIXES
    XFree86-Bigfont
    XFree86-DGA
    XFree86-DRI
    XFree86-Misc
    XFree86-VidModeExtension
    XInputExtension
    XKEYBOARD
    XTEST
    XVideo
default screen number:    0
number of screens:    1

screen #0:
  dimensions:    1680x1050 pixels (435x272 millimeters)
  resolution:    98x98 dots per inch
  depths (7):    24, 1, 4, 8, 15, 16, 32
  root window id:    0x48
  depth of root window:    24 planes
  number of colormaps:    minimum 1, maximum 1
  default colormap:    0x20
  default number of colormap cells:    256
  preallocated pixels:    black 0, white 16777215
  options:    backing-store NO, save-unders NO
  largest cursor:    64x64
  current input event mask:    0xda001f
    KeyPressMask             KeyReleaseMask           ButtonPressMask          
    ButtonReleaseMask        EnterWindowMask          StructureNotifyMask      
    SubstructureNotifyMask   SubstructureRedirectMask PropertyChangeMask       
    ColormapChangeMask       
  number of visuals:    16
  default visual id:  0x23
  visual:
    visual id:    0x23
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x24
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x25
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x26
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x27
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x28
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x29
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x2a
    class:    TrueColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x2b
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x2c
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x2d
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x2e
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x2f
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x30
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x31
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits
  visual:
    visual id:    0x32
    class:    DirectColor
    depth:    24 planes
    available colormap entries:    256 per subfield
    red, green, blue masks:    0xff0000, 0xff00, 0xff
    significant bits in color specification:    8 bits

If fonts look tiny in applications, the solution is NOT to hack your around by adding Xft.dpi: 96 in your ~/.Xdefaults, but rather to include the DisplaySize directive in your xorg.conf, as specified above. This may be because X.org does not detect your monitor's physical size correctly. That can be checked by running grep -i dpi /var/log/Xorg*. The value in my log file was initially (75, 75); when I added the DisplaySize statement in xorg.conf, the reported DPI had jumped to (98, 98) and the fonts now render correctly.

Gentoo

I must add that the above setup works fine for me on Fedora Core 4 and 5. On gentoo I have a different experience though. I can only set the screen to 1680x1050 with the following configuration file:

Section "ServerLayout"
    Identifier     "single head configuration"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
    ModulePath   "/usr/lib/xorg/modules"
    FontPath "/usr/share/fonts/75dpi"
    FontPath "/usr/share/fonts/100dpi"
    FontPath "/usr/share/fonts/misc"
    FontPath "/usr/share/fonts/Type1"
    FontPath "/usr/share/fonts/default/ghostscript"
    FontPath "/usr/share/fonts/corefonts"
EndSection

Section "Module"
    Load  "dbe"
    Load  "extmod"
    Load  "fbdevhw"
    Load  "glx"
    Load  "record"
    Load  "freetype"
    Load  "type1"
    Load  "dri"
EndSection

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
    Option      "XkbModel" "pc105"
    Option      "XkbLayout" "us"
    Option      "XkbOptions" "altwin:left_meta_win"
EndSection

Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option      "Protocol" "IMPS/2"
    Option      "Device" "/dev/input/mice"
    Option      "ZAxisMapping" "4 5"
    Option      "Emulate3Buttons" "yes"
EndSection

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Samsung"
    ModelName    "SyncMaster 205BW"
    Option       "dpms"
    DisplaySize  433 271
    HorizSync    30.0 - 81.0
    VertRefresh  56.0 - 75.0

    #Modeline "1680x1050@60" 154.20 1680 1712 2296 2328 1050 1071 1081 1103
    ModeLine "1680x1050" 146.8  1680 1784 1960 2240  1050 1053 1059 1089
EndSection

Section "Device"
    Identifier  "Device0"
    Driver      "radeon"
    VendorName  "ATI"
    BoardName   "ATI Radeon 8500LE"
    Option "AccelMethod" "XAA"
    Option "AGPMode" "1"
    Option "EnablePageFlip" "1"
    Option "ColorTiling" "1"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Device0"
    Monitor    "Monitor0"
    DefaultDepth     24
    SubSection "Display"
        Viewport    0 0
        Depth       24
        Modes "1680x1050"
        #Modes "1680x1050@60"
        #Virtual     1680 1050
    EndSubSection
EndSection

Section "DRI"
    Group       0
    Mode        0666
EndSection

But then the screen seems to have a improper refresh rate, although xdranr -q shows 60 hertz. The screen is NOT correctly set with the above configuration file, but I can't seem to fix it.