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)
OpenGL extensions:

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)
OpenGL extensions:

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.

Categories: Introversion

2 Comments

Sandro Lemos Machado · 2017-02-16 at 18:35

Hi, I may have a similar problem
I use to have bricscad on LTS 14.04, but when I upgrade to 16.04 the applications crashes on clients, although they are able to run on server

I am new on LTSP (there was a guy that help me before but it is very busy now)
Could you please say to me how do you implement these changes?

    Shawn Tan · 2017-02-16 at 20:04

    The solution is documented in the entry. You need to set the LDM_DIRECTX configuration.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.