# Nvidia OpenGL Problem

## Finswimmer

Hi!

```
[09:51:19]|[tobi@tobi-rechner]|~

$glxgears

560 frames in 5.0 seconds = 111.974 FPS

399 frames in 5.0 seconds = 79.616 FPS

[09:56:38]|[tobi@tobi-rechner]|~

$sux test glxgears

Password:

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

NVIDIA: Direct rendering failed; attempting indirect rendering.

1094 frames in 5.5 seconds = 199.616 FPS

1134 frames in 5.4 seconds = 210.159 FPS

1638 frames in 5.0 seconds = 325.281 FPS

1008 frames in 5.4 seconds = 185.365 FPS

882 frames in 5.3 seconds = 166.049 FPS
```

Wie man sieht kann user Tobi auf /dev/nvidiactl zugreifen (warum auch immer, ich habe ihm keine besonderen Rechte gegeben) und dadurch wird die FPS sehr niedrig, CF läuft nicht flüssig. Bei user test läuft CF flüssig, aber er kann nicht auf das Device zugreifen.

Kann mir da jmd sagen, was da los ist?

Danke

EDITH merkt an: Es liegt an der Gruppe "video". Aber warum gerade die höhere Berechtigung ein schlechteres Ergebnis produziert, verstehe ich nicht.

Tobi

----------

## UTgamer

Ich verwende x11-drivers/nvidia-drivers-100.14.11 und bei mir ist dies nicht der Fall.

glxgears liefert mit und ohne die video-Gruppenberechtigung die gleichen Frameraten, trots Warnings das kein Zugriff auf die /dev/nvidiactl besteht.

```
glxgears

62945 frames in 5.0 seconds = 12588.990 FPS

67791 frames in 5.0 seconds = 13558.076 FPS

67656 frames in 5.0 seconds = 13531.168 FPS

67671 frames in 5.0 seconds = 13534.086 FPS

67891 frames in 5.0 seconds = 13578.109 FPS
```

Dann habe ich UT2004 probiert und die Framerate ohne den Zugriff ging auf 4-9 zurück.

Ob ich mit sux andere Ergebnisse erhalten würde habe ich nicht überprüft. Ich habe einfach meinen Benutzer mal mit und mal ohne der Gruppenzugehörigkeit gestartet.

Meine Systemneuinstallation ist aber gerade mal etwas über 2 Monate alt, ob ältere Treiber andere Einstellungen oder Bugs hatten kann ich nichtmehr nachvollziehen.

Vor mehr als einem Jahr hatte ich auf meiner HW für meine Haupt-3D Anwendung jedoch die doppelte Framerate wie heute. Evtl. spielen da ältere Treiber ja eine noch größere Rolle als ich vermutete.

----------

## musv

Was hast du denn eigentlich für 'ne Graka in der Kiste drinstecken?

Seit dem ich meinen Rechner im Dualmonitorbetrieb laufen laß bei 2x 1600x1200, ging bei mir die Rate auch irgendwie runter. Wenn dann noch ein paar Anwendungen offen sind (unabhängig ob 3D oder nicht), dann ist der Ofen ganz aus.  Meine Graka ist eine High-End-GeForce5200FX. 'Ne halbwegs brauchbare GeForce 4 liefert vielfach höhere Raten. Wenn du eine ähnliche Krücke benutzen solltest, mußt du Dich nicht wundern.

```

1912 frames in 5.0 seconds = 382.356 FPS

2211 frames in 5.0 seconds = 442.150 FPS

2328 frames in 5.0 seconds = 462.586 FPS

2141 frames in 5.0 seconds = 424.753 FPS

```

Ich würde UTgamer auch zustimmen, daß es ziemlich wahrscheinlich am Nvidia-Treiber liegt. Da gab es schon einige Geschwindigkeitssprünge (Sprung nach nennt man eigentlich Absturz, oder?) im Laufe der Jahre und Releases. 

Ansonsten gibt es zu Nvidia-Grakas noch folgendes zu sagen:

```

options nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=0

```

Fastwrite sollte ausgeschalten werden. Hab mal irgendwo gelesen, daß das sowieso nur in Verbindung mit einigen Motherboards (ich glaub, es waren Intel) was bringt. Ansonsten führt Fastwrite in einigen Fällen zum Einfrieren des Rechners und kann auch Geschwindigkeitseinbußen hervorrufen. Dabei ist das egal, ob im Bios des Motherboards Fastwrite aktiviert oder deaktivert werden kann.

