OpenGL renderer error: glGetString(GL_VERSION) failed. when using Shadertoy node

I know this issue was reported lot of times, but from the information I was getting until now, I can’t find any solution.

This is one of the bests posts I’ve found about the issue :

To be a bit more precise, when I use the Shadertoy Node, this alert box appears each time I do something that implies rendering some frames (like reproduicing the video in the viewer):

The thing works as I just disable the “Enable GPU Rendering” option in the Shadertoy node, but AFAIK having it disabled may produce serious performance issues

Here is the renderer info obtained from clicking the “Renderer Info” button on the node config panel

And this is the GPU Rendering preferences I have at the moment:

My operating system is Windows 10 and you can see on the captures I have a GTX 1070 video card, also I changed the No. of open gl context to 8 (from the default of 2) to see if that solves the issue, but it had no effect at all.

The video acceleration is fully operative and it works like a charm with every GPU-dependant program (videogames)

In the post I referenced at the beginning, users suggested to update drivers and switch to the studio mode of nvidia drivers, I tried both and I am getting the same error every time.

Well, not every time, this seems to happen “at random”, for some sessions of NAtron there is no issue at all, but for some other moments that error message appears and the rendering fails

After upgrading my drivers, it appears to work so I though the issue was fixed, but it was not, after rebooting my system and launching natron again I am getting the same issue

Set OpenGL context to 999.

Why? Natron+Shadertoy will result in a very large amount of OpenGL contexts, seems to be for each Shadertoy node + frame or something. A small project will easily spawn 100+ contexts.

Thanks, I wil try that. Also, I was aware that a few frames got properly rendered before seeing the issue and it stops

Wait, if it is using one context per frame, if my video has more than 2000 frames, even 999 wouldn’t be enough?

Dont mind, setting to 999 the amount of gl context didn’t work (got the exact same result), I was trying with some small video (around 20 frames), it failed after sucessfully rendered just 2 or 3 frames

Still I have other more important issue (not sure if I shuld open a different thread for it):

Each time I disabled the “Enable GPU Render” option in shadertoy it works, and it’s a good workaroud.

BUT… When I use a writer node to encode the video to some output, I got the error, it looks like the option is used only for preview, but on render always Opengl renderer is enabled and it fails, I can’t find the way to disable it for writernode output rendering