Bug 27407

Summary: The new MESA degrades performance on RS690M and x1270 graphs chip.
Product: Mesa Reporter: dE <de.techno>
Component: Drivers/DRI/r300Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED WONTFIX QA Contact:
Severity: major    
Priority: medium CC: alvaro.aguirre, programmer11180
Version: 7.5   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description dE 2010-03-31 22:56:45 UTC
I don't exactly remember but I think the 6th version of mesa used to draw ~500 FPS in glxgears. With mesa 7.5, it's ~350 and 7.7 it has dropped to less than 200. Same for the latest development version of mesa (i'm using Gentoo and the latest development version is the one provided by the live ebuilds in the x11 overlay).

The direct render is in general very slow on this chip; 500 FPS is very less considering the performance of this chip.

x11-base/xorg-server
    Available versions:  {M}1.5.3-r6 1.6.5-r1 (~)1.7.6 {M}(~)9999[1]
{3dfx debug dmx hal input_devices_acecad input_devices_aiptek
input_devices_citron input_devices_elographics input_devices_evdev
input_devices_fpit input_devices_hyperpen input_devices_joystick
input_devices_keyboard input_devices_mouse input_devices_mutouch
input_devices_penmount input_devices_synaptics input_devices_tslib
input_devices_virtualbox input_devices_vmmouse input_devices_void
input_devices_wacom ipv6 kdrive minimal nptl sdl static-libs tslib
udev video_cards_apm video_cards_ark video_cards_ast video_cards_chips
video_cards_cirrus video_cards_dummy video_cards_epson
video_cards_fbdev video_cards_geode video_cards_glint video_cards_i128
video_cards_i740 video_cards_impact video_cards_intel
video_cards_mach64 video_cards_mga video_cards_neomagic
video_cards_newport video_cards_nv video_cards_nvidia video_cards_r128
video_cards_radeon video_cards_radeonhd video_cards_rendition
video_cards_s3 video_cards_s3virge video_cards_savage
video_cards_siliconmotion video_cards_sis video_cards_sisusb
video_cards_sunbw2 video_cards_suncg14 video_cards_suncg3
video_cards_suncg6 video_cards_sunffb video_cards_sunleo
video_cards_suntcx video_cards_tdfx video_cards_tga
video_cards_trident video_cards_tseng video_cards_v4l video_cards_vesa
video_cards_via video_cards_virtualbox video_cards_vmware
video_cards_voodoo video_cards_xgi xorg}

    Installed versions:  9999[1](08:37:32 03/27/10)(ipv6 nptl sdl
xorg -dmx -kdrive -minimal -static-libs -tslib -udev)
    Homepage:            http://xorg.freedesktop.org/
    Description:         X.Org X servers
[1] "x11" /usr/local/portage/layman/x11



media-libs/mesa
    Available versions:  7.5.2 (~)7.6.1 (~)7.7-r1 (~)7.7.1_rc1
(~)7.8_rc1 {M}(~)9999[1] {debug (+)gallium kernel_FreeBSD motif
(+)nptl pic selinux video_cards_intel video_cards_mach64
video_cards_mga video_cards_none video_cards_nouveau video_cards_r128
video_cards_radeon video_cards_radeonhd video_cards_s3virge
video_cards_savage video_cards_sis video_cards_sunffb video_cards_svga
video_cards_tdfx video_cards_trident video_cards_via (+)xcb}

    Installed versions:  9999[1](07:54:00 03/27/10)(gallium nptl
video_cards_radeon xcb -debug -kernel_FreeBSD -motif -pic -selinux
-video_cards_intel -video_cards_mach64 -video_cards_mga
-video_cards_none -video_cards_nouveau -video_cards_r128
-video_cards_radeonhd -video_cards_savage -video_cards_sis
-video_cards_svga -video_cards_tdfx -video_cards_via)
    Homepage:            http://mesa3d.sourceforge.net/
    Description:         OpenGL-like graphic library for Linux
[1] "x11" /usr/local/portage/layman/x11



x11-drivers/xf86-video-ati
    Available versions:  6.12.1-r1 6.12.5 (~)6.12.6 (~)6.12.192
{M}(~)9999[1] {debug}

    Installed versions:  9999[1](08:43:59 03/27/10)
    Homepage:            http://xorg.freedesktop.org/
    Description:         ATI video driver
[1] "x11" /usr/local/portage/layman/x11

i.e the latest development version.

DRI is enabled -

glxinfo|grep render
direct rendering: Yes
OpenGL renderer string: Mesa DRI R300 (RS690 791F) 20090101  NO-TCL

xorg logs -

http://pastebin.com/05E4qn9X

dmesg -
Comment 1 Alvaro Aguirre 2010-06-16 09:48:12 UTC
Same problem here.
Comment 2 John Bridgman 2010-08-30 07:36:03 UTC
Moving to DRI/R300 since the 690/X12xx uses a 4xx-series 3D core and so runs the r300 driver, not r600.

Development work has shifted from the "classic" r300 HW driver to the "R300g" Gallium3D-based driver - probably would be good to start testing that on your systems. The 300g driver includes an improved SW TCL implementation (using LLVM) and should generally be faster on your systems.
Comment 3 dE 2010-08-31 06:14:49 UTC
Where can I get this? r300g or 300g doesn't yield any search results in portage.
Comment 4 Nicolas Kaiser 2010-08-31 07:06:56 UTC
(In reply to comment #3)
> Where can I get this? r300g or 300g doesn't yield any search results in
> portage.

With x11 overlay, something like the below?

emerge eselect-mesa

eselect mesa list

Now you should see r300 classic and gallium, and be able to switch between them:

eselect mesa set r300 gallium
eselect mesa set r300 classic
Comment 5 dE 2010-09-01 01:48:03 UTC
Emerging layman....
Comment 6 Nicolas Kaiser 2010-09-01 02:00:51 UTC
(In reply to comment #5)
> Emerging layman....

You also need a recent version of mesa with gallium use flag.

But from your initial description it looks like you already have that use flag:
media-libs/mesa
    Installed versions:  9999 (..) (gallium (..))
Comment 7 dE 2010-09-01 02:03:38 UTC
No, actually I removed that after finding no difference, but I never used eselect to actually use the classic or gallium drivers.

Right now, I can't enable the gallium USE flag (it's surrounded by () and I don't know what it means).
Comment 8 dE 2010-09-02 09:15:18 UTC
Ok, I somehow compiled with gallium support, but the module mesa is missing in eselect.

Any more ways to use r300?
Comment 9 dE 2010-09-02 17:59:19 UTC
Done. No difference with KMS turned on or off.

eselect mesa list
i915 (Intel 915, 945)
i965 (Intel 965, G/Q3x, G/Q4x)
r300 (Radeon R300-R500)
  classic *                 
r600 (Radeon R600-R700)
  gallium *                 
sw (Software renderer)
  classic                   
  gallium *
Comment 10 Marek Olšák 2010-09-14 11:27:57 UTC
I guess you have to build Mesa from source (git) to get r300g.
Comment 11 dE 2010-09-14 20:07:53 UTC
Actually it's more of a kernel issue.

If I use the Gentoo kernel on Sabayon, the frame rates reduce to a fraction. Corresponding opposite results.
Comment 12 dE 2013-01-14 18:26:32 UTC
That ATI chip got burnt out, and nobody else's complaining.
Comment 13 David Heidelberg (okias) 2013-10-04 22:12:59 UTC
Performance of this card (and driver too) could be better.

Recomended configuration under Gentoo:
USE="gallium -classic llvm"
VIDEO_CARDS="radeon r300"

llvm can give you in some applications/games double framerate, so please use it.

And reminding, that glxgears isn't benchmark. Bigger value better, but doesnt measure real performance.

This is 3 years old bug, so closing as WONTFIX, if someone step up to improve performance, as owner of RS690, i'll be glad :)
Comment 14 Programmist11180 2013-11-23 17:01:51 UTC
Hello comrades.
I also have the same problem.
glxgears shows only 236 fps.


$ glxinfo
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4

client glx vendor string: Mesa Project and SGI
client glx version string: 1.4

GLX version: 1.4

OpenGL vendor string: X.Org R300 Project
OpenGL renderer string: Gallium 0.4 on ATI RS690
OpenGL version string: 2.1 Mesa 9.2.2
OpenGL shading language version string: 1.20

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.