Radeon acceleration on Debian

From code/src wiki

Here's some concise notes on getting 3d acceleration working on southern-islands AMD Radeon hardware using the free radeon driver under Debian.

3d acceleration requires:

  1. A working kernel
    1. Use a stable 3.15 kernel.
    2. Versions before 3.15.0, including release candidates, are not stable
    3. 3.16-RC* are currently unstable. See [1]
  2. GLAMOR support for the xserver.
  3. GLAMOR support built into the radeon driver, and
  4. Gallium3D support added to the MESA libraries.

GLAMOR enabled xserver

Xorg 1.6.0 will include the GLAMOR library, and is available with the version 1.15.999 in the Debian experimental repositories.

  1. Add the Debian experimental repository to your /etc/apt/sources.list file.
sudo apt-get install -t experimental xserver-xorg-core xserver-xorg-dev
sudo apt-get source -t experimental --compile xserver-xorg-input-evdev
  1. Install the built xserver-xorg-input-evdev package.
  2. Add Load "glamoregl" to /etc/X11/xorg.conf in the Module section
  3. Add Option "AccelMethod" "glamor" to /etc/X11/xorg.conf in the Device section

GLAMOR enabled driver

GLAMOR is disabled in the Debian xserver-xorg-video-radeon package (as at 7.4.0-1), so we need to modify the source and build it.

apt-get source -t experimental xserver-xorg-video-radeon

In xserver-xorg-video-ati-7.4.0/debian/rules change --disable-glamor to --enable-glamor

sudo dpkg -i xserver-xorg-video-radeon_7.4.0-1_amd64.deb

Rebuild MESA

apt-get source -t experimental libgl1-mesa-dri

Change mesa-10.2.1/debian/rules to add the following to the end of confflags-dri

    --enable-xvmc \
    --enable-gbm \
    --enable-vdpau \
   --enable-gallium-egl \
   --enable-gallium-gbm \
   --with-llvm-shared-libs \

Add under # Copy the hardlinked *_dri.so correctly. in the binary-arch target just before the dh_install -s --fail-missing line:

    mv debian/tmp/dri/usr/lib/${DEB_HOST_MULTIARCH}/libXvMCr600.so* \

sudo dpkg -i libegl1-mesa_10.2.1-2_amd64.deb libegl1-mesa-dev_10.2.1-2_amd64.deb libegl1-mesa-drivers_10.2.1-2_amd64.deb libgbm1_10.2.1-2_amd64.deb libgbm-dev_10.2.1-2_amd64.deb libgl1-mesa-dev_10.2.1-2_amd64.deb libgl1-mesa-dri_10.2.1-2_amd64.deb libgl1-mesa-glx_10.2.1-2_amd64.deb libglapi-mesa_10.2.1-2_amd64.deb libgles1-mesa_10.2.1-2_amd64.deb libgles1-mesa-dev_10.2.1-2_amd64.deb libgles2-mesa_10.2.1-2_amd64.deb libgles2-mesa-dev_10.2.1-2_amd64.deb libopenvg1-mesa_10.2.1-2_amd64.deb libopenvg1-mesa-dev_10.2.1-2_amd64.deb libosmesa6_10.2.1-2_amd64.deb libosmesa6-dev_10.2.1-2_amd64.deb libwayland-egl1-mesa_10.2.1-2_amd64.deb libxatracker2_10.2.1-2_amd64.deb libxatracker-dev_10.2.1-2_amd64.deb mesa-common-dev_10.2.1-2_amd64.deb  mesa-vdpau-drivers_10.2.1-2_amd64.deb