# GeForce - bad glx performance values

## $nuggl3s

Hi everbody.

I have a little performance problem with my GeForce FX 5200. I have configured nvidia and glx support as descriped in the nVidia Guide, but this seems to work at all and i don't know why. glxgears shows me a performace of about 500 FPS:

```

2464 frames in 5.0 seconds = 492.800 FPS

2703 frames in 5.0 seconds = 540.600 FPS

2720 frames in 5.0 seconds = 544.000 FPS

2705 frames in 5.0 seconds = 541.000 FPS

2746 frames in 5.0 seconds = 549.200 FPS

2711 frames in 5.0 seconds = 542.200 FPS

2678 frames in 5.0 seconds = 535.600 FPS

```

My sytem is a AMD 64 2800+, 1GB RAM. 

xorg.conf

```

Section "Device"

    Identifier                          "GeForce"

    Driver                              "nvidia"

    Option                              "AllowGLXWithComposite" "true"

    Option                              "AGPMode" "8"

    Option                              "AGPFastWrite" "True"

EndSection

```

glxinfo output

```

name of display: :0.0

display: :0  screen: 0

direct rendering: Yes

server glx vendor string: NVIDIA Corporation

server glx version string: 1.3

server glx extensions:

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig,

    GLX_SGIX_pbuffer, GLX_SGI_video_sync, GLX_SGI_swap_control,

    GLX_ARB_multisample, GLX_NV_float_buffer

client glx vendor string: NVIDIA Corporation

client glx version string: 1.3

client glx extensions:

    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info,

    GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_SGI_video_sync,

    GLX_NV_swap_group, GLX_NV_video_out, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,

    GLX_SGI_swap_control, GLX_NV_float_buffer

GLX extensions:

    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig,

    GLX_SGIX_pbuffer, GLX_SGI_video_sync, GLX_SGI_swap_control,

    GLX_ARB_multisample, GLX_NV_float_buffer, GLX_ARB_get_proc_address

OpenGL vendor string: NVIDIA Corporation

OpenGL renderer string: GeForce FX 5200/AGP/SSE2

OpenGL version string: 1.5.2 NVIDIA 66.29

OpenGL extensions:

    GL_ARB_depth_texture, GL_ARB_fragment_program,

    GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_imaging,

    GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query,

    GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_shadow,

    GL_ARB_shader_objects, GL_ARB_shading_language_100,

    GL_ARB_texture_border_clamp, GL_ARB_texture_compression,

    GL_ARB_texture_cube_map, GL_ARB_texture_env_add,

    GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3,

    GL_ARB_texture_mirrored_repeat, GL_ARB_texture_rectangle,

    GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object,

    GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos,

    GL_S3_s3tc, GL_EXT_texture_env_add, GL_EXT_abgr, GL_EXT_bgra,

    GL_EXT_blend_color, GL_EXT_blend_func_separate, GL_EXT_blend_minmax,

    GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array, GL_EXT_Cg_shader,

    GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays,

    GL_EXT_packed_pixels, GL_EXT_paletted_texture, GL_EXT_pixel_buffer_object,

    GL_EXT_point_parameters, GL_EXT_rescale_normal, GL_EXT_secondary_color,

    GL_EXT_separate_specular_color, GL_EXT_shadow_funcs,

    GL_EXT_shared_texture_palette, GL_EXT_stencil_two_side,

    GL_EXT_stencil_wrap, GL_EXT_texture3D, GL_EXT_texture_compression_s3tc,

    GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp,

    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,

    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod,

    GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_vertex_array,

    GL_HP_occlusion_test, GL_IBM_rasterpos_clip,

    GL_IBM_texture_mirrored_repeat, GL_KTX_buffer_region, GL_NV_blend_square,

    GL_NV_copy_depth_to_color, GL_NV_depth_clamp, GL_NV_fence,

    GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_program,

    GL_NV_fragment_program_option, GL_NV_half_float, GL_NV_light_max_exponent,

    GL_NV_multisample_filter_hint, GL_NV_occlusion_query,

    GL_NV_packed_depth_stencil, GL_NV_pixel_data_range, GL_NV_point_sprite,

    GL_NV_primitive_restart, GL_NV_register_combiners,

    GL_NV_register_combiners2, GL_NV_texgen_reflection,

    GL_NV_texture_compression_vtc, GL_NV_texture_env_combine4,

    GL_NV_texture_expand_normal, GL_NV_texture_rectangle,

    GL_NV_texture_shader, GL_NV_texture_shader2, GL_NV_texture_shader3,

    GL_NV_vertex_array_range, GL_NV_vertex_array_range2, GL_NV_vertex_program,

    GL_NV_vertex_program1_1, GL_NV_vertex_program2,

    GL_NV_vertex_program2_option, GL_SGIS_generate_mipmap,

    GL_SGIS_texture_lod, GL_SGIX_depth_texture, GL_SGIX_shadow,

    GL_SUN_slice_accum

glu version: 1.3

glu extensions:

    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

```

