Note - these instructions were written while 6xx/7xx 3D support was under development. If you have reasonably up to date radeonhd (1.3.0 or higher), kernel (2.6.32 or higher) and mesa (7.7 or higher) you shouldn't need to follow any of the instructions on this page ;)

Radeon HD 2000 - HD 4000 series: Installing Experimental 3D Support

* This howto should be usable already, but still may have some issues depending on distro you use. You also should have installed needed devel packages. *

This guide is to instruct users to install experimental open source 3D support for Radeon HD 2000 - Radeon HD 4000 series (also known as R6xx/R7xx series). The instructions apply to both users of radeon (ati) and radeonhd X.org drivers.

* Note R6xx/R7xx mesa code from 6xx-rewrite branch has been merged to master. Don't use that branch anymore *

Upstream status

  • DRM support for 3D is available in kernel since 2.6.32
  • DRM in kernel 2.6.33 contains IRQ support
  • Mesa r600 driver was added in 7.6.1, however it it good idea to use 7.7 at least

How to build drm stuff

   git clone git://anongit.freedesktop.org/~agd5f/drm
   cd drm
   git checkout -t -b r6xx-r7xx-3d origin/r6xx-r7xx-3d
   ./autogen.sh --prefix=$(pkg-config --variable=prefix libdrm) --libdir=$(pkg-config --variable=libdir libdrm) --includedir=$(pkg-config --variable=includedir libdrm)
   make
   sudo make install
   cd linux-core
   make
   sudo make install

How to build Mesa

   git clone git://anongit.freedesktop.org/mesa/mesa
   cd mesa
   git checkout -t -b master origin/master
   ./autogen.sh --with-dri-drivers=swrast,r600 --libdir=$(pkg-config --variable=libdir dri) --includedir=$(pkg-config --variable=includedir dri) --disable-gallium --enable-debug
   make
   sudo make install

Troubleshooting

  • /usr/include/drm/radeon_cs.h:185: error: ‘RADEON_GEM_DOMAIN_VRAM’ undeclared (first use in this function)
       mv /usr/lib/pkgconfig/libdrm_radeon.pc /usr/lib/pkgconfig/libdrm_radeon.pc.copy
    mv /usr/lib64/pkgconfig/libdrm_radeon.pc /usr/lib64/pkgconfig/libdrm_radeon.pc.copy
    Of course only one of these commands is needed. After moving libdrm_radeon.pc remember to call autogen again
  • egl_tracker.h:134: error: expected specifier-qualifier-list before ‘drmModeModeInfoPtr’
    You really should disable gallium for now. See suggested Mesa's autogen.sh parameters.

3D application statuses

Check ?RadeonProgram for info about supported applications.