AMD/ATI Open Source Drivers (amdgpu, 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.
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 : Advanced Micro Devices, Inc. [AMD/ATI] Barts PRO [Radeon HD 6850] [1002:6739]
See HowToIdentifyADevice/PCI for more information.
Support for newer AMD graphics hardware is provided by the xserver-xorg-video-amdgpu package.
Support for older 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.
The amdgpu driver in Debian 9 "Stretch" supports newer AMD GPUs.
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-amd-graphics or 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, or do dual display.
The following procedure will install the open source display driver packages, DRI modules (for 3D acceleration) and driver firmware/microcode:
If you have previously used the non-free nvidia proprietary driver, then you need to uninstall it if you wish to use OpenGL accelerated graphics. The easiest way is to use the command:
# apt-get purge nvidia.Don't forget the "." dot after nvidia - This erases every package with "nvidia" in its name.
Add "contrib" and "non-free" components to /etc/apt/sources.list, for example:
# Debian 10 "Buster" deb http://deb.debian.org/debian buster main contrib non-free
Update the list of available packages:
# apt-get update
# apt-get install firmware-linux-nonfree libgl1-mesa-dri xserver-xorg-video-ati
- Restart your system to load GPU device firmware.
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' [ 5.268609] [drm] Loading BARTS Microcode [ 5.329862] radeon 0000:01:00.0: firmware: direct-loading firmware radeon/BARTS_pfp.bin [ 5.341300] radeon 0000:01:00.0: firmware: direct-loading firmware radeon/BARTS_me.bin [ 5.347745] radeon 0000:01:00.0: firmware: direct-loading firmware radeon/BTC_rlc.bin [ 5.347911] radeon 0000:01:00.0: firmware: direct-loading firmware radeon/BARTS_mc.bin [ 5.353336] radeon 0000:01:00.0: firmware: direct-loading firmware radeon/BARTS_smc.bin [ 5.369449] radeon 0000:01:00.0: firmware: direct-loading firmware radeon/SUMO_uvd.bin
Screen flickering with Adobe Flash: see FlashPlayer#flickering.
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.
Section "Device" Driver "radeon" Identifier "My GPU" 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
AMD ships hybrid graphics with Intel cards . Both the cards get turned on in turn overheating the computer and it also makes lot of noise.
Check if both the cards are getting listed :
$ xrandr --listproviders
The above listing should give both the names of the cards and the associated drivers. In order to have the Radeon card handle the graphic intensive process use:
$ xrandr --setprovideroffloadsink radeon Intel
You can test the settings with the command:
$ DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
Where the output should be AMD.
So using the option DRI_PRIME you could run 3D/games/movies which need extra graphic power.