GLSL/OpenGL shader compile failure

1,003 views
Skip to first unread message

Colin Arnott

unread,
Sep 9, 2017, 3:34:07 AM9/9/17
to IceSL
Currently I am receiving the following error from icesl when I launch:

[FATAL] 

**** GLSL shader failed to compile (vertex) ****
0:2(10): error: GLSL 4.20 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES

I do not think I am missing any dependencies, and I am unclear what dependency has version 4.20. Can anybody assist?

I am experiencing this on Linux, and have reproduced it with both Ubuntu 17.04 and Arch Linux.

Maze Mietner

unread,
Sep 9, 2017, 7:51:24 AM9/9/17
to IceSL
To me it looks like IceSL tries to use a OpenGL 4.2 function, and that's missing on your computer. What's your OpenGL version, glxinfo should give this info?
For IceSL you need to have at least OpenGL 4.3.

Colin Arnott

unread,
Sep 9, 2017, 8:24:14 AM9/9/17
to IceSL
running the following command:

glxinfo | grep OpenGL | grep "version string"

gives me this output: (more can be provided, but it was quite a lot)

OpenGL core profile version string: 3.3 (Core Profile) Mesa 17.1.8
OpenGL core profile shading language version string: 3.30
OpenGL version string: 3.0 Mesa 17.1.8
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 17.1.8
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

Now, graphics libraries are not my wheelhouse, but I would have thought that installing up to date mesa and freeglut (plus the other deps) would be sufficient. Also, this is not working on both my ubuntu and arch linux (rolling release distro) systems (both were updated as part of this install), so I am unclear how mesa is so far behind. Also the *.deb installed fine on ubuntu, so I would have expected there not to be any version issues.

sylefeb

unread,
Sep 9, 2017, 3:47:24 PM9/9/17
to IceSL
Hi Colin,

I have never tried to run IceSL on Mesa and I am unsure whether it would work (and with reasonable performance). Afaik Mesa is a software implementation of OpenGL and does not use the GPU.

The best is to install, if possible, the drivers from your GPU vendor, e.g. NVidia or AMD drivers. We use mostly NVidia hardware under Linux and their drivers work very well.

However, before anything, could you please let us know the specs of your graphics hardware so we can check if it supports OpenGL 4.x ?

Best regards,
Sylvain

Maze Mietner

unread,
Sep 9, 2017, 5:13:01 PM9/9/17
to IceSL
>
OpenGL core profile version string: 3.3
It's OpenGL 3.3, not enough to run IceSL.

I don't know what to tweak to support OpenGL 4.5, I'd guess at least this here:
https://www.wilderssecurity.com/threads/tutorial-making-mesa-display-opengl-4-5-instead-of-4-3.389258/

Maze

Jérémie Dumas

unread,
Sep 9, 2017, 5:56:48 PM9/9/17
to sylefeb, IceSL
Mesa is an open-source implementation of OpenGL, and afaik this is the
official driver for Intel GPU (as well as newer AMD GPUs from what I
gather online).

Mesa has long been stuck on OpenGL 3.3 (until 2015), but they now
support OpenGL 4.5 and some features of OpenGL 4.6. So my guess is that
you have older hardware that doesn't support recent OpenGL
implementations.

Not that IceSL requires "only" OpenGL 4.2 (not 4.3). Which is why it
doesn't work on Mac (which only supports up to OpenGL 4.1).

Colin Arnott

unread,
Sep 9, 2017, 10:32:12 PM9/9/17
to IceSL
hmm, that would make sense, this is an older system (sandybridge); thanks a bunch for identifying what is going go. do I have any options (as mesa appears to have hardware requirements for newer opengl versions)?

Jérémie Dumas

unread,
Sep 10, 2017, 12:43:21 AM9/10/17
to Colin Arnott, IceSL
Well ... you should probably buy a new GPU =)
You can find older GPU which are OpenGL 4.2+ enabled for quite cheap I think.

Mesa also provides a software rasterizer, but I don't know if it's
OpenGL 4.2+ capable, and it's likely to be slow anyway ...

Colin Arnott

unread,
Sep 10, 2017, 12:49:10 AM9/10/17
to IceSL
makes sense; unfortunately my current env is a laptop, so that may be tricky.

Maze Mietner

unread,
Sep 10, 2017, 2:49:45 AM9/10/17
to IceSL
Did you try this (replace program with IceSL), what's the result?
env MESA_GLSL_VERSION_OVERRIDE=450 env MESA_GL_VERSION_OVERRIDE=4.5COMPAT /usr/bin/program

Colin Arnott

unread,
Sep 10, 2017, 4:12:17 AM9/10/17
to IceSL
progress but no success:

[FATAL] 

**** GLSL shader failed to compile (fragment) ****
0:3(12): warning: extension `GL_ARB_gpu_shader5' unsupported in fragment shader
0:4(12): warning: extension `GL_ARB_shader_image_load_store' unsupported in fragment shader
0:26(2): error: `gl_FragColor' undeclared
0:26(2): error: value of type vec4 cannot be assigned to variable of type error
0:82(2): error: `gl_FragColor' undeclared
0:82(2): error: value of type vec4 cannot be assigned to variable of type error

It looks like versions 4.3 - 4.5 give the error above, 4.2 and below all have version not supported errors.

Maze Mietner

unread,
Sep 13, 2017, 1:58:14 PM9/13/17
to IceSL
Then you'll need additional chipset drivers, MESA does support this - but only with some kind of hardware acceleration (first column green, next three for software only are red), see: https://mesamatrix.net/
Unless you can get a chipset and driver that is supported by MESA it won't work.

Colin Arnott

unread,
Sep 14, 2017, 2:12:44 AM9/14/17
to IceSL
That makes sense; thanks everybody for all the great help, it was both enlightening and responsive. If I ever do get IceSL running on a different machine, I will make sure to give back to the community.

sylefeb

unread,
Sep 15, 2017, 4:17:07 AM9/15/17
to IceSL
Hi Colin,

I hope you will be able to use IceSL in the near future. I'll also try to update the online version http://shapeforge.loria.fr/icesl-online/ (it should run in Firefox without trouble) - it has been falling behind a bit because of our limited development time... This is a light version of IceSL but for many parts it is sufficient. Let me know if you start using it, it will be good motivation to update it :)

Best,
Sylvain

sylefeb

unread,
Sep 16, 2017, 2:09:27 AM9/16/17
to IceSL
Hi Colin,

It just occurred to me, if you are primarily interested in slicing, you can use slicecrafter: http://shapeforge.loria.fr/slicecrafter/
This is the equivalent of IceSL-slicer 2.1.3, it only lacks the thickness optimizer which uses the GPU.

Sylvain

Colin Arnott

unread,
Sep 16, 2017, 3:42:20 AM9/16/17
to IceSL
Cool, I will take a look.
Reply all
Reply to author
Forward
0 new messages