I’m just getting started with OGL again (last time using GL2 …) and I’m running into a weird issue. I just dug out my old stuff, and I want to create an OpenGL 4.1 context and use for instance ARB_debug_output.
My OS is Ubuntu 10.04 x64, with an ION2 chipset and the NVIDIA 256.38.03 driver. However, glxinfo only says version 3.3.0, and using glew from SVN I get 4.0 at most, but not 4.1, and ARB_debug_output is listed as OK [MISSING]
The glewinfo output is:
GLEW version 1.5.5
Reporting capabilities of display :0.0, visual 0x2b
Running on a ION/PCI/SSE2 from NVIDIA Corporation
OpenGL version 3.3.0 NVIDIA 256.38.03 is supported
# some stuff omitted
GL_VERSION_4_0: OK
# more stuff omitted
GL_ARB_debug_output: OK [MISSING]
glxinfo does not even list GL_ARB_debug_output. In order to create the context, I create a dummy window first, call glewInit() (so it initializes glXChooseFBConfig), and then I go through a standard initialization which works fine if I request OpenGL 3.2 or 3.3 for instance, but fails for OpenGL 4.0 and 4.1. After initializing, I call glewInit() again.
If I try to get a 4.0 or 4.1 context, I get the following error:
X Error of failed request: BadAlloc (insufficient resources for operation)
Major opcode of failed request: 135 (GLX)
Minor opcode of failed request: 34 ()
Serial number of failed request: 24
Current serial number in output stream: 25
My initialization code is based on Tutorial: OpenGL 3.0 Context Creation (GLX) - OpenGL Wiki; but with glewInit mixed in. I changed the code to request a GL 4.0 or 4.1 context to test if that works, but it fails as well.
Creating a 3.3 context works fine; I get EXT_direct_state_access and other extensions, but ARB_debug_output is missing in any case. Trying to get a 3.3 context with the GLX_CONTEXT_PROFILE_MASK_ARB just returns in some bogus context which does not have EXT_direct_state_access (didn’t try this further, as the docs say that you have to select a profile.)
I’ve reinstalled the driver manually after purging everything else, and both nvidia-settings and glxinfo show the correct driver version, but I’m unable to get a 4.0 context. GLew is the latest from SVN, which should be ready for 4.1; at least 4.0 should be working.
How is this supposed to work? I’ve spent some time searching the web, but my search-foo is not good enough to dig up anyone using GL 4.1 successfully on Linux … I’m happy for any hint how to get this working.