# ATI Radeon Mobility 7500

## LinuxTechnologies

I'm getting 37 frames per second with glxgears. I've read that I should be able to get closer to 1000 frames per second with this card.

```
# lspci|grep Radeon

01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility M7 LW [Radeon Mobility 7500]
```

```
# glxinfo

name of display: :0.0

display: :0  screen: 0

direct rendering: No

server glx vendor string: SGI

server glx version string: 1.2

server glx extensions:

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context

client glx vendor string: SGI

client glx version string: 1.2

client glx extensions:

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context, 

    GLX_ARB_get_proc_address, GLX_ATI_pixel_format_float, 

    GLX_ATI_render_texture

GLX extensions:

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context

OpenGL vendor string: Mesa project: www.mesa3d.org

OpenGL renderer string: Mesa GLX Indirect

OpenGL version string: 1.3 Mesa 4.0.4

OpenGL extensions:

    GL_ARB_imaging, GL_ARB_multitexture, GL_ARB_texture_border_clamp, 

    GL_ARB_texture_cube_map, GL_ARB_texture_env_add, 

    GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3, 

    GL_ARB_transpose_matrix, GL_EXT_abgr, GL_EXT_blend_color, 

    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_texture_env_add, 

    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, 

    GL_EXT_texture_lod_bias

glu version: 1.3

glu extensions:

    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

0x23 24 tc  1 24  0 r  y  .  8  8  8  0  0 16  0  0  0  0  0  0 0 None

0x24 24 tc  1 24  0 r  y  .  8  8  8  0  0 16  8 16 16 16  0  0 0 None

0x25 24 tc  1 24  0 r  y  .  8  8  8  8  0 16  8 16 16 16 16  0 0 None

0x26 24 tc  1 24  0 r  .  .  8  8  8  8  0 16  8 16 16 16 16  0 0 None

0x27 24 dc  1 24  0 r  y  .  8  8  8  0  0 16  0  0  0  0  0  0 0 None

0x28 24 dc  1 24  0 r  y  .  8  8  8  0  0 16  8 16 16 16  0  0 0 None

0x29 24 dc  1 24  0 r  y  .  8  8  8  8  0 16  8 16 16 16 16  0 0 None

0x2a 24 dc  1 24  0 r  .  .  8  8  8  8  0 16  8 16 16 16 16  0 0 None
```

in XF86Config I have:

```
Driver "radeon"

Load "glx"

Load "dri"
```

I've merged xfree-glx and ati-driver, and run `opengl-update radeon`.

What would cause me to get such slow frame rates?

Thanks in anticipation.

----------

## gt231

37 FPS sounds slow, but 1000 FPS ? Mine is about 270 FPS and the only difference I can see from your conf is that I use 16-bit color depth.

```

$ lspci|grep Radeon

01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility M7 LW [Radeon Mobility 7500]

```

```

$ glxinfo

name of display: :0.0

display: :0  screen: 0

direct rendering: No

server glx vendor string: SGI

server glx version string: 1.2

server glx extensions:

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context

client glx vendor string: SGI

client glx version string: 1.2

client glx extensions:

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context

GLX extensions:

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context

OpenGL vendor string: Mesa project: www.mesa3d.org

OpenGL renderer string: Mesa GLX Indirect

OpenGL version string: 1.3 Mesa 4.0.4

OpenGL extensions:

    GL_ARB_imaging, GL_ARB_multitexture, GL_ARB_texture_border_clamp,

    GL_ARB_texture_cube_map, GL_ARB_texture_env_add,

    GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3,

    GL_ARB_transpose_matrix, GL_EXT_abgr, GL_EXT_blend_color,

    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_texture_env_add,

    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,

    GL_EXT_texture_lod_bias

glu version: 1.3

glu extensions:

    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

0x23 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None

0x24 16 tc  1 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16  0  0 0 None

0x25 16 tc  1 16  0 r  y  .  5  6  5  8  0 16  8 16 16 16 16  0 0 None

0x26 16 tc  1 16  0 r  .  .  5  6  5  8  0 16  8 16 16 16 16  0 0 None

0x27 16 dc  1 16  0 r  y  .  5  6  5  0  0 16  0  0  0  0  0  0 0 None

0x28 16 dc  1 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16  0  0 0 None

0x29 16 dc  1 16  0 r  y  .  5  6  5  8  0 16  8 16 16 16 16  0 0 None

0x2a 16 dc  1 16  0 r  .  .  5  6  5  8  0 16  8 16 16 16 16  0 0 None

```

