Question

I am developing an OpenGL application and I am seeing some strange things happen. The machine I am testing with is equipped with an NVidia Quadro FX 4600 and it is running RHEL WS 4.3 x86_64 (kernel 2.6.9-34.ELsmp).

I've stepped through the application with a debugger and I've noticed that it is hanging on OpenGL calls that are receiving information from the OpenGL API: i.e. - glGetError, glIsEnabled, etc. Each time it hangs up, the system is unresponsive for 3-4 seconds.

Another thing that is interesting is that if this same code is run on RHEL 4.5 (Kernel 2.6.9-67.ELsmp), it runs completely fine. The same code also runs perfectly on Windows XP. All machines are using the exact same hardware:

  • PNY nVidia Quadro FX4600 768mb PCI Express
  • Dual Intel Xeon DP Quad Core E5345 2.33hz
  • 4096 MB 667 MHz Fully Buffered DDR2
  • Super Micro X7DAL-E Intel 5000X Chipset Dual Xeon Motherboard
  • Enermax Liberty 620 watt Power Supply

I have upgraded to the latest 64bit drivers: Version 177.82, Release Date: Nov 12, 2008 and the result is the exact same.

Does anyone have any idea what could be causing the system to hang on these OpenGL calls?

Was it helpful?

Solution

It appears that this is an issue with less-than-perfect NVidia drivers for Linux. Upgrading to a newer kernel appears to help. If I am forced to use this dated kernel, there are some things that I've tried that seem to help.

Defining the __GL_YIELD environment variable to "NOTHING" prior to starting X seems to increase stability with this older kernel. http://us.download.nvidia.com/XFree86/Linux-x86_64/177.82/README/chapter-11.html

I've also tried disabling Triple Buffering and Flipping.

I've also found that these forums are very helpful for Linux/NVidia problems. Just do a search for "linux crash"

OTHER TIPS

You may be able to dig deeper by using a system profiler like Sysprof or OProfile. Do other OpenGL applications using these calls exhibit similar behavior?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top