Weiterhin kannst du mal die Proc-Werte überprüfen:

```

cat /proc/driver/nvidia/agp/status 

Status:          Enabled

Driver:          NVIDIA

AGP Rate:        8x

Fast Writes:     Disabled

SBA:             Enabled

cat /proc/driver/nvidia/agp/host-bridge 

Host Bridge:     PCI device 10de:01e0

Fast Writes:     Not Supported

SBA:             Supported

AGP Rates:       8x 4x 

Registers:       0x1f00420b:0x00000302

```

Und ansonsten halt die üblichen Sachen:dri raus aus Kernel und xorg.conf

eselect set opengl nvidia

/dev/agpgart ebenfalls raus aus dem Kernel

xorg.conf:    Option "NvAGP"              "1"

So mehr fällt mir jetzt auch nicht gerade ein.

----------

## UTgamer

 *musv wrote:*   

> Was hast du denn eigentlich für 'ne Graka in der Kiste drinstecken?

 

Das ist eine Geforce 7800GT mit 64 Bit Treibern auf einem Athon 64 x2 3800+

Ich habe immer die Auflösung 1280*1024 ohne Vsync auf einem Röhrenmonitor, damit ich auch von den bis zu 120fps bei 1280*1024 für UT2004 auch etwas habe.

Mein gesammtes System ist mit dem -fast-math CFLAG gebaut, das bringt rund 25-30% mehr an Leistung, sollte aber auf einem Intelsystem wegen Instabilitäten nicht angewendet werden.  :Wink: 

Auf dem anderen Rechner nutze ich eine Geforce fx5900xt, die schafft auf dem 32bittigen AGP-System rund 5800-6400 fps unter glxgears, auf einem Athlon Thunderbird 2400+.

Beide Kernel sind max extremst optimiert, so gut wie keine unnötigen Treiber mit eingebaut, nur für die HW die ich auch drinnen habe.

----------

## musv

 *UTgamer wrote:*   

>  *musv wrote:*   Was hast du denn eigentlich für 'ne Graka in der Kiste drinstecken? 
> 
> Das ist eine Geforce 7800GT mit 64 Bit Treibern auf einem Athon 64 x2 3800+

 

Die Frage war eher an Finswimmer gerichtet. Du hast offensichtlich keine Probleme mit der Grakaleistung.  :Smile: 

----------

## Finswimmer

```
01:00.0 VGA compatible controller: nVidia Corporation NV34 [GeForce FX 5500] (rev a1)

```

Das ist mein Überflieger.

Naja. Ich hab mich jetzt mal aus Video rausgenommen und nun geht CF auch ziemlich gut.

Bricht laut hauseigenem Leistungstest zwar ein, wenn ich nen transparenten Würfel mit Fischen habe, aber das ist nicht so schlimm...

Tobi

----------

## musv

Mir ist grad noch was aufgefallen:

Verwendest du manchmal Kernel-2.6.22 mit SLUB-Allocator? Damit ist bei mir die Framerate irgendwie etwas eingebrochen. Seit ich wieder auf SLAB umgeschalten hab, geht's wieder wie gewohnt.

----------

## Mr. Anderson

Wie sieht die xorg.conf denn aus?

Irgendwas Auffälliges in

```
lsof | grep nvidiactl
```

----------

## Finswimmer

 *musv wrote:*   

> Mir ist grad noch was aufgefallen:
> 
> Verwendest du manchmal Kernel-2.6.22 mit SLUB-Allocator? Damit ist bei mir die Framerate irgendwie etwas eingebrochen. Seit ich wieder auf SLAB umgeschalten hab, geht's wieder wie gewohnt.

 

Die Framerate bricht bei mir doch nur ein, wenn ich in video Gruppe bin oder nicht.

Damit *sollte* es nichts mitm Kernel zu tun haben, aber ich habe SLAB aktiviert.

```
$lsof | grep nvidiactl

X         4672       root    5u      CHR    195,255                 9703 /dev/nvidiactl

X         4672       root   15u      CHR    195,255                 9703 /dev/nvidiactl
```

Meine xorg.conf:

