I was looking at :-

$ glxinfo | grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile 
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.0.7
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 11.0.7
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.0.7
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

From the above, this bit -

OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile

seems to say that it is all using software rendering, how do I turn on the hardware rendering if I want to ?


You probably use hardware rendering, check this:

$ glxinfo | fgrep direct
direct rendering: Yes

"Direct rendering" above is explained by Wikipedia as:

The Direct Rendering Infrastructure (DRI) is a framework for allowing direct access to graphics hardware under the X Window System in a safe, efficient way. The main use of DRI is to provide hardware acceleration for the Mesa implementation of OpenGL.

As pointed out by @Ruslan, Mesa contains a software renderer to use as a fallback when no graphics hardware accelerator is available. It's called Gallium in OpenGL renderer string. But your output shows that the Intel renderer is being used, not the software one.

  • so if it says direct rendering: Yes, does it mean that it doesn't use software i.e. Mesa, am I to understand that ? – shirish Dec 28 '15 at 19:21
  • 2
    It still uses Mesa, because that's your OpenGL implementation. But Mesa uses your graphics hardware in this case. – Ferenc Wágner Dec 29 '15 at 20:37
  • Your test is inconclusive. One can get direct rendering: Yes with software rasterizer: try LIBGL_ALWAYS_SOFTWARE=1 glxinfo|grep ^direct on a properly setup system. – Ruslan Jun 17 '16 at 10:09

You definitely use hardware rendering. Software renderer has another name:

$ LIBGL_ALWAYS_SOFTWARE=1 glxinfo|grep '\<renderer\>'
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.5, 256 bits)

To easily check you can simply compare the output of the above command with what you get without LIBGL_ALWAYS_SOFTWARE=1. If it gives identical output, you're using software renderer by default. Otherwise it's most likely hardware accelerated.

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.