How can I get Opengl 3.3 (with GLSL 3.3) support through mesa on an Intel HD Graphics 3000 iGPU?

6,627

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

Share:
6,627

Related videos on Youtube

john01dav
Author by

john01dav

Updated on September 18, 2022

Comments

  • john01dav
    john01dav over 1 year

    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

    • Stephen Kitt
      Stephen Kitt almost 6 years
      Your glxinfo output claims that you do have GLSL 3.3: “OpenGL core profile shading language version string: 3.30”.
    • john01dav
      john01dav almost 6 years
      @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.
    • ajeh
      ajeh almost 6 years
      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?
  • mattismyname
    mattismyname over 3 years
    This also worked to make SketchUp 2020 run through Wine. :)