Difference between revisions of "R300"

From ThinkWiki
Jump to: navigation, search
(just noticed that the drm patch has entered mm)
(R300 drivers with DRI support)
 
(36 intermediate revisions by 19 users not shown)
Line 1: Line 1:
 +
== 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.
 +
 
== R300 drivers with DRI support ==
 
== 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. 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.
+
Look at [http://dri.freedesktop.org/wiki/R300 dri on freedesktop] since development of r300 has moved there.
 +
 
 +
In post-2.6.13 development kernels (and also 2.6.13-mm3), DRM support for the [http://r300.sourceforge.net/ R300] chips from ATI has been included. Together with a bleeding-edge version of [http://www.mesa3d.org/ 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 [http://www.x.org/ 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 ==
 
== Kernel configuration ==
Line 14: Line 19:
  
 
== Mesa ==
 
== 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.
+
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 {{path|/usr/X11R6/lib/modules/dri/r300_dri.so}}.
  
 
== X configuration ==
 
== X configuration ==
Line 24: Line 29:
 
   #    ...
 
   #    ...
 
   # EndSection
 
   # EndSection
 +
Note: In Xorg 7.0 you don't need to load GLCore manually anmore
  
 
My radeon configuration looks like this
 
My radeon configuration looks like this
Line 31: Line 37:
 
   #    BusID      "PCI:1:0:0"
 
   #    BusID      "PCI:1:0:0"
 
   #    ....
 
   #    ....
   #    Option      "AGPFastWrite"  "on"
+
   #    Option      "AGPFastWrite"  "off" # "on" freezes my laptop
 
   #    Option      "AGPMode"      "4" # this value depends on your hardware, this one is for a T41p
 
   #    Option      "AGPMode"      "4" # this value depends on your hardware, this one is for a T41p
 
   #    Option      "DynamicClocks" "on"
 
   #    Option      "DynamicClocks" "on"
Line 41: Line 47:
 
== Packages ==
 
== Packages ==
 
*{{Debian}} Packages: http://packages.debian.org/libgl1-mesa-dri
 
*{{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
 +
:Add the following two lines to {{path|/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 ==
 
== Useful links ==
 +
* [http://dri.freedesktop.org/wiki/R300_Portal R300 Portal on the DRI Wiki] - benchmarks, sample configs and other tips
 
* [http://r300.sourceforge.net The original R300 development page]
 
* [http://r300.sourceforge.net The original R300 development page]
 
* [http://www.mesa3d.org Mesa 3D graphics library]
 
* [http://www.mesa3d.org Mesa 3D graphics library]
 
* [http://wiki.x.org/wiki/ChangesSince68 Rough changelog for X.Org 6.9]
 
* [http://wiki.x.org/wiki/ChangesSince68 Rough changelog for X.Org 6.9]
  
== ThinkPads that may be supported ==
+
== Supported Video cards ==
Supported chips, as found in select IBM ThinkPads (please add your own ones!):
+
* [[ATI Mobility Radeon 9600]]
 
* [[ATI Mobility FireGL T2]]
 
* [[ATI Mobility FireGL T2]]
** {{T41p}}
+
* [[ATI Mobility Radeon X300]]
 +
* [[ATI Mobility FireGL M24 1T]]
 +
 
 +
== See also ==

Latest revision as of 22:12, 9 February 2009

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.

R300 drivers with DRI support

Look at dri on freedesktop since development of r300 has moved there.

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
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

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 links

Supported Video cards

See also