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”. Commented Jun 21, 2018 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
    Commented Jun 21, 2018 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
    Commented Jun 21, 2018 at 19:01

1 Answer 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.


  • This also worked to make SketchUp 2020 run through Wine. :) Commented Sep 27, 2020 at 20:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .