Difference between revisions of "R300"
(→Status: - dramatic improvement with 2.6.23) |
(→Status) |
||
Line 1: | Line 1: | ||
== Status == | == Status == | ||
− | The latest | + | The latest release version as found in kernel 2.6.23 provides good performance and is extremely stable. Of note, while the 3D performance is still not quite as good as the proprietary ATI kernel, this open-source version provides composite (alpha-channel) support allowing use of a modern 3D desktop with Beryl. |
Of note, this R300 driver has made rapid improvement with ATI's continued release of driver specifications. | Of note, this R300 driver has made rapid improvement with ATI's continued release of driver specifications. |
Revision as of 07:58, 10 October 2007
Contents
Status
The latest release version as found in kernel 2.6.23 provides good performance and is extremely stable. Of note, while the 3D performance is still not quite as good as the proprietary ATI kernel, this open-source version provides composite (alpha-channel) support allowing use of a modern 3D desktop with Beryl.
Of note, this R300 driver has made rapid improvement with ATI's continued release of driver specifications.
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
- 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
- Fedora 5
The development repository has a stable implementation. To install do
- yum --enablerepo=development update 'xorg*' 'libX*'
Experimental stand-alone installation
If you want to test the latest r300 driver and X server without touching your main X tree, see How to compile an experimental X server.
Performance
With 2.6.14-rc1 + Mesa 6.3.2, glxgears (the dubious 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.
glxgear output:
9607 frames in 5.0 seconds = 1921.285 FPS 9574 frames in 5.0 seconds = 1914.716 FPS 9510 frames in 5.0 seconds = 1901.832 FPS 9643 frames in 5.0 seconds = 1928.568 FPS 9676 frames in 5.0 seconds = 1934.910 FPS 9553 frames in 5.0 seconds = 1910.021 FPS
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
- R300 Portal on the DRI Wiki - benchmarks, sample configs and other tips
- The original R300 development page
- Mesa 3D graphics library
- Rough changelog for X.Org 6.9
ThinkPads that may be supported
Supported chips, as found in select IBM ThinkPads (please add your own ones!):