Missing Opengl extensions with Qt 5.5.1
I just set up a new arch linux environment and now i am experiencing strange behavior. Openflipper reports my graphics card does not support the GL_ARB_vertex_buffer_object extension which is wrong since i have an opengl 3.3 context.
i investigated this since someone else told me about the same behavior a few months ago. i attached the output of openflpper and made it print all extensions found in QOpenglcontext.extensions()
Will recheck, but now that we are back to glew, this will probably not have changed
I ran into this issue as well on my laptop with Intel Ivybridge graphics, there I believe it was a driver issue (I didn't get around to file an issue with the driver devs though). In your glxinfo outout, the extension is actually missing for the 3.3 core profile and only present in the 3.0 non-ES profile. Not certain if drivers are supposed to advertise their support for required extensions though.
I need to find my notes on this, investigated it a few months back and then ignored it after locally applying a dirty patch to OF that would give me a context with an older OpenGL version.
Same issue with (open-source) amdgpu drivers on my RX480. I haven't a chance to test amdgpu-pro (closed source extensions) yet, but from my understanding it probably won't make a difference.
For future reference and others who run into the same issue and need a workaround, I attached the hacky patch that grabs an OpenGL 3.0 context. This is sufficientf for the internal renderer and works on my intel & amdgpu systems as well as headless on Xvfb.
I found a better workaround here: https://bugs.freedesktop.org/show_bug.cgi?id=96449
Setting MESA_GL_VERSION_OVERRIDE=3.3COMPAT gives you a 3.3 compat context, at least on amdgpu, I'll test on Xvfb and intel, but I see no reason it won't work there.
EDIT: I'll do some more testing first, apparently this env var is quite a hack and not officially supported
Short update, I do not recommend using the environment variable i mentioned in the last comment, it causes more problems than it solves.