A while back some of us were talking about problems we were having with the NVidia 270.x drivers (link: Problematic 270.61 driver). Been swamped with customer work, so had frozen on 260.19.44 since then, and just now beat my head against this to figure out what's going on.
This crash/instability issue correlates with the following:
- Doing your GL calls (including creating a GL context) in a background pthread, AND
- pthread stack size being 256KB.
Results in a crash deep down in the initial glXCreateContext*() or often in some startup GL FBO creation call.
Either crank up the stack size a ways (e.g. a couple MB), OR do your GL mucking in the foreground thread, and NVidia GL seems to avoid this crash and works well like 260.x did. Apparently, something changed recently (possibly in 270.x) that required more stack space in the GL thread.
- what are folks using for stack size on their GL background threads?
- And does NVidia have any guidance for the stack size to use? Didn't find anything in /usr/share/doc/NVIDIA_GLX-1.0/README.txt on this.