We’ve recently updated our office computers to the new Ubuntu Xenial LTS. This came with a newer version of KiCad that requires OpenGL 2.1 minimum to run. Unfortunately, we run a bunch of LTSP thin-clients in the office with a beefier server for work and a bunch of old PCs as clients.
With our current setup, KiCad had trouble running as it fails with an OpenGL error. Investigating this problem, we found that the OpenGL setup was only reporting OpenGL 1.4 only.
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) G41
OpenGL version string: 1.4 (2.1 Mesa 10.1.3)
After some investigation and failing with any of the other advice given on the Internet e.g. setting up pure software rendering with
LIBGL_ALWAYS_SOFTWARE correctly, I investigated the problem as an LTSP one. That’s when I noticed that the OpenGL was using indirect rendering.
direct rendering: No (LIBGL_ALWAYS_INDIRECT set)
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
In the end, setting
LDM_DIRECTX to false was all it took to enable direct rendering and fully access OpenGL.
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.8, 256 bits)
OpenGL version string: 3.0 Mesa 11.2.0
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
Since our setup may be irregular and there wasn’t much information it on the Internet, I’ve decided to put it on this blog to document it here.