NatronGitHub / natron-plugins

Natron Community Plugins
https://discuss.pixls.us/c/software/natron
366 stars 65 forks source link

CrytoMatte_Mask: Can not render: glGetString(GL_VERSION) failed. #20

Open HeCorr opened 1 year ago

HeCorr commented 1 year ago

I've been having this error constantly while trying to use the Cryptomatte_Keyer node, unable to continue working on my client's project.

It was working just fine and started giving me this error even though nothing changed in the project itself.

Natron's docs say to set the number of OpenGL Contexts to 5 if a similar error occurs but that doesn't solve the issue.

My system is a Windows 10 machine with an RTX 3060 GPU.

devernay commented 1 year ago

Did you try the discord channel?

Windows GPU support is so-so. Linux would work better, and maybe even WSL on Windows may be a viable alternative. Did anyone ever try that? @rodlie ?

rodlie commented 1 year ago

Linux is not much better... You will run out of contexts sooner than later (and get this error).

HeCorr commented 1 year ago

Did you try the discord channel?

no but I can give it a shot, thank you.

You will run out of contexts sooner than later

@rodlie could you please explain what you mean by that? and maybe also explain why this error happens in the first place? It seems quite vague/unrelated.

it doesn't make much sense to me that I'm "running out" of contexts considering my scene isn't very complex at all:

image

HeCorr commented 1 year ago

Well that's quite interesting. It started working again.

I wonder if having Blender open at the same time is what causes it..?

Edit: it's not. bumping OGL contexts to 8 caused the error to occur, changing back to 5 didn't fix it and I noticed some Natron processes showing up in Task Manager even though it was closed but ending them didn't fix it either so there's definitely something wrong going on. attempting a restart right now. not even restarting fixed it. lol.

rodlie commented 1 year ago

@rodlie could you please explain what you mean by that? and maybe also explain why this error happens in the first place? It seems quite vague/unrelated.

Natron will eat up OpenGL contexts until none are left/available, and you end up in an unusable state. The more OpenGL/Shadertoy nodes you have the quicker it will happen (or just playback a large project in the viewer). .

I noticed some Natron processes showing up in Task Manager even though it was closed

Natron 2.5.0 will deadlock (it will close but not quit) on Windows, this is a problem with OIIO (the main image library included with Natron), the only "solution" is to downgrade to 2.4.3 as this behaves better (and don't have bugs introduced in later versions), or don't use OIIO at all (you then end up with EXR and PNG as only options), I recommend both options.

HeCorr commented 1 year ago

Well, that's pretty disappointing. Isn't there a way to multiplex OpenGL contexts so that a limited amount can be used for larger projects? How does Nuke do it?

As mentioned in my previous comment, my scene isn't even that complex so it still doesn't make sense to me that I'm "running out" of contexts. Also disabling OpenGL entirely just crashes Natron when loading up a project.