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.