OpenGL error when running 2.5d script


When I try to run a 2.5d script, I get the following error:

Shapes vertex shader compilation failed:
ERROR: 0:1: '' :  version '150' is not supported

I am running this on MacOS Monterey 12.6 with KLayout version 0.28.14. I have tried looking up this error and most forums suggest explicitly telling OpenGL which version to use, but running a macro that sets the version of a QSurfaceFormat instance does not seem to work for me (unless I am doing this incorrectly). Is it possible that my OS or graphics card does not support the 2.5d feature?

Thanks in advance!


  • cont.


    I have been doing some research.
    Any macro that sets the version will not work because the #version 150 statements are embedded (hardcoded) in src/plugins/tools/view_25d/lay_plugin/

    In MacOS, the OpenGL version seems to be 2.1 (=> #version 120), while KLayout's 2.5d feature needs #version 150 (=> OpenGL 3.2). This is the reason.

    A (somewhat inconvenient) compromise solution would be to run a virtual Linux machine under MacOS.
    In my case, Linux Mint 20 with VMware Fusion on Monterey.
    The image below shows such an attempt.


  • edited March 30


    I did some experiments by modifying src/plugins/tools/view_25d/lay_plugin/, where I forcibly set #version 120 (other details are omitted).

    Linux Mint 20

    kazzz-s@Mint20:~ (1)$ glxinfo | grep "OpenGL version"
    OpenGL version string: 3.3 (Compatibility Profile) Mesa 21.2.6
    • This version corresponds to #version 330.

    • Two global functions appear unsupported in #version 120.

    macOS Monterey

    • The original ERROR message disappeared.
    • But there is no detailed info.

    CentOS 7


  • Hi @smadhv,

    Matthias resolved this issue in the 0.29.1 version. Thanks a lot :smile:

    See for details.
    Different macOS DMGs incorporating the changes will be published shortly.


Sign In or Register to comment.