Differences between revisions 51 and 52
Revision 51 as of 2013-12-24 20:49:15
Size: 4795
Comment: Since AMD make things besides video hardware, specify that ...
Revision 52 as of 2014-03-01 18:11:37
Size: 5110
Editor: GeoffSimmons
Comment: Rewrite: re-order, limit dmesg output to relevant messages, drop old Xpress 200M bug.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[fr/AtiHowTo|Français]] - [[it/AtiHowTo|Italiano]] - [[ru/AtiHowTo|Русский]] -~ #language en
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[fr/AtiHowTo|Français]] - [[it/AtiHowTo|Italiano]] - [[ru/AtiHowTo|Русский]] -~
----
= AMD/ATI Open Source Drivers (radeon, r128, mach64) =
This page describes use of the open source display drivers for ATI/AMD graphics hardware on Debian systems. For information on the proprietary driver, see [[ATIProprietary]].
Line 3: Line 7:
This article discusses how to install and use the open-source Radeon display driver for X11. <<TableOfContents(3)>>
Line 5: Line 9:
<<TableOfContents(2)>> <<Anchor(Determining your hardware)>>
== Identification ==
Line 7: Line 12:
== Introduction == The AMD/ATI graphics processing unit (GPU) series/codename of an installed video card can usually be identified using the {{{lspci}}} command. For example:
 {{{
$ lspci -nn | grep VGA
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Barts PRO [Radeon HD 6850] [1002:6739]
}}}
Line 9: Line 18:
Support for AMD (nee ATI) video hardware is provided by the package DebianPkg:xserver-xorg-video-ati (wrapper driver) which depends on three hardware specific drivers: See [[HowToIdentifyADevice/PCI]] for more information.

== Drivers ==

