I've seen many threads about nvidia and "low" glxgears performance. Yes, I know glxgears isn't really that reliable an indicator of performance, but...
I ran my Athlon 850 (Gigabyte m/b), 256MB ram with a Diamond Monster Fusion 16MB (voodoo banshee) for some time. After I installed the appropriate 3dfx dri packages from the second Slackware cd my glxgears performance jumped from 200 or so fps to about 1200 fps. Great...that was cool.
I replaced my banshee with a M64/VANTATV board...from what I gather it's a TNT2 board (32MB memory).
I downloaded and installed the nvidia drivers (NVIDIA-Linux-x86-1.0-5336-pkg1.run). I'm running a custom compiled 2.6.6 kernel. The nvidia installer said it couldn't find precompiled modules for me so it compiled them by itself. I don't recall getting any error messages.
I changed my XF86Config (as will be shown below). I get the nvidia splash screen when X starts. I made the nvidia-specified modifications to XF86Config.
glxgears now returns a whopping 85 fps. WOW...that's FAST! NOT!
One note....I remember *trying* to run Enemy Territory before (with my Banshee) and it ran pretty slowly (okay, it ran so slowly that it was pretty much useless).
Just for shits and giggles I tried ET again with my nvidia card installed. Whoa! The intro movie looks REALLY good...very nice...I was pleased that I thought that this was much better than before.
Since I've never played ET online (or at all) I joined a game to see how well it played. I had 800x600 (the "FAST" setting in video config) set and joined a couple of games. After being warned about shooting my own people (I couldn't tell who was who) I noticed that the frame rate in the game was pretty good. It was totally playable. Felt kind of like what Quake 1.09 might look/feel like at the same resolution in DOS.
Sooooo.....glxgears is lying? What the hell? All the threads I've seen about Nvidia and glxgears fps I see no resolution to the issue. The original posters seem to either give up or live with it.
Oh...and I d/l'ed and compiled SPECviewperf (7.1.1 I think it was). It ran so slow that I had to kill the process. The result files showed I was garnering about 0.5-0.8 fps mean in 3dsmax. I looked up the results database at
www.spec.org and the systems shown (which blow my machine out of the water as far as vid card and processors) were kicking about 10-30 fps in the same 3dsmax run. Given that the machines in that database ran processors on the order of about 3-4 times faster than my Athlon, and considering the chipset optimisations, FSB speed, mem speed, not to mention the fact that they were running fairly high-horsepower late-release vid cards I guess 0.5-0.8 is not too bad in my results.
Damn...I did it again...made this post so long and convoluted that I won't get any responses. I am "the thread killer."
Oh...thanks for any responses.
###############
Following is:
XF86Config (snipped)
glxinfo output
lspci output
output of "lsmod | grep vid"
###############
---XF86Config--- (snipped)
# **********************************************************************
# Module section -- this section is used to specify
# which dynamically loadable modules to load.
# **********************************************************************
#
Section "Module"
# This loads the DBE extension module.
Load "dbe" # Double buffer extension
# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
# SubSection "extmod"
# Option "omit xfree86-dga" # don't initialise the DGA extension
# EndSubSection
Load "extmod"
# This loads the Type1 and FreeType font modules
Load "type1"
Load "speedo"
Load "freetype"
# Load "xtt"
# This loads the GLX module
Load "glx"
# This loads the DRI module
# Load "dri"
EndSection
(snip)
# **********************************************************************
# Graphics device section
# **********************************************************************
# Any number of graphics device sections may be present
# Standard VGA Device:
Section "Device"
Identifier "Standard VGA"
VendorName "Unknown"
BoardName "Unknown"
# The chipset line is optional in most cases. It can be used to override
# the driver's chipset detection, and should not normally be specified.
# Chipset "generic"
# The Driver line must be present. When using run-time loadable driver
# modules, this line instructs the server to load the specified driver
# module. Even when not using loadable driver modules, this line
# indicates which driver should interpret the information in this section.
Driver "vga"
# The BusID line is used to specify which of possibly multiple devices
# this section is intended for. When this line isn't present, a device
# section can only match up with the primary video device. For PCI
# devices a line like the following could be used. This line should not
# normally be included unless there is more than one video device
# intalled.
# BusID "PCI:0:10:0"
# VideoRam 256
# Clocks 25.2 28.3
EndSection
# Device configured by xf86config:
Section "Device"
Identifier "Diamond Monster Fusion"
Driver "tdfx"
#VideoRam 16384
# Insert Clocks lines here if appropriate
Option "backingstore"
EndSection
Section "Device"
Identifier "NV AGP"
VendorName "nvidia"
Driver "nvidia"
VideoRam 32768
EndSection
# **********************************************************************
# Screen sections
# **********************************************************************
# Any number of screen sections may be present. Each describes
# the configuration of a single screen. A single specific screen section
# may be specified from the X server command line with the "-screen"
# option.
Section "Screen"
Identifier "Screen 1"
Device "NV AGP"
Monitor "Systemax19"
DefaultDepth 16
Subsection "Display"
Depth 8
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
EndSection
# **********************************************************************
# ServerLayout sections.
# **********************************************************************
# Any number of ServerLayout sections may be present. Each describes
# the way multiple screens are organised. A specific ServerLayout
# section may be specified from the X server command line with the
# "-layout" option. In the absence of this, the first section is used.
# When now ServerLayout section is present, the first Screen section
# is used alone.
Section "ServerLayout"
# The Identifier line must be present
Identifier "Simple Layout"
# Each Screen line specifies a Screen section name, and optionally
# the relative position of other screens. The four names after
# primary screen name are the screens to the top, bottom, left and right
# of the primary screen. In this example, screen 2 is located to the
# right of screen 1.
Screen "Screen 1"
# Each InputDevice line specifies an InputDevice section name and
# optionally some options to specify the way the device is to be
# used. Those options include "CorePointer", "CoreKeyboard" and
# "SendCoreEvents".
InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"
EndSection
# Section "DRI"
# Mode 0666
# EndSection
--------------end XF86Config
---------------begin 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
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_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_get_proc_address
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: RIVA TNT2/AGP/3DNOW!
OpenGL version string: 1.4.1 NVIDIA 53.36
OpenGL extensions:
GL_ARB_imaging, GL_ARB_multitexture, GL_ARB_point_parameters,
GL_ARB_texture_env_add, GL_ARB_texture_mirrored_repeat,
GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object, GL_ARB_window_pos,
GL_EXT_texture_env_add, GL_EXT_abgr, GL_EXT_bgra,
GL_EXT_compiled_vertex_array, GL_EXT_draw_range_elements,
GL_EXT_fog_coord, GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels,
GL_EXT_point_parameters, GL_EXT_rescale_normal, GL_EXT_secondary_color,
GL_EXT_separate_specular_color, GL_EXT_stencil_wrap,
GL_EXT_texture_edge_clamp, GL_EXT_texture_env_combine,
GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_vertex_array,
GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat,
GL_KTX_buffer_region, GL_NV_blend_square, GL_NV_fog_distance,
GL_NV_packed_depth_stencil, GL_NV_texgen_reflection,
GL_NV_texture_env_combine4, GL_SGIS_multitexture, GL_SUN_slice_accum
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
----------------------------------------------------------------------
0x21 16 tc 0 16 0 r y . 5 6 5 0 0 16 0 16 16 16 16 0 0 None
0x22 16 dc 0 16 0 r y . 5 6 5 0 0 16 0 16 16 16 16 0 0 None
0x23 16 tc 0 16 0 r . . 5 6 5 0 0 16 0 16 16 16 16 0 0 None
0x24 16 tc 0 16 0 r y . 5 6 5 0 0 0 0 16 16 16 16 0 0 None
0x25 16 tc 0 16 0 r . . 5 6 5 0 0 0 0 16 16 16 16 0 0 None
0x26 16 dc 0 16 0 r . . 5 6 5 0 0 16 0 16 16 16 16 0 0 None
0x27 16 dc 0 16 0 r y . 5 6 5 0 0 0 0 16 16 16 16 0 0 None
0x28 16 dc 0 16 0 r . . 5 6 5 0 0 0 0 16 16 16 16 0 0 None
-----------end glxinfo output
-----------begin lspci output
00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133] (rev 03)
00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP]
00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40)
00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C/VT8235 PIPC Bus Master IDE (rev 06)
00:07.2 USB Controller: VIA Technologies, Inc. VT6202 [USB 2.0 controller] (rev 16)
00:07.3 USB Controller: VIA Technologies, Inc. VT6202 [USB 2.0 controller] (rev 16)
00:07.4 SMBus: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 40)
00:09.0 Communication controller: ESS Technology ES2838/2839 SuperLink Modem (rev 01)
00:0c.0 Ethernet controller: National Semiconductor Corporation DP83815 (MacPhyter) Ethernet Controller
00:0f.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 07)
00:0f.1 Input device controller: Creative Labs SB Live! MIDI/Game Port (rev 07)
01:00.0 VGA compatible controller: nVidia Corporation NV5M64 [RIVA TNT2 Model 64/Model 64 Pro] (rev 15)
------------end lspci output
--------------begin output of "lsmod | grep vid"
bash-2.05b$ lsmod | grep vid
nvidia 2074696 12
bash-2.05b$
---------------------------end output of "lsmod | grep vid"