```

$  glxgears

1214 frames in 5.0 seconds = 242.800 FPS

1440 frames in 5.0 seconds = 288.000 FPS

1360 frames in 5.0 seconds = 272.000 FPS

1440 frames in 5.0 seconds = 288.000 FPS

1360 frames in 5.0 seconds = 272.000 FPS

1360 frames in 5.0 seconds = 272.000 FPS

1440 frames in 5.0 seconds = 288.000 FPS

1360 frames in 5.0 seconds = 272.000 FPS

1440 frames in 5.0 seconds = 288.000 FPS

```

----------

## LinuxTechnologies

I read on the following post that someone got 1200fps using an identical card:

https://forums.gentoo.org/viewtopic.php?t=58524&highlight=1200+fps

When you post the output from glxgears, is that using the default size, or maximized? The figures I posted were maximized to 1024x768.

----------

## LinuxTechnologies

I notice also you have direct rendering disabled whereas the guy who was getting 1200fps had it enabled. Does anyone know how to enable this?

----------

## lordofthemoose

As far as I know, direct rendering *has* to be enabled to get proper performance. I am usually a debian user (just installed gentoo), and my radeon 7500 worked perfectly with X4.2. by perfectly, I mean I had around 800-900 fps *on the same computer* whereas here I only have 270fps. 

The problem seems to be with X 4.3. I get quite a few of "libGL.o failed" and so on.

I had a quick look in  XFree86's log, and there seems to be a drm module version conflict: we have a 1.1 when we need a >=1.3. So I guess the first step would be to get a drm modules >1.3.

----------

## LinuxTechnologies

Hi

Where do I need to get these DRM modules from? Let me know if you have any luck in getting this working.

Thanks.

----------

## lordofthemoose

Have you tried the following guide?

http://www.gentoo.org/doc/en/dri-howto.xml

I'm trying it right now, I'll tell you if it worked for me (I think it will, it seems to address exactly our problem)

----------

## lordofthemoose

It worked perfectly.

Remember to disable DRI in the kernel, compile the kernel, then emerge xfree-drm,

here:

env VIDEO_CARDS='radeon' emerge xfree-drm

It should build the module, add the module to your startup scripts.

Reboot, it should be fine.

----------

## LinuxTechnologies

Hi

Thanks for the link. Just followed the instructions. I now have agpgart and radeon as modules. radeon.o loads fine, however when I load agpgart I get the following:

```
# insmod agpgart

Using /lib/modules/2.4.20-gentoo-r5/kernel/drivers/char/agp/agpgart.o

/lib/modules/2.4.20-gentoo-r5/kernel/drivers/char/agp/agpgart.o: init_module: No such device

Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.

      You may find more information in syslog or the output from dmesg
```

Do you have these two as modules or agpgart compiled into the kernel? Also, you didn't mention ati-gatos. Is this required?

Thanks   :Smile: 

----------

## lordofthemoose

Hi

Sorry for answering so late, I went to bed then to work:-)

1. I compiled agpgart in the kernel, and did not compile the kernel's drm stuff

2. I built radeon as a module (just followed the dri guide)

Did you try compiling agpgart in the kernel?

As to ati-gatos, It seems we do not need it: I now have a whopping 1109 fps on glxgears!

----------

## lordofthemoose

Remember to load agpgart.o *before* radeon.o if you use it as a module.

----------

## LinuxTechnologies

OK, still having problems...