http://rafb.net/p/PZxHKQ85.html

Danke

tobi

----------

## Mr. Anderson

Nicht, dass ich wüsste woran es liegt - interessehalber würde ich aber gern wissen, ob das Problem verschwindet, wenn Du ne ganze Menge auskommentierst.

Nämlich:

```

        DisplaySize 339 271

        Option "DPI" "96 x 96"

        Option  "dpms"

...

    Option    "AddARGBGLXVisuals" "True"

    Option    "AllowGLXWithComposite" "True"

    Option     "RenderAccel" "true"

    Option "RandRRotation" "1"

    Option "NvAGP" "3"

...

Section "Extensions"

    Option "Composite" "Enable"

        Option "RandR" "Enable"

EndSection
```

Also so ziemlich alles, was nicht in jeder 08/15-Konfiguration drin steht. ^^

----------

## Finswimmer

Auch da noch das Gleiche.

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

NVIDIA: Direct rendering failed; attempting indirect rendering.

6625 frames in 5.1 seconds = 1306.628 FPS

6804 frames in 5.0 seconds = 1353.785 FPS

#device Berechtigung geändert

[12:31:32]|[test@tobi-rechner]|~

$glxgears

491 frames in 5.0 seconds = 98.198 FPS

486 frames in 5.0 seconds = 97.189 FPS

```

----------

## UTgamer

Das Device wird ja beim Booten angelegt, sind denn deine Device-IDs und Berechtigungen richtig gesetzt?

crw-rw---- 1 root video 195,   0 17. Aug 14:01 nvidia0

crw-rw---- 1 root video 195, 255 17. Aug 14:01 nvidiactl

/etc/modules.conf

```
### update-modules: start processing /etc/modules.d/nvidia

# Nvidia drivers support

alias char-major-195 nvidia

alias /dev/nvidiactl char-major-195
```

Schon mal irgendwann nach letzten nVidia-Treiber oder Kernelupdates ein update-modules ausgeführt?

----------

## Finswimmer

```
$ls /dev/nvidia*

crw-rw---- 1 root 195,   0 2007-08-17 11:45 /dev/nvidia0

crw-rw---- 1 root 195, 255 2007-08-17 11:45 /dev/nvidiactl
```

```
$grep nvidia /etc/modules.conf

### modules-update: start processing /etc/modules.d/nvidia

# Nvidia drivers support

alias char-major-195 nvidia

alias /dev/nvidiactl char-major-195

# options see /usr/share/doc/nvidia-drivers-1.0.9755-r1/README.gz

#options nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1

# In /usr/share/doc/nvidia-drivers-1.0.9755-r1/README.gz for full details

#options nvidia NVreg_SoftEDIDs=0 NVreg_Mobile=3

### modules-update: end processing /etc/modules.d/nvidia
```

Das eigentlich Problem ist doch, dass man denkt, dass es gut ist, dass ein Programm direkt auf Teile der GraKa zugreifen kann.

Da das aber nun nicht der Fall ist, bin ich etwas verwundert...

Tobi

----------

## UTgamer

Die Gruppe Video hat auf deine Devices keine Berechtigungen. Selbst so eingestellt?

----------

## Finswimmer

 *UTgamer wrote:*   

> Die Gruppe Video hat auf deine Devices keine Berechtigungen. Selbst so eingestellt?

 

Nö. Ich werde aber beim nächsten Neustart mal drauf achten.

Ich hatte vorhin nur ein chmod 777 /dev/nvidia* gemacht. Das sollte ja nichts an der Gruppe ändern, oder?

----------

## UTgamer

 *Finswimmer wrote:*   

>  *UTgamer wrote:*   Die Gruppe Video hat auf deine Devices keine Berechtigungen. Selbst so eingestellt? 
> 
> Nö. Ich werde aber beim nächsten Neustart mal drauf achten.
> 
> Ich hatte vorhin nur ein chmod 777 /dev/nvidia* gemacht. Das sollte ja nichts an der Gruppe ändern, oder?

 

Nein an der Gruppe ändert dies nichts, nur an Berechtigungen für die dort eingetragenen Gruppen.

Eine direkte Rechteänderung an den Devices über chmod hält sich nur bis zum nächsten Neustart.

Die werden soweit ich mich noch erinnern kann in UDEV gesetzt.

----------

