I have successfully used glDebugMessageCallback on Windows 7 with the same GTX 465.
When I try to do this on Ubuntu 12.04, glDebugMessageCallback/ARB are null using GLEW.
Does nVidia support the ARB_debug_output for linux yet?
I was using GL 4.3 beta driver version 304.15, but also tried the later 304.43 version.
If I change it to 4.3, the following happens:
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 135 (GLX)
Minor opcode of failed request: 34 ()
Serial number of failed request: 30
Current serial number in output stream: 31
Should work. It’s not surprising that GLX misbehaves, since the current NVIDIA binary blob in the Ubuntu repos does only 4.2. Did you try that on the GL beta driver or on 304.43?
Current NVidia Linux GL 4.3 driver version is 304.15.00.02 which is a beta (see the link).
And no, from the version numbers and the driver changelogs, it appears that they pretty consistently put the drivers for the new GL version on a branch and release in beta for a while, until it’s stable and then merge it back into the mainline in an official driver release.
When I try to do this on Ubuntu 12.04, glDebugMessageCallback/ARB are null using GLEW.
Does nVidia support the ARB_debug_output for linux yet?
glDebugMessageCallbackARB is from ARB_debug_output. That’s a different extension and different extension function from glDebugMessageCallback, which is from KHR_debug. They are two different extensions, two different functions, and you shouldn’t try to pretend that one comes from the other.
ARB_debug_output is generally only implemented in debug contexts. However, KHR_debug is a core OpenGL extension and a part of GL 4.3; it’s always there (assuming the implementation has KHR_debug or GL 4.3 support). However, if the context isn’t a debug context, the functions won’t necessarily do anything.
Thank you for all of your inputs. Unfortunately, I just tested with the beta drivers and it’s still core dumping on me. Using the code I posted, those functions are linked to libGLEW.so.1.9 properly, but at run-time it’s nullptr.
I am sure my code is correct because this works on Windows 7 x64 same system. I am definitely using 4.3 beta drivers because the errors I posted below my code talking about using 4.3 context no longer appears.