I've built the following into my kernel:

```
/dev/agpgart (AGP Support)

Intel 440LX/BX/GX and I815/I820/I830M/I830MP/I840/I845/I850...
```

...and removed...

```
Direct Rendering Manager (XFree86 DRI support)
```

I've built xfree-drm with radeon support, and radeon.o loads fine.

However, when I `startx` I get:

```
Using vt 7

modprobe: Can't locate module agpgart

[drm] failed to load kernel module "agpgart"
```

For some reason it seems to think I have agpgart as a module. Is this a problem, or just a warning?

I'm still getting ~200fps, and Direct rendering is still disabled.

Here's an extract from my XFree.log:

```
(II) RADEON(0): [drm] loaded kernel module for "radeon" driver

(II) RADEON(0): [drm] created "radeon" driver at busid "PCI:1:0:0"

(II) RADEON(0): [drm] added 8192 byte SAREA at 0xf28cf000

(II) RADEON(0): [drm] mapped SAREA 0xf28cf000 to 0x40013000

(II) RADEON(0): [drm] framebuffer handle = 0xe0000000

(II) RADEON(0): [drm] added 1 reserved context for kernel

(WW) RADEON(0): [agp] AGP not available

(II) RADEON(0): [drm] removed 1 reserved context for kernel

(II) RADEON(0): [drm] unmapping 8192 bytes of SAREA 0xf28cf000 at 0x40013000

(II) RADEON(0): Memory manager initialized to (0,0) (1024,8191)

(II) RADEON(0): Reserved area from (0,768) to (1024,770)

(II) RADEON(0): Largest offscreen area available: 1024 x 7421

(II) RADEON(0): Using XFree86 Acceleration Architecture (XAA)
```

I notice it's seeing the radeon as a PCI. Any ideas?

Thanks!  :Smile: 

----------

## LinuxTechnologies

I noticed that I was also missing the "MTRR (Memory Type Range Register) support" option as explained on the DRI HOWTO. This is now compiled into the kernel but I am still have problems.   :Confused: 

----------

## LinuxTechnologies

OK, bit more info... the 2.4 kernel doesn't support my AGP chipset. I'm currently upgrading my kernel to 2.6.

----------

## lordofthemoose

That's interesting! It might interest quite a few other people out there - I've noticed several people reporting the same problem.

What is your AGP chipset?

----------

## LinuxTechnologies

Hi

Sorry for the delay in replying.

```
# lspci|grep AGP

00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev 03
```

I'm now running the 2.6.0-test3 kernel with DRI support compiled in. I now get ~500 frames a second, which isn't brilliant, but it's better. Direct rendering is now reported as being enabled.

My next question...

Instead of compiling DRI support into the 2.6 kernel, I tried leaving it out then merging xfree-drm. However, this doesn't seem to be compatible with this kernel and gives (quite a few) errors.

Is there a fix or workaround to this?

Thanks

----------

## kronon

I got a ati radeon and have a fps of 7448 frames in 5.0 seconds = 1489.600 FPS

I use 2.5.* kernels now 2.6.* because they have a driver wich will run on xfree (2.4 gives error that the driver is to old if you use it with xfree 4.3.0 or later)

I use my kernel driver drm enabled agp enable chosen the right drm chip and the right type of 3d card (radeon)

I have every thing compiled in so no modules

The I use this config for my computer

#Opengl is voor iedereen

Section "dri"

	Mode 0666

EndSection

Section "Files"

RgbPath     "/usr/X11R6/lib/X11/rgb"

    FontPath    "/usr/X11R6/lib/X11/fonts/local/"

    FontPath    "/usr/X11R6/lib/X11/fonts/misc/"

    FontPath    "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"

    FontPath    "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"

    FontPath    "/usr/X11R6/lib/X11/fonts/Type1/"

    FontPath    "/usr/X11R6/lib/X11/fonts/CID/"

    FontPath    "/usr/X11R6/lib/X11/fonts/Speedo/"

    FontPath    "/usr/X11R6/lib/X11/fonts/75dpi/"

    FontPath    "/usr/X11R6/lib/X11/fonts/100dpi/"