```

wega ~ # cat /proc/driver/nvidia/agp/card

Fast Writes:     Supported

SBA:             Supported

AGP Rates:       8x 4x

Registers:       0x1f000e1b:0x1f000302

```

```
wega ~ # cat /proc/driver/nvidia/agp/host-bridge

Host Bridge:     PCI device 1106:3188

Fast Writes:     Supported

SBA:             Supported

AGP Rates:       8x

Registers:       0x1f000a1a:0x00000b02

```

```

wega ~ # cat /proc/driver/nvidia/agp/status

Status:          Enabled

Driver:          AGPGART

AGP Rate:        8x

Fast Writes:     Disabled

SBA:             Enabled

```

Has somebody an idea what could cause this bad performance.

regards,

snuggl3s

----------

## evster

Are you loading the nvidia module?  What is the output of 

```
lsmod
```

----------

## cheater512

More importantly is X using the module?

If you've installed the nvidia kernel module change:

```
Driver      "nv"
```

 to:

```
Driver      "nvidia"
```

And make sure your loading the driver on startup.

----------

## $nuggl3s

re,

Yes I have installed the nvidia module

```

wega ~ # lsmod

Module                  Size  Used by

snd_pcm_oss            49632  0

snd_mixer_oss          16128  1 snd_pcm_oss

snd_via82xx            23936  4

snd_ac97_codec         84112  1 snd_via82xx

snd_pcm                85388  4 snd_pcm_oss,snd_via82xx,snd_ac97_codec

snd_timer              20360  1 snd_pcm

snd_page_alloc          8520  2 snd_via82xx,snd_pcm

snd_mpu401_uart         6400  1 snd_via82xx

snd_rawmidi            21984  1 snd_mpu401_uart

snd                    47848  15 snd_pcm_oss,snd_mixer_oss,snd_via82xx,snd_ac97_codec,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi

nvidia               4048636  12

amd64_agp              10540  1

agpgart                29476  2 nvidia,amd64_agp

```

And I'm allready using the nvidia driver under X, I hope. The following lines appear in my X logfile.

```

(II) NVIDIA X Driver  1.0-6629  Wed Nov  3 11:44:46 PST 2004

(II) NVIDIA Unified Driver for all NVIDIA GPUs

(II) Primary Device is: PCI 01:00:0

(--) Assigning device section with no busID to primary device

(--) Chipset NVIDIA GPU found

```

regards,

$nuggl3s

----------

## cheater512

Check for what I mentioned above in /etc/X11/xorg.conf

----------

## $nuggl3s

As I mentioned above, I'm using the nvidia driver in the xorg.conf

```

        Identifier  "Card0"

        Driver      "nvidia"

        VendorName  "nVidia Corporation"

        BoardName   "NV34 [GeForce FX 5200]"

        BusID       "PCI:1:0:0"

```

The NVidia Logo comes up when starting X.

----------

## $nuggl3s

Even Quake 3 runs with only about 10 FPS, which seems to be a little slow.  :Smile: 

Am I the onlyone with a problem like this? I have no idea where to search for the reason of this problem. 

Perhaps the card is damaged?

regards,

$nuggl3s

----------

## evster

Did you do all the steps listed in http://www.gentoo.org/doc/en/nvidia-guide.xml

Namely, do you have 

```
Load "glx"

#Load "dri"
```

 in the Modules section of you xorg.conf?

----------

## $nuggl3s

I have worked through the whole nvidia guide.

Here is my complete xorg config file

```

Section "ServerLayout"

        Identifier     "X.org Configured"

        Screen      0  "Screen0" 0 0

        InputDevice    "Mouse0" "CorePointer"

        InputDevice    "Keyboard0" "CoreKeyboard"

EndSection

Section "Files"

        RgbPath      "/usr/lib64/X11/rgb"

        ModulePath   "/usr/lib64/modules"

        FontPath     "/usr/share/fonts/misc/"

        FontPath     "/usr/share/fonts/TTF/"

        FontPath     "/usr/share/fonts/Type1/"

        FontPath     "/usr/share/fonts/CID/"

        FontPath     "/usr/share/fonts/75dpi/"

        FontPath     "/usr/share/fonts/100dpi/"

EndSection

Section "Module"

        Load  "glx"

        Load  "record"

        Load  "vnc"

        Load  "extmod"

        Load  "dbe"

#       Load  "dri"

        Load  "xtrap"

        Load  "freetype"

        Load  "type1"

EndSection

Section "InputDevice"

        Identifier  "Keyboard0"

        Driver      "kbd"

        Option                  "XkbModel" "pc102"

        Option                  "XkbLayout" "us"

EndSection

Section "InputDevice"

        Identifier  "Mouse0"

        Driver      "mouse"

        Option      "Protocol" "auto"

        Option                  "ZAxisMapping" "4 5"

        Option      "Device" "/dev/input/mice"

EndSection

Section "Monitor"

        Identifier   "Monitor0"

        VendorName   "Monitor Vendor"

        ModelName    "Monitor Model"

        Option                   "DPMS"

        HorizSync                27-105

        VertRefresh      50-160

EndSection

Section "Device"

        ### Available Driver options are:-

        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",

        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"

        ### [arg]: arg optional

        #Option     "DigitalVibrance"           # <i>

        #Option     "NoFlip"                    # [<bool>]

        #Option     "Dac8Bit"                   # [<bool>]

        #Option     "NoLogo"                    # [<bool>]

        #Option     "UBB"                       # [<bool>]

        #Option     "Stereo"                    # <i>

        #Option     "SWcursor"                  # [<bool>]

        #Option     "HWcursor"                  # [<bool>]

        #Option     "VideoKey"                  # <i>

        #Option     "NvAGP"                     # <i>

        #Option     "IgnoreEDID"                # [<bool>]

        #Option     "NoDDC"                     # [<bool>]

        #Option     "ConnectedMonitor"          # <str>

        #Option     "ConnectedMonitors"         # <str>

        #Option     "TVStandard"                # <str>

        #Option     "TVOutFormat"               # <str>

        #Option     "RenderAccel"               # [<bool>]

        #Option     "CursorShadow"              # [<bool>]

        #Option     "CursorShadowAlpha"         # <i>

        #Option     "CursorShadowXOffset"       # <i>

        #Option     "CursorShadowYOffset"       # <i>

        #Option     "UseEdidFreqs"              # [<bool>]

        #Option     "FlatPanelProperties"       # <str>

        #Option     "TwinView"                  # [<bool>]

        #Option     "TwinViewOrientation"       # <str>

        #Option     "SecondMonitorHorizSync"    # <str>

        #Option     "SecondMonitorVertRefresh"  # <str>

        #Option     "MetaModes"                 # <str>

        #Option     "UseInt10Module"            # [<bool>]

        #Option     "NoTwinViewXineramaInfo"    # [<bool>]

        #Option     "NoRenderExtension"         # [<bool>]

        #Option     "Overlay"                   # [<bool>]

        #Option     "CIOverlay"                 # [<bool>]

        #Option     "ForceEmulatedOverlay"      # [<bool>]

        #Option     "TransparentIndex"          # <i>

        #Option     "OverlayDefaultVisual"      # [<bool>]

        #Option     "NvEmulate"                 # <i>

        #Option     "NoBandWidthTest"           # [<bool>]

        #Option     "CustomEDID-CRT-0"          # <str>

        #Option     "CustomEDID-CRT-1"          # <str>

        #Option     "CustomEDID-DFP-0"          # <str>

        #Option     "CustomEDID-DFP-1"          # <str>

        #Option     "CustomEDID-TV-0"           # <str>

        #Option     "CustomEDID-TV-1"           # <str>

        #Option     "TVOverScan"                # <f>

        #Option     "IgnoreDisplayDevices"      # <str>

        #Option     "MultisampleCompatibility"  # [<bool>]

        #Option     "RegistryDwords"            # <str>

        #Option     "RegistryBinary"            # <str>

        #Option     "NoPowerConnectorCheck"     # [<bool>]

        #Option     "AllowDFPStereo"            # [<bool>]

        #Option     "XvMCUsesTextures"          # [<bool>]

        #Option     "HorizSync"                 # <str>

        #Option     "VertRefresh"               # <str>

        #Option     "AllowGLXWithComposite"     # [<bool>]

        Identifier  "Card0"

        Driver      "nvidia"

        VendorName  "nVidia Corporation"

        BoardName   "NV34 [GeForce FX 5200]"

        BusID       "PCI:1:0:0"

        Option                  "RenderAccel" "TRUE"

EndSection

Section "Screen"

        Identifier "Screen0"

        Device     "Card0"

        Monitor    "Monitor0"

        DefaultDepth 24

        SubSection "Display"

                Viewport   0 0

                Depth     1

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     4

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     8

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     15

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     16

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Modes           "1280x1024" "1152x864" "1024x768"

                Depth     24

        EndSubSection

EndSection

```

regards,

$nuggl3s

----------

## $nuggl3s

Also the right opengl Libraries are used. I really have no idea. This is frustating.

```

wega ~ # ldd `which glxgears`

        libGL.so.1 => /usr/lib64/opengl/nvidia/lib/libGL.so.1 (0x00002aaaaabc1000)

        libXext.so.6 => /usr/lib/libXext.so.6 (0x00002aaaaad55000)

        libX11.so.6 => /usr/lib/libX11.so.6 (0x00002aaaaae67000)

        libpthread.so.0 => /lib/libpthread.so.0 (0x00002aaaab048000)

        libm.so.6 => /lib/libm.so.6 (0x00002aaaab1dd000)

        libc.so.6 => /lib/libc.so.6 (0x00002aaaab364000)

        libGLcore.so.1 => /usr/lib64/opengl/nvidia/lib/libGLcore.so.1 (0x00002aaaab58a000)

        libnvidia-tls.so.1 => /usr/lib64/opengl/nvidia/lib/libnvidia-tls.so.1 (0x00002aaaabd08000)

        libdl.so.2 => /lib/libdl.so.2 (0x00002aaaabe0a000)

        /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)

```

----------

## evster

Wow, this is frustrating....

Have you updated your kernel recently?

----------

## $nuggl3s

Yes, but first after having this problem. I've tried some other things, with standby and powermanagement but I don't believe that this could be a problem

I'm using linux-2.6.12-gentoo-r9.

----------

## evster

Have you tried re-emerging the nvidia stuff??? It's a long shot but I think it might be worth it....

```
emerge -C nvidia-glx nvidia-kernel

emerge nvidia-glx
```

Worth a shot maybe....

----------

## $nuggl3s

Yes. Today I've updated the kernel and glx module. Sitched to the latest (1.07xxx) driver.

But this didn't slove the problem.

----------

## huh_dude

Not a great one myself but are you sure the Display Depth is at least 16?

----------

## lusken

I think my fx5200 became a lot faster after compiling the kernel with agpart. I get 1600 in glxgears now (while running several other apps).

btw: athlon 1.1ghz, 768mb ram

----------

## krinn

Try enable fastwrites in /etc/module.d/nvidia

on another note: aren't you asking too much for a cheap card ?

----------

## lusken

 *krinn wrote:*   

> Try enable fastwrites in /etc/module.d/nvidia
> 
> on another note: aren't you asking too much for a cheap card ?

 

No, he definately doesn't. He's getting much worse results than me. We have the same card, but he has a far better system than me (me: athlon-tbird-1100ghz, he:athlon64-2800+, and he has more ram than me.. )

----------

## jedsen

 *lusken wrote:*   

> I think my fx5200 became a lot faster after compiling the kernel with agpart. I get 1600 in glxgears now (while running several other apps).
> 
> btw: athlon 1.1ghz, 768mb ram

 

I've got a GeForce 3 Ti200, and I get 2200 frames (Athlon 900, 768MB RAM). Maybe there is something wrong with the drivers?

----------

## thedopefishlives

Do you have kernel AGPGART installed, or are you using the NVAGP?  I found out the hard way that my Geforce 6800 GT got worse performance than an FX 5500 when using NVAGP because it wouldn't switch the card into AGP 8x mode.  When I switched over to AGPGART, *boom* everything took off and I can actually play Half-life 2 and Quake 4  :Very Happy: 

----------

## Charletes

It seems that don't have this in your xorg.conf:

```
Load GLcore
```

in your "module" section.

Good luck.Last edited by Charletes on Sat Dec 17, 2005 11:23 am; edited 1 time in total

----------

## oggialli

 *jedsen wrote:*   

>  *lusken wrote:*   I think my fx5200 became a lot faster after compiling the kernel with agpart. I get 1600 in glxgears now (while running several other apps).
> 
> btw: athlon 1.1ghz, 768mb ram 
> 
> I've got a GeForce 3 Ti200, and I get 2200 frames (Athlon 900, 768MB RAM). Maybe there is something wrong with the drivers?

 

GF3Ti200 is actually a lot faster than a FX5200, but yes, you should get more like 1000-1500 than 500.

----------

## jedsen

 *oggialli wrote:*   

> GF3Ti200 is actually a lot faster than a FX5200, but yes, you should get more like 1000-1500 than 500.

 

D'oh! I just thought that becuase my card was so cheap (free, in fact), it must be crappy.

What does the GLcore xorg module do? Is it the same as glx?

----------

