Nvidia 9500GT Graphic Card - slow games

I have:
openSUSE 11.2 (x86_64)
Linux 2.6.31.5-0.1-desktop x86_64
4.3.1 (KDE 4.3.1) “release 6”

Intel(R) Pentium(R) D CPU 3.00GHz 2 Cores
2 GB RAM
G96 [GeForce 9500 GT]

When I run a rather simple game like Warzone2100 or ufoai the games are slow.
When I run PlayOnLinux it alerts me, that 3D Accelerations is not present and advices to install and enable it.

But in SaX2 I see it enabled.

I installed the drivers from NVIDIA - openSUSE (http://opensuse-community.org/nvidia.ymp)

Some adviceresults from a correspondent topics:

# hwinfo --gfxcard
28: PCI 100.0: 0300 VGA compatible controller (VGA)             
  [Created at pci.318]                                          
  UDI: /org/freedesktop/Hal/devices/pci_10de_640                
  Unique ID: VCu0.gIx_XfvB7A9                                   
  Parent ID: vSkL.YblAxXDaX+A                                   
  SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.0       
  SysFS BusID: 0000:01:00.0                                     
  Hardware Class: graphics card                                 
  Model: "nVidia G96 [GeForce 9500 GT]"                         
  Vendor: pci 0x10de "nVidia Corporation"                       
  Device: pci 0x0640 "G96 [GeForce 9500 GT]"                    
  Revision: 0xa1                                                
  Driver: "nvidia"                                              
  Driver Modules: "nvidia"                                      
  Memory Range: 0x92000000-0x92ffffff (rw,non-prefetchable)     
  Memory Range: 0x80000000-0x8fffffff (rw,prefetchable)         
  Memory Range: 0x90000000-0x91ffffff (rw,non-prefetchable)     
  I/O Ports: 0x2000-0x2fff (rw)                                 
  IRQ: 16 (23529 events)                                        
  I/O Ports: 0x3c0-0x3df (rw)                                   
  Module Alias: "pci:v000010DEd00000640sv00000000sd00000000bc03sc00i00"
  Driver Info #0:                                                      
    Driver Status: nvidiafb is not active
    Driver Activation Cmd: "modprobe nvidiafb"
  Driver Info #1:
    Driver Status: nvidia is active
    Driver Activation Cmd: "modprobe nvidia"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #11 (PCI bridge)

Primary display adapter: #28

# glxgears

*** NOTE: Don't use glxgears as a benchmark.
    OpenGL implementations are not optimized for frame rates >> 60fps,
    thus these numbers are meaningless when compared between vendors.

26149 frames in 5.0 seconds = 5229.795 FPS
26276 frames in 5.0 seconds = 5255.118 FPS
26317 frames in 5.0 seconds = 5263.219 FPS
26332 frames in 5.0 seconds = 5266.285 FPS
26340 frames in 5.0 seconds = 5267.950 FPS
27050 frames in 5.0 seconds = 5409.951 FPS
44442 frames in 5.0 seconds = 8888.295 FPS
31624 frames in 5.0 seconds = 6324.800 FPS
44871 frames in 5.0 seconds = 8974.118 FPS
34426 frames in 5.0 seconds = 6882.938 FPS
23962 frames in 5.0 seconds = 4792.241 FPS
30563 frames in 5.0 seconds = 6112.471 FPS
29821 frames in 5.0 seconds = 5964.130 FPS
^C^

Shoud I wait here anything? I pressed ctrl+c after some time the gear was working.

# nvidia-xconfig

Using X configuration file: "/etc/X11/xorg.conf".
Backed up file '/etc/X11/xorg.conf' as '/etc/X11/xorg.conf.backup'
New X configuration file written to '/etc/X11/xorg.conf'

It looks good to me, shows driver as nvidia.

I have never used PlayOnLinux. I’m not sure I would rely on what it is telling you.

But the native linux games are slow. I just tell about PlayOnLinux message to let identify the problem.

glxgears looks OK to me

caf4926, maybe there is a benchmark or something like that to tell me if I have 3D acceleration?

The games are slow, but not as slow, as I saw some time before when there was no driver installed.

Post result of this

glxinfo | grep rendering

yes or no
which?

# glxinfo | grep rendering
direct rendering: Yes

There you have it

And your glxgears was good, so it’s OK

But what have I to do? For example warzone2100 with minimal settings is like a slide-show. I need a solution.

Can anybody help me?

Thanks.

You are running the windows version under wine then?
Rather than building from the source?

Maybe this will help.

When running I can see.

grep -Ei "ee|gl|nvidia" /var/log/Xorg.0.log 
Current Operating System: Linux 2.6.31.5-0.1-desktop #1 SMP PREEMPT 2009-10-26 15:49:03 +0100 x86_64
	  (WW) warning, (EE) error, (NI) not implemented, (??) unknown.						
(**) |-->Screen "Screen[0]" (0)												  
	  /usr/share/fonts/Speedo,												 
(II) "glx" will be loaded. This was enabled by default and also specified in the config file.		
(II) Loading extension MIT-SCREEN-SAVER											
(II) Loading extension XFree86-VidModeExtension									    
(II) Loading extension XFree86-DGA											     
(II) LoadModule: "glx"													     
(II) Loading /usr/lib64/xorg/modules//extensions/libglx.so							     
(II) Module glx: vendor="NVIDIA Corporation"										 
(II) NVIDIA GLX Module  190.53  Wed Dec  9 16:27:33 PST 2009							   
(II) Loading extension GLX													 
(II) Loading sub module "fglrxdrm"											     
(II) LoadModule: "fglrxdrm"													
(II) Loading /usr/lib64/xorg/modules/linux//libfglrxdrm.so							     
(II) Module fglrxdrm: vendor="FireGL - ATI Technologies Inc."							  
(II) Loading extension XFree86-DRI											     
(II) LoadModule: "nvidia"													  
(II) Loading /usr/lib64/xorg/modules//drivers/nvidia_drv.so							    
(II) Module nvidia: vendor="NVIDIA Corporation"									    
(II) NVIDIA dlloader X Driver  190.53  Wed Dec  9 15:39:50 PST 2009						  
(II) NVIDIA Unified Driver for all Supported NVIDIA GPUs								 
(**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32									  
(==) NVIDIA(0): RGB weight 888												   
(==) NVIDIA(0): Default visual is TrueColor										  
(==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)								   
(**) Jan 02 20:39:01 NVIDIA(0): Enabling RENDER acceleration							   
(II) Jan 02 20:39:01 NVIDIA(0): Support for GLX with the Damage and Composite X extensions is		
(II) Jan 02 20:39:01 NVIDIA(0):     enabled.										 
(II) Jan 02 20:39:02 NVIDIA(0): NVIDIA GPU GeForce 9500 GT (G96) at PCI:1:0:0 (GPU-0)			  
(--) Jan 02 20:39:02 NVIDIA(0): Memory: 1048576 kBytes								   
(--) Jan 02 20:39:02 NVIDIA(0): VideoBIOS: 62.94.36.00.00								
(II) Jan 02 20:39:02 NVIDIA(0): Detected PCI Express Link width: 4X						  
(--) Jan 02 20:39:02 NVIDIA(0): Interlaced video modes are supported on this GPU				 
(--) Jan 02 20:39:02 NVIDIA(0): Connected display device(s) on GeForce 9500 GT at PCI:1:0:0:		 
(--) Jan 02 20:39:02 NVIDIA(0):     BenQ G2220HD (CRT-1)								 
(--) Jan 02 20:39:02 NVIDIA(0): BenQ G2220HD (CRT-1): 400.0 MHz maximum pixel clock			    
(II) Jan 02 20:39:02 NVIDIA(0): Assigned Display Device: CRT-1							 
(WW) Jan 02 20:39:02 NVIDIA(0): No valid modes for "1600x1024"; removing.					  
(WW) Jan 02 20:39:02 NVIDIA(0): No valid modes for "1600x1000"; removing.					  
(WW) Jan 02 20:39:02 NVIDIA(0): No valid modes for "1440x900"; removing.					   
(WW) Jan 02 20:39:02 NVIDIA(0): No valid modes for "1366x768"; removing.					   
(WW) Jan 02 20:39:02 NVIDIA(0): No valid modes for "1360x768"; removing.					   
(WW) Jan 02 20:39:02 NVIDIA(0): No valid modes for "1280x800"; removing.					   
(WW) Jan 02 20:39:02 NVIDIA(0): No valid modes for "1280x768"; removing.					   
(WW) Jan 02 20:39:02 NVIDIA(0): No valid modes for "1280x600"; removing.					   
(WW) Jan 02 20:39:02 NVIDIA(0): No valid modes for "1024x600"; removing.					   
(WW) Jan 02 20:39:02 NVIDIA(0): No valid modes for "768x576"; removing.					    
(II) Jan 02 20:39:02 NVIDIA(0): Validated modes:									   
(II) Jan 02 20:39:02 NVIDIA(0):     "1920x1080"									    
(II) Jan 02 20:39:02 NVIDIA(0):     "1680x1050"									    
(II) Jan 02 20:39:02 NVIDIA(0):     "1400x1050"									    
(II) Jan 02 20:39:02 NVIDIA(0):     "1600x900"									     
(II) Jan 02 20:39:02 NVIDIA(0):     "1280x1024"									    
(II) Jan 02 20:39:02 NVIDIA(0):     "1280x960"									     
(II) Jan 02 20:39:02 NVIDIA(0):     "1152x864"									     
(II) Jan 02 20:39:02 NVIDIA(0):     "1280x720"									     
(II) Jan 02 20:39:02 NVIDIA(0):     "1024x768"									     
(II) Jan 02 20:39:02 NVIDIA(0):     "800x600"										
(II) Jan 02 20:39:02 NVIDIA(0):     "640x480"										
(II) Jan 02 20:39:02 NVIDIA(0): Virtual screen size determined to be 1920 x 1080				 
(--) Jan 02 20:39:02 NVIDIA(0): DPI set to (101, 101); computed from "UseEdidDpi" X config		   
(--) Jan 02 20:39:02 NVIDIA(0):     option										   
(==) Jan 02 20:39:02 NVIDIA(0): Enabling 32-bit ARGB GLX visuals.						    
(II) do I need RAC?  No, I don't.												
(II) Jan 02 20:39:02 NVIDIA(0): Initialized GPU GART.								    
(II) Jan 02 20:39:02 NVIDIA(0): Setting mode "1920x1080"
(II) Loading extension NV-GLX
(II) Jan 02 20:39:02 NVIDIA(0): Initialized OpenGL Acceleration
(==) NVIDIA(0): Disabling shared memory pixmaps
(II) Jan 02 20:39:02 NVIDIA(0): Initialized X Rendering Acceleration
(==) NVIDIA(0): Backing store disabled
(==) NVIDIA(0): Silken mouse enabled
(**) NVIDIA(0): DPMS enabled
(WW) NVIDIA(0): Option "CalcAlgorithm" is not used
(WW) NVIDIA(0): Option "PreferredMode" is not used
(II) Initializing extension GLX
(II) config/hal: Adding input device ImPS/2 Logitech Wheel Mouse
(**) ImPS/2 Logitech Wheel Mouse: always reports core events
(**) ImPS/2 Logitech Wheel Mouse: Device: "/dev/input/event1"
(II) ImPS/2 Logitech Wheel Mouse: Found 3 mouse buttons
(II) ImPS/2 Logitech Wheel Mouse: Found x and y relative axes
(II) ImPS/2 Logitech Wheel Mouse: Found scroll wheel(s)
(II) ImPS/2 Logitech Wheel Mouse: Configuring as mouse
(**) ImPS/2 Logitech Wheel Mouse: YAxisMapping: buttons 4 and 5
(**) ImPS/2 Logitech Wheel Mouse: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(II) XINPUT: Adding extended input device "ImPS/2 Logitech Wheel Mouse" (type: MOUSE)
(**) ImPS/2 Logitech Wheel Mouse: (accel) keeping acceleration scheme 1
(**) ImPS/2 Logitech Wheel Mouse: (accel) filter chain progression: 2.00
(**) ImPS/2 Logitech Wheel Mouse: (accel) filter stage 0: 20.00 ms
(**) ImPS/2 Logitech Wheel Mouse: (accel) set acceleration profile 0
(II) ImPS/2 Logitech Wheel Mouse: initialized for relative axes.
(II) XKB: reuse xkmfile /var/lib/xkb/compiled/server-D378AD8F86E560F712A83EE36E4E5E92C595B9BD.xkm
(II) config/hal: Adding input device Sleep Button
(**) Sleep Button: always reports core events
(**) Sleep Button: Device: "/dev/input/event3"
(II) Sleep Button: Found keys
(II) Sleep Button: Configuring as keyboard
(II) XINPUT: Adding extended input device "Sleep Button" (type: KEYBOARD)
(II) XKB: reuse xkmfile /var/lib/xkb/compiled/server-D378AD8F86E560F712A83EE36E4E5E92C595B9BD.xkm
(II) XKB: reuse xkmfile /var/lib/xkb/compiled/server-D378AD8F86E560F712A83EE36E4E5E92C595B9BD.xkm

There we can see:

(II) NVIDIA GLX Module  190.53  Wed Dec  9 16:27:33 PST 2009							   
(II) Loading extension GLX													 
(II) Loading sub module "fglrxdrm"											     
(II) LoadModule: "fglrxdrm"													
(II) Loading /usr/lib64/xorg/modules/linux//libfglrxdrm.so							     
(II) Module fglrxdrm: vendor="FireGL - ATI Technologies Inc."							  
(II) Loading extension XFree86-DRI							

I was using and ATI card in the past and made many manipulations when trying to make it work correctly. Maybe this is the reason and the heritage of that ATI card.

I was told to comment everythyng about fglrx in /etc/X11/xorg.conf but there is nothing about it there:


# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 1.0  (buildmeister@builder58)  Wed Dec  9 16:34:26 PST 2009

# /.../
# SaX generated X11 config file
# Created on: 2010-01-02T20:06:29+0200.
#
# Version: 8.1
# Contact: Marcus Schaefer <sax@suse.de>, 2005
# Contact: SaX-User list <https://lists.berlios.de/mailman/listinfo/sax-users>
#
# Automatically generated by [ISaX] (8.1)
# PLEASE DO NOT EDIT THIS FILE!
#

Section "ServerLayout"
    Identifier     "Layout[all]"
    Screen         "Screen[0]" 0 0
    InputDevice    "Keyboard[0]" "CoreKeyboard"
    InputDevice    "Mouse[1]" "CorePointer"
    Option         "Clone" "off"
    Option         "Xinerama" "off"
EndSection

Section "Files"
    InputDevices      "/dev/gpmdata"
    InputDevices      "/dev/input/mice"
    FontPath        "/usr/share/fonts/misc:unscaled"
    FontPath        "/usr/share/fonts/local"
    FontPath        "/usr/share/fonts/75dpi:unscaled"
    FontPath        "/usr/share/fonts/100dpi:unscaled"
    FontPath        "/usr/share/fonts/Type1"
    FontPath        "/usr/share/fonts/URW"
    FontPath        "/usr/share/fonts/Speedo"
    FontPath        "/usr/share/fonts/PEX"
    FontPath        "/usr/share/fonts/cyrillic"
    FontPath        "/usr/share/fonts/latin2/misc:unscaled"
    FontPath        "/usr/share/fonts/latin2/75dpi:unscaled"
    FontPath        "/usr/share/fonts/latin2/100dpi:unscaled"
    FontPath        "/usr/share/fonts/latin2/Type1"
    FontPath        "/usr/share/fonts/latin7/75dpi:unscaled"
    FontPath        "/usr/share/fonts/baekmuk:unscaled"
    FontPath        "/usr/share/fonts/japanese:unscaled"
    FontPath        "/usr/share/fonts/kwintv"
    FontPath        "/usr/share/fonts/truetype"
    FontPath        "/usr/share/fonts/uni:unscaled"
    FontPath        "/usr/share/fonts/CID"
    FontPath        "/usr/share/fonts/ucs/misc:unscaled"
    FontPath        "/usr/share/fonts/ucs/75dpi:unscaled"
    FontPath        "/usr/share/fonts/ucs/100dpi:unscaled"
    FontPath        "/usr/share/fonts/hellas/misc:unscaled"
    FontPath        "/usr/share/fonts/hellas/75dpi:unscaled"
    FontPath        "/usr/share/fonts/hellas/100dpi:unscaled"
    FontPath        "/usr/share/fonts/hellas/Type1"
    FontPath        "/usr/share/fonts/misc/sgi:unscaled"
    FontPath        "/usr/share/fonts/xtest"
    FontPath        "/opt/kde3/share/fonts"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "glx"
EndSection

Section "ServerFlags"
    Option         "AllowMouseOpenFail" "on"
    Option         "ZapWarning" "on"
EndSection

Section "InputDevice"

  # Driver "kbd" will be disabled unless 'Option "AutoAddDevices" "off"' 
  # is set in "ServerFlags" section. 
    Identifier     "Keyboard[0]"
    Driver         "kbd"
    Option         "Protocol" "Standard"
    Option         "XkbLayout" "us"
    Option         "XkbModel" "microsoftpro"
    Option         "XkbRules" "xfree86"
EndSection

Section "InputDevice"

  # Driver "mouse" will be disabled unless 'Option "AutoAddDevices" "off"' 
  # is set in "ServerFlags" section. 
    Identifier     "Mouse[1]"
    Driver         "mouse"
    Option         "Buttons" "5"
    Option         "Device" "/dev/input/mice"
    Option         "Name" "ImPS/2 Logitech Wheel Mouse"
    Option         "Protocol" "explorerps/2"
    Option         "Vendor" "Sysp"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "Modes"
    Identifier         "Modes[0]"
    ModeLine     "1920x1080" 148 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
EndSection

Section "Monitor"
    Identifier     "Monitor[0]"
    VendorName     "BNQ"
    ModelName      "BENQ G2220HD"
    UseModes       "Modes[0]"
    DisplaySize     477    268
    HorizSync       30.0 - 83.0
    VertRefresh     43.0 - 76.0
    Option         "CalcAlgorithm" "XServerPool"
    Option         "DPMS"
    Option         "PreferredMode" "1920x1080"
EndSection

Section "Device"
    Identifier     "Device[0]"
    Driver         "nvidia"
    VendorName     "NVIDIA"
    BoardName      "GeForce 9500 GT"
EndSection

Section "Screen"
    Identifier     "Screen[0]"
    Device         "Device[0]"
    Monitor        "Monitor[0]"
    DefaultDepth    24
    SubSection     "Display"
        Depth       15
        Modes      "1920x1080" "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1920x1080" "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1920x1080" "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       8
        Modes      "1920x1080" "1680x1050" "1600x1024" "1600x1000" "1400x1050" "1600x900" "1280x1024" "1440x900" "1280x960" "1366x768" "1360x768" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
    EndSubSection
EndSection

Section "Extensions"
    Option         "Composite" "on"
EndSection

Now I speak only on native linux game - warzone2100 or ufoai.

This my problem, I think, causes windows games under wine not to work too.

But why linux games are slow?

I don’t really use games, though those I do, including some under wine - all work well, better in fact than in windows which seems incredible.

Try disabling desktop effects if you have them enabled. And you run a terminal with top
start a game so you can still see the terminal and see what you get in the processes - maybe it will hint at the problem

Thanks for the idea.

When runnung a game from terminal I found out the following errors:

NVIDIA: could not open the device file /dev/nvidiactl (Permission denied).

NVIDIA: could not open the device file /dev/nvidia0 (Permission denied).

After setting permissions to 777 for

chmod 777 /dev/nvidiactl
chmod 777 /dev/nvidia0

everything is ok. Thanks!

I wonder why the permissions were not set correctly by default?

The solution was to add myself to group video

This is done either in Yast, or

usermod -G video gruz

gruz is my username

Relogin is needed.

The previous commands are not needed:

chmod 777 /dev/nvidiactl
chmod 777 /dev/nvidia0 

If were executed, then restore permissions:


chmod 660 /dev/nvidiactl
chmod 660 /dev/nvidia0 

Might depend How you installed the game.
Under wine - all games are installed with user permissions never as su

Although those files in /dev ? Strange. Because I have those.

Well done in working it out!