EndSection

Section "Module"

Load	    "glx"

Load	    "dri"

Load	    "GLcore"

Load        "dbe"

# This loads the miscellaneous extensions module, and disables

# initialisation of the XFree86-DGA extension within that module.

    SubSection  "extmod"

        Option  "omit xfree86-dga"

    EndSubSection

    Load        "type1"

    Load        "freetype"

EndSection

#Server flags

Section "ServerFlags"

    Option      "blank time"    "2"     # 10 minutes

    Option      "standby time"  "2"

    Option      "suspend time"  "30"

    Option      "off time"      "60"

    Option	"StandbyTime"	"2"

EndSection

#Keyboard

Section "InputDevice"

    Identifier  "Keyboard1"

    Driver      "keyboard"

    Option      "AutoRepeat"    "500 5"

EndSection

#Muis

Section "InputDevice"

    Identifier  "Mouse1"

    Driver      "mouse"

    Option      "Protocol"      "PS/2"

    Option      "Device"        "/dev/mouse"

EndSection

Section "InputDevice"

	Identifier	"Mouse2"

	Driver		"mouse"

	Option		"Protocol"	"IMPS/2"

	Option 		"ZAxisMapping"	"4 5"

	Option		"Device"	"/dev/usbmouse"

EndSection

#De monitor(en)

Section "Monitor"

    Identifier  "Generic Monitor"

    HorizSync  30-64         # multisync

    VertRefresh        50-100        # multisync

EndSection

#3d kaard

Section "Device"

    Identifier  "Ati"

#    Driver	"vesa"

#    Driver	"ati"

#    Driver	"dri"

    Driver	"radeon"

#    Driver      "fglrx"

Option	"Accel"

Option 	"AGPMode"		"4"

Option  "Chipset"		"0x4c66"

#kan heeeeel soms problemen maken

Option	"AGPFastWrite"		"true"

Option	"EnablePageFlip"	"true"

EndSection

#venster

Section "Screen"

    Identifier  "Screen 1"

    Device      "Ati"

    Monitor     "Generic Monitor"

#Option	"Xinerama"	"false"

#Option  "ChipId 0x2302"

Option  "AGPMode"               "4"

#Option  "overlay"               "On"

    DefaultDepth 24

    SubSection "Display"

        Depth           24

        Modes           "1024x768"

        ViewPort        0 0

        Virtual         1024 768

    EndSubsection

EndSection

#koppeling

Section "ServerLayout"

    Identifier  "Main Layout"

    Screen      "Screen 1"

    InputDevice "Mouse2" "CorePointer"

    InputDevice	"Mouse1" "SendCoreEvents"

    InputDevice "Keyboard1" "CoreKeyboard"

EndSection

Most important are these peaces

Section "Device"

    Identifier  "Ati"

#    Driver	"vesa"

#    Driver	"ati"

#    Driver	"dri"

    Driver	"radeon"

#    Driver      "fglrx"

#You can also choose ati but it makes no difference as ati will load radeon

Option	"Accel"

Option 	"AGPMode"		"4"

#Option  "Chipset"		"0x4c66" #my chipset m9 (R250) Lf

#kan heeeeel soms problemen maken

#not needed could give errors -->

Option	"AGPFastWrite"		"true"

Option	"EnablePageFlip"	"true"

#<---

Section "Module"

Load	    "glx"

Load	    "dri"

Load	    "GLcore"

Load        "dbe"

 As you can see I've been testing some setings  :Wink:   But this works the best for me

glxinfo

display: :0  screen: 0

direct rendering: Yes

server glx vendor string: SGI

server glx version string: 1.2

server glx extensions:

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context

client glx vendor string: SGI

client glx version string: 1.2

client glx extensions:

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context, 

     GLX_NV_vertex_array_range, GLX_MESA_agp_offset

GLX extensions:

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context

OpenGL vendor string: Tungsten Graphics, Inc.

OpenGL renderer string: Mesa DRI R200 20020827 AGP 4x x86/MMX/3DNow!/SSE TCL

OpenGL version string: 1.2 Mesa 4.0.4

OpenGL extensions:

    GL_ARB_imaging, GL_ARB_multitexture, GL_ARB_texture_env_add, 

    GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3, 

    GL_ARB_transpose_matrix, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, 

    GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract, 

    GL_EXT_clip_volume_hint, GL_EXT_convolution, GL_EXT_compiled_vertex_array, 

    GL_EXT_histogram, GL_EXT_packed_pixels, GL_EXT_polygon_offset, 

    GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_stencil_wrap, 

    GL_EXT_texture3D, GL_EXT_texture_env_add, GL_EXT_texture_env_combine, 

    GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, 

    GL_EXT_texture_object, GL_EXT_texture_lod_bias, GL_EXT_vertex_array, 

    GL_IBM_rasterpos_clip, GL_MESA_pack_invert, GL_MESA_ycbcr_texture, 

    GL_MESA_window_pos, GL_NV_texgen_reflection, GL_NV_texture_rectangle, 

    GL_SGI_color_matrix, GL_SGI_color_table

glu version: 1.3

glu extensions:

    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

0x23 24 tc  0 24  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None

0x24 24 tc  0 24  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x25 24 tc  0 24  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow

0x26 24 tc  0 24  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x27 24 tc  0 24  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None

0x28 24 tc  0 24  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x29 24 tc  0 24  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow

0x2a 24 tc  0 24  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x2b 24 dc  0 24  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None

0x2c 24 dc  0 24  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x2d 24 dc  0 24  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow

0x2e 24 dc  0 24  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x2f 24 dc  0 24  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None

0x30 24 dc  0 24  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x31 24 dc  0 24  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow

0x32 24 dc  0 24  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

I hope this will help you to get 3d acceleration with a radeon card

----------

## LinuxTechnologies

Hi

Thanks for the extra information. I am now getting 706fps. Can you suggest any other reason why I can't get any higher than this?

Thanks   :Smile: 

----------

## kronon

Maybe you got a slow processor, bad litle memory or mtrr (kernel >  Processor type and features)isn't enabled. 

Btw. are you sure that you have enabled agp (in 4x mode) at your X11 setup?

----------

## LinuxTechnologies

Hi

MTRR is enabled in the kernel. This is a 1.3GHz Centrino processor with 768MB of DDR RAM. I also have 4x AGP in my config.

How do I find out what I should set "Chipset" to?

Thanks

----------

## kronon

I don't know if it helps but this is how you get the id.

bash# cat /sys/bus/pci/devices/0000\:01\:00.0/device

where 0000\:01\:00.0 is pci-bus nr.

----------

## kronon

I would take a log in /var/log/XFree86.0.log It can tell you what gets loaded and what not. Some time you get an error and so X may not be loading everything from 3d accecl. It can also be that X11 thinks you got a different video card (a much older one).

I hope this will help you on the way.

----------

## jammib

I don't know if this will help, but I too was experiencing poor performance with my Radeon 7500 mobility (in an IBM Thinkpad A31m).  

I was originally getting 600 ish frames per second, after changing the colour depth in XF86Config from 24 bpp to 16 bpp I started getting 1020 fps.  This decreased to 160 fps when I full screened glxgears.

HTH

----------

## Lycander

If you minimize the pop up window that draws the actual gears, or move another window over it, like the terminal, your FPS will increase. IMHO, this is not a reliable way to benchmark video cards nor your configurations.

On my iBook with the Radeon 7500 if I leave the gears window visible and at the default size I get 509 FPS. Hiding the window gives me well over 1000 FPS.

I noticed in the first post the person emerged xfree-drm then ati-drivers. You ought to just use one or the other and not both.

glxinfo from the terminal will tell you if dri (direct rendering) is on or not.

----------

