R300
Contents
R300 drivers with DRI support
In post-2.6.13 development kernels (and also 2.6.13-mm3), DRM support for the R300 chips from ATI has been included. Together with a bleeding-edge version of Mesa (at least 6.3.2), this will allow 3D acceleration support for systems having a chip like this without the need for the ATI binary only driver (Fglrx). The latest beta releases of X.Org for 6.9/7.0 already have Mesa 6.3.2, but building the R300 DRI drivers is disabled by default.
Kernel configuration
You need to build AGP support with
# CONFIG_AGP=y # CONFIG_AGP_INTEL=y #for a ThinkPad T41p
and the Radeon DRM support with
# CONFIG_DRM=y # CONFIG_DRM_RADEON=y
Alternatively, can also build modules instead of including the code into the kernel. The modules will then be automatically loaded when X starts up.
If everything works well, the device /dev/dri/card0 should show up.
Mesa
If your distribution does not offer binary packages of the current Mesa development packages, you need to build them yourself. It might also be possible that the DRI driver is included in your X.Org packages, just look out for a file like /usr/X11R6/lib/modules/dri/r300_dri.so.
X configuration
You will need to load the dri and GLcore extensions with
# Section "Module" # ... # module "dri" # module "GLcore" # ... # EndSection
Note: In Xorg 7.0 you don't need to load GLCore manually anmore
My radeon configuration looks like this
# Section "Device" # Identifier "firegl" # Driver "radeon" # BusID "PCI:1:0:0" # .... # Option "AGPFastWrite" "off" # "on" freezes my laptop # Option "AGPMode" "4" # this value depends on your hardware, this one is for a T41p # Option "DynamicClocks" "on" # Option "ColorTiling" "on" # EndSection
X will silently ignore if DRI cannot be activated for your card, so you should check yor X logfile. Just search for DRI and/or DRM. Afterwards, you might want to do the usual glxinfo/glxgears magic.
Packages
- Debian Packages: http://packages.debian.org/libgl1-mesa-dri
- Gentoo:
- Emerge the latest Xorg (7.1). The opensource driver is in cvs since version 7.0
- Enable agp suuport in a kernel:
- Device Drivers --->
- Character devices --->
- <M> /dev/agpgart (AGP Support)
- <M> Intel 440LX/BX/GX, I8xx and E7x05 chipset support
- Character devices --->
- Device Drivers --->
- Add the following two lines to /etc/modules.autoload.d/kernel-2.6:
agpgart intel-agp
- or compile as a kernel.
- To enable 3D support, emerge latest x11-base/x11-drm
echo "x11-base/x11-drm" >> /etc/portage/package.keywords emerge x11-base/x11-drm
Performance
With 2.6.14-rc1 + Mesa 6.3.2, glxgears (the one and only Linux 3D benchmark) gives ~2200 FPS on my ThinkPad T41p with a FireGL Mobility T2 and a 1.7GHz Pentium M, 1GB RAM.
There is to note that the Color-depth has great effect on this value. on my R50p with 24Bit I get about 2k fps, with 16Bit i get about 1k-1.5k fps
With 2.6.15 + Mesa 6.3.2, glxgears gives ~1480 FPS on a ThinkPad T43 with a Radeon Mobility X300 and a 1.86GHz Pentium M, 512MB RAM, when AGPMode=8, EnablePageFlip=on, AGPFastWrite=on and RenderAccel=on. Adding AccelMethod=EXA reduces to 700 FPS but makes the Composite Extension be usable.
Troubleshooting
- Useful thread about two possible gotchas in Ubuntu Dapper: http://www.ubuntuforums.org/showthread.php?t=110008&page=5 (in short: mv /usr/X11R6/lib/modules/dri /usr/X11R6/lib/modules/dri.old;ln -s /usr/lib/dri /usr/X11R6/lib/modules/dri;apt-get remove --purge xorg-driver-fglrx)
Useful links
ThinkPads that may be supported
Supported chips, as found in select IBM ThinkPads (please add your own ones!):