I am trying to develop C/C++ applications using OpenGL. Unfortunately, I have been unable to access any functionality past OpenGL 3.0. I have Mesa version 18.0.5, Linux Mint 18 64-bit, the 4.18.1 Kernel, and Intel Integrated Graphics.
Terminal output:
~ $ lspci | grep VGA 00:02.0 VGA compatible controller: Intel Corporation Broadwell-U Integrated Graphics (rev 09) ~ $ glxinfo | grep OpenGL OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2) OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.0.5 OpenGL core profile shading language version string: 4.50 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.0 Mesa 18.0.5 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.0.5 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10 OpenGL ES profile extensions: I am certain that my hardware supports up to OpenGL 4.4, as this machine was previously a Windows 10 machine before MS pushed/forced a broken update, and I developed using OpenGL 4.4 and GLSL 440 during that time.
Additionally, I can run OpenGL 4.4 programs on Java through JOGL, which has all the required OpenGL libraries packaged together and doesn't seem to rely on the system version at all.
So basically, why does Mesa say that the core version is 4.5, but then gives the version string of 3.0? (The same version glGetString(GL_VERSION) returns.) And how can I regain access to OpenGL 4.4? (If not 4.5!)
glxinfo | grep "Max core"output? You should be able to setMESA_GL_VERSION_OVERRIDEto any supported version up to the maximum listed there.Max core profile version: 4.5. I sawMESA_GL_VERSION_OVERRIDEbeing used to run individual applications with the override. Does this mean I need to use this every single time? Is there a way to set that as the default?