1

I recently bought a laptop with a i5-2520M cpu in it that uses the integrated graphics. Intel's ark says that this cpu has an Intel HD Graphics 3000. Wikipedia's relevant page says that this iGPU supports OpenGl 3.3 on Linux. The source cited by Wikipedia for this claim, a Phoronix article, says the following:

Posted on Friday evening was a patch to enable OpenGL 3.3 and OpenGL Shading Language (GLSL) 3.30 for Intel "Gen6" Sandy Bridge hardware with Mesa

This all makes me think that any OpenGl program that uses OpenGl 3.3 and GLSL 3.3 core profile should work. When I attempt to run, on Arch Linux, such a program, that I wrote, however, the opengl driver tells the program that GLSL 3.3 is not supported (even though OpenGl 3.3 is, which is a weird combination, because normally these things come together). The exact same source code when compiled on my other computer with a GTX 1070 in it runs without issue. I have the mesa package installed, and the wiki says that that is the only neccessary package. Programs such as glxgears that depend on an older version of opengl work fine. Even the heaven benchmark works, albeit with < 10 fps. This installation is on a Thinkpad T420.

How can I get GLSL 3.3 support on my Intel HD Graphics 3000?

Glxinfo: https://pastebin.com/C87JqMwV

  • Your glxinfo output claims that you do have GLSL 3.3: “OpenGL core profile shading language version string: 3.30”. – Stephen Kitt Jun 21 '18 at 17:48
  • @StephenKitt The exact message the opengl driver gives my program is "GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES" This message is from glGetShaderInfoLog. This shows that for some reason I can't access GLSL 3.3. – john01dav Jun 21 '18 at 17:54
  • The only thought that comes to mind is that you may be linking against an API library, which does not support 3.30. Is that possible? – ajeh Jun 21 '18 at 19:01
1

I also posted this question to a more specific but less popular subreddit. I got a response there that worked:

Launch the program with the following environment variables: MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330 I do not know if it will work.

Link

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.