Support for AMD (nee ATI) graphics hardware is provided by the DebianPkg:xserver-xorg-video-ati driver wrapper package, which depends on three hardware-specific driver packages:
Line 13: Line 27:
The ati wrapper driver autodetects whether your hardware has a Radeon, Rage 128, or Mach64 or earlier class chipset and loads the radeon, r128, or mach64 driver as appropriate.
Line 15: Line 28:
== Determining your hardware == The ati wrapper driver autodetects whether your hardware has a Radeon, Rage 128, or Mach64 or earlier chip and load the radeon, r128, or mach64 xorg video driver as appropriate.
Line 17: Line 30:
Run this command to determine what kind of video card you have: <<Anchor((Supported Cards))>>
=== Supported Devices ===
Line 19: Line 33:
{{{
lspci -v | grep VGA
The radeon driver in [[DebianWheezy|Debian 7 "Wheezy"]] supports R100 to Cayman (Radeon 7000 - Radeon HD 69xx) GPUs. See [[http://x.org/wiki/radeon|the radeon page]] on the X wiki for more information.

<<Anchor(Installing proprietary firmware)>>
=== Firmware ===

Proprietary, binary-only firmware (aka microcode) was removed from the Debian kernel's radeon DRM driver in [[DebianPkg:src:linux-2.6|linux-2.6]] 2.6.29-1, to resolve Debian bug DebianBug:494009. The firmware can be provided by installing the DebianPkg:firmware-linux-nonfree package.

Without this package installed, poor 2D/3D performance in the radeon driver is commonly experienced. Some GPUs may require firmware to operate the X Window System.

== Installation ==

The following procedure will install the open source display driver packages, DRI modules (for 3D acceleration) and driver firmware/microcode:

 1. Add "contrib" and "non-free" components to {{{/etc/apt/sources.list}}}, for example: {{{
# Debian 7 "Wheezy"
deb http://http.debian.net/debian/ wheezy main contrib non-free
}}}
 1. Update the list of available packages: {{{
# apt-get update
}}}
 1. Install the DebianPkg:firmware-linux-nonfree, DebianPkg:libgl1-mesa-dri and DebianPkg:xserver-xorg-video-ati packages: {{{
# apt-get install firmware-linux-nonfree libgl1-mesa-dri xserver-xorg-video-ati
}}}
 1. Restart your system to load GPU device firmware.

== Troubleshooting ==

Use of firmware/microcode used by the radeon DRM driver can be verified using the [[DebianMan:1/dmesg|dmesg]] command. For example:
 {{{
$ dmesg | grep -E 'drm|radeon' | grep -iE 'firmware|microcode'
[ 3.685235] [drm] Loading BARTS Microcode
[ 3.768988] platform radeon_cp.0: firmware: agent loaded radeon/BARTS_pfp.bin into memory
[ 3.861487] platform radeon_cp.0: firmware: agent loaded radeon/BARTS_me.bin into memory
[ 3.929626] platform radeon_cp.0: firmware: agent loaded radeon/BTC_rlc.bin into memory
[ 4.442259] platform radeon_cp.0: firmware: agent loaded radeon/BARTS_mc.bin into memory
Line 23: Line 70:
== Supported Cards == If files were unable to be loaded, ensure the DebianPkg:firmware-linux-nonfree package is installed (refer to [[#Installation|Installation]]).
Line 25: Line 72:
The radeon driver in [[DebianWheezy|Wheezy]] supports R1xx to Cayman (Radeon 7000 – Radeon HD 69xx) class chips. See [[http://www.x.org/wiki/radeon|the radeon page]] on the X wiki for more information. <<Anchor(configure)>>
<<Anchor(Editing /etc/X11/xorg.conf)>>
== Configuration ==
Line 27: Line 76:
First try the free radeon driver by installing DebianPkg:xserver-xorg-video-ati which installs DebianPkg:xserver-xorg-video-radeon by dependency. In most cases, manual configuration for the open source display drivers is '''not required''', as the Xorg X server automatically detects and configures available hardware.
Line 29: Line 78:
== Installing proprietary firmware == ----
Line 31: Line 80:
Proprietary, binary-only firmware was removed from the Debian kernel's radeon DRM driver in [[DebianPkg:src:linux-2.6|linux-2.6]] 2.6.29-1, to resolve Debian bug DebianBug:494009. It can now be installed via the DebianPkg:firmware-linux-nonfree package (autostart by kernel: dmesg |grep -i firmware) The following optional configuration can be used to increase 3D performance. See the [[DebianMan:5/xorg.conf|xorg.conf(5)]] and [[DebianMan:4/radeon|radeon(4)]] manual pages for more information.
Line 33: Line 82:
Without this firmware installed, poor 2D/3D performance in the radeon driver is commonly experienced. Some cards may require this to run the X Window System.

For Debian [[DebianSqueeze|Squeeze]] and later releases, you will need to install proprietary firmware if you have one of the following Radeon-based cards:

 * Radeon R100 (7000 – 7500)
 * Radeon R200 (8500 — 9200, 9250)
 * Radeon R300 (9500 — 9800, X300 — X600, X1050)
 * Radeon R400 (X700 — X850)
 * Radeon R500 (X1300 — X1950)
 * Radeon R600 (HD 2400, HD 2600, HD 2900)
 * Radeon RS600
 * Radeon RS690
 * Radeon RS780
 * Radeon RV610
 * Radeon RV620
 * Radeon RV630
 * Radeon RV635
 * Radeon RV670
 * Radeon RV710
 * Radeon RV730
 * Radeon RV770

The firmware in question, id est the CP/PFP microcode, can be installed by first enabling the '''non-free''' repository for your Debian release and issuing the following command:

{{{
aptitude install firmware-linux-nonfree
}}}

== Editing /etc/X11/xorg.conf ==

('''''xorg.conf does not exist in Squeeze and Sid''''')
Essentially, you need to set your device's driver to "radeon" as such:

{{{
Section "Device"
    Identifier "Device0"
    Driver "radeon"
EndSection
}}}

The following options can improve 3d performance significantly.

{{{
 ~- {{{
Line 100: Line 107:
}}}

There are plenty of other options for the driver too. You can find out about them in radeon's man page:

{{{
man 4 radeon
}}}

== Enabling 3D acceleration ==

It is necessary to install driver libraries in order to utilize the card's 3D capabilities:
{{{
aptitude install libgl1-mesa-dri
}}}

These will automatically be installed as a dependency of the xserver-xorg-core package, so if you've installed that, you don't need to worry about this.

== Troubleshooting ==
=== Radeon Xpress 200M (R300) on laptop ===
During a long time, on laptops with Radeon Xpress 200M (R300) you may get some random colored stripes (especially after suspending display power). This is problably due to a bug into free driver. A solution may be to switch off, then switch on the backlight with ''radeontool'' (eponymic package).
{{{
#!/bin/sh
sudo radeontool light off
sleep 1
sudo radeontool light on
}}}
}}} -~
Line 131: Line 113:

== External Links ==

 * http://x.org/wiki/radeon

Translation(s): Français - Italiano - Русский


AMD/ATI Open Source Drivers (radeon, r128, mach64)

This page describes use of the open source display drivers for ATI/AMD graphics hardware on Debian systems. For information on the proprietary driver, see ATIProprietary.

Identification

The AMD/ATI graphics processing unit (GPU) series/codename of an installed video card can usually be identified using the lspci command. For example:

  • $ lspci -nn | grep VGA
    01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Barts PRO [Radeon HD 6850] [1002:6739]

See HowToIdentifyADevice/PCI for more information.

Drivers

Support for AMD (nee ATI) graphics hardware is provided by the xserver-xorg-video-ati driver wrapper package, which depends on three hardware-specific driver packages:

The ati wrapper driver autodetects whether your hardware has a Radeon, Rage 128, or Mach64 or earlier chip and load the radeon, r128, or mach64 xorg video driver as appropriate.

Supported Devices

The radeon driver in Debian 7 "Wheezy" supports R100 to Cayman (Radeon 7000 - Radeon HD 69xx) GPUs. See the radeon page on the X wiki for more information.

Firmware

Proprietary, binary-only firmware (aka microcode) was removed from the Debian kernel's radeon DRM driver in linux-2.6 2.6.29-1, to resolve Debian bug 494009. The firmware can be provided by installing the firmware-linux-nonfree package.

Without this package installed, poor 2D/3D performance in the radeon driver is commonly experienced. Some GPUs may require firmware to operate the X Window System.

Installation

The following procedure will install the open source display driver packages, DRI modules (for 3D acceleration) and driver firmware/microcode:

  1. Add "contrib" and "non-free" components to /etc/apt/sources.list, for example:

    # Debian 7 "Wheezy"
    deb http://http.debian.net/debian/ wheezy main contrib non-free
  2. Update the list of available packages:

    # apt-get update
  3. Install the firmware-linux-nonfree, libgl1-mesa-dri and xserver-xorg-video-ati packages:

    # apt-get install firmware-linux-nonfree libgl1-mesa-dri xserver-xorg-video-ati
  4. Restart your system to load GPU device firmware.

Troubleshooting

Use of firmware/microcode used by the radeon DRM driver can be verified using the dmesg command. For example:

  • $ dmesg | grep -E 'drm|radeon' | grep -iE 'firmware|microcode'
    [    3.685235] [drm] Loading BARTS Microcode
    [    3.768988] platform radeon_cp.0: firmware: agent loaded radeon/BARTS_pfp.bin into memory
    [    3.861487] platform radeon_cp.0: firmware: agent loaded radeon/BARTS_me.bin into memory
    [    3.929626] platform radeon_cp.0: firmware: agent loaded radeon/BTC_rlc.bin into memory
    [    4.442259] platform radeon_cp.0: firmware: agent loaded radeon/BARTS_mc.bin into memory

If files were unable to be loaded, ensure the firmware-linux-nonfree package is installed (refer to Installation).

Configuration

In most cases, manual configuration for the open source display drivers is not required, as the Xorg X server automatically detects and configures available hardware.


The following optional configuration can be used to increase 3D performance. See the xorg.conf(5) and radeon(4) manual pages for more information.

  • Section "Device"
     Driver "radeon"
     ...
     Option "AccelMethod" "XAA"
     # XAA/EXA
     Option "AccelDFS"    "1"
     # 1/0 On for PCIE, off for AGP
     # Manpage: Use  or  don't  use accelerated EXA DownloadFromScreen hook
     # when possible.
     Option "AGPMode" "1"
     # 1-8 Does not affect PCIE models.
     Option "AGPFastWrite" "1"
     # 1/0 Does not affect PCIE models. Not recommended.
     Option "GARTSize" "64"
     # 0-64 Megabytes of gart (system) memory used.
     # Wrongly defaults to 8MB sometimes, see your logfile.
     # Bigger seems better.
     Option "EnablePageFlip" "1"
     # 1/0 Increases 3D performance substantially
     # seemingly in XAA mode only
     Option "ColorTiling" "1"
     # 1/0 Increases 3D performance substantially
     # affected stability only positively on my system
    EndSection

See Also