nvidia-glx graphics very slow
I'm trying to use the Debian packaged nvidia driver on a TNT2 Model 64 card.
Alas, glxgears (and all the other GL applications) run very slowly.
Testing the frame rate with glxgears shows this:
$ glxgears
196 frames in 5.0 seconds = 39.200 FPS
3 frames in 5.0 seconds = 0.600 FPS
4 frames in 6.0 seconds = 0.667 FPS
3 frames in 5.0 seconds = 0.600 FPS
(The first line is printed before I enlarge the glxgears window to cover
most of the screen.)
lspci -v lists the card as:
00:0e.0 VGA compatible controller: nVidia Corporation NV5M64 [RIVA TNT2
Model 64/Model 64 Pro] (rev 15) (prog-if 00 [VGA])
Subsystem: nVidia Corporation: Unknown device 0006
Flags: bus master, 66Mhz, medium devsel, latency 248, IRQ 9
Memory at fa000000 (32-bit, non-prefetchable) [size=16M]
Memory at f4000000 (32-bit, prefetchable) [size=32M]
Expansion ROM at 80000000 [disabled] [size=64K]
Capabilities: [60] Power Management version 1
I am using the stock debian kernel:
kernel-image-2.4.22-1-686 version 2.4.22-3
kernel-headers-2.4.22-1-686 version 2.4.22-3
and these nvidia packages:
nvidia-glx version 1.0.4496-10
nvidia-kernel-common version 1.0.4496-7
nvidia-kernel-source version 1.0.4496-10
I followed the instructions in Method 1 of
/usr/share/doc/nvidia-kernel-source/README.Debian
to build and install the package
nvidia-kernel-2.4.22-1-686 version 1.0.4496-10
I have checked that the nVidia dynamic libraries are being used:
$ ldd /usr/X11R6/bin/glxgears
libGL.so.1 => /usr/lib/libGL.so.1 (0x40018000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40089000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40097000)
libpthread.so.0 => /lib/libpthread.so.0 (0x4015e000)
libm.so.6 => /lib/libm.so.6 (0x401af000)
libc.so.6 => /lib/libc.so.6 (0x401d1000)
libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x40303000)
libdl.so.2 => /lib/libdl.so.2 (0x407db000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
$ ls -l /usr/lib/libGL.so.1
lrwxrwxrwx 1 root root 17 Jan 12 16:53 /usr/lib/libGL.so.1
-> libGL.so.1.0.4496
$ ls -l /usr/lib/libGLcore.so.1
lrwxrwxrwx 1 root root 21 Jan 12 16:53
/usr/lib/libGLcore.so.1 -> libGLcore.so.1.0.4496
(The 4496 suffix shows that these are the nVidia versions of these
libraries.)
Output of glxinfo is as follows:
$ glxinfo
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
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_SGIX_swap_group, GLX_SGIX_swap_barrier, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_NV_float_buffer
GLX extensions:
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_ARB_get_proc_address
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: RIVA TNT2/PCI/SSE
OpenGL version string: 1.4.0 NVIDIA 44.96
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_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_add,
GL_EXT_texture_env_combine, GL_EXT_texture_lod_bias,
GL_EXT_texture_object, GL_EXT_vertex_array,
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
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 24 tc 0 32 0 r y . 8 8 8 0 0 24 8 16 16 16 16 0 0 None
0x22 24 dc 0 32 0 r y . 8 8 8 0 0 24 8 16 16 16 16 0 0 None
0x23 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None
0x24 24 tc 0 32 0 r . . 8 8 8 0 0 24 8 16 16 16 16 0 0 None
0x25 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None
0x26 24 tc 0 32 0 r y . 8 8 8 0 0 0 0 16 16 16 16 0 0 None
0x27 24 tc 0 32 0 r y . 8 8 8 8 0 0 0 16 16 16 16 0 0 None
0x28 24 tc 0 32 0 r . . 8 8 8 0 0 0 0 16 16 16 16 0 0 None
0x29 24 tc 0 32 0 r . . 8 8 8 8 0 0 0 16 16 16 16 0 0 None
0x2a 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 None
0x2b 24 dc 0 32 0 r . . 8 8 8 0 0 24 8 16 16 16 16 0 0 None
0x2c 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 None
0x2d 24 dc 0 32 0 r y . 8 8 8 0 0 0 0 16 16 16 16 0 0 None
0x2e 24 dc 0 32 0 r y . 8 8 8 8 0 0 0 16 16 16 16 0 0 None
0x2f 24 dc 0 32 0 r . . 8 8 8 0 0 0 0 16 16 16 16 0 0 None
0x30 24 dc 0 32 0 r . . 8 8 8 8 0 0 0 16 16 16 16 0 0 None
My XF86Config-4 file is as follows:
# XF86Config-4 (XFree86 X server configuration file) generated by dexconf,
the
# Debian X Configuration tool, using values from the debconf database.
#
# Edit this file with caution, and see the XF86Config-4 manual page.
# (Type "man XF86Config-4" at the shell prompt.)
#
# This file is automatically updated on xserver-xfree86 package upgrades
*only*
# if it has not been modified since the last upgrade of the xserver-xfree86
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following commands as root:
#
# cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom
# md5sum /etc/X11/XF86Config-4 > /var/lib/xfree86/XF86Config-4.md5sum
# dpkg-reconfigure xserver-xfree86
Section "Files"
FontPath "unix/:7101" # local font server
FontPath "unix/:7100" # local font server
# if the local font server has problems, we can fall back on these
FontPath "/usr/lib/X11/fonts/Type1"
FontPath "/usr/lib/X11/fonts/CID"
FontPath "/usr/lib/X11/fonts/Speedo"
FontPath "/usr/lib/X11/fonts/misc"
FontPath "/usr/lib/X11/fonts/cyrillic"
FontPath "/usr/lib/X11/fonts/100dpi"
FontPath "/usr/lib/X11/fonts/75dpi"
EndSection
Section "Module"
# Load "bitmap"
Load "dbe"
# Load "ddc"
Load "extmod"
Load "freetype"
Load "glx"
# Load "int10"
Load "record"
# Load "speedo"
Load "type1"
# Load "vbe"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" "gb"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/psaux"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Generic Mouse"
Driver "mouse"
Option "SendCoreEvents" "true"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
Section "Device"
Identifier "Generic Video Card"
Driver "nvidia"
BusID "PCI:0:14:0"
Option "Nologo" "false"
Option "NvAGP" "3"
EndSection
Section "Monitor"
Identifier "Generic Monitor"
HorizSync 30-121
VertRefresh 48-160
Option "DPMS"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Generic Video Card"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1600x1200" "1280x1024" "1152x864"
"1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1600x1200" "1280x1024" "1152x864"
"1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1600x1200" "1280x1024" "1152x864"
"1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1600x1200" "1280x1024" "1152x864"
"1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1600x1200" "1280x1024" "1152x864"
"1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1600x1200" "1280x1024" "1152x864"
"1024x768" "800x600" "640x480"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Generic Mouse"
EndSection
Section "DRI"
Mode 0666
EndSection
I'm totally stuck on making progress here, and it's all very slow.
Can anyone help? (I was going to submit a bug report against nvidia-glx,
but thought I should start here.)
cheers,
Simon
--
Registered Office: Roke Manor Research Ltd, Siemens House, Oldbury, Bracknell,
Berkshire. RG12 8FZ
The information contained in this e-mail and any attachments is confidential to
Roke Manor Research Ltd and must not be passed to any third party without
permission. This communication is for information only and shall not create or
change any contractual relationship.
Reply to: