[Error ] <OpenGLVideoWidget::renderVideo> GL error 502 at /home/gnu/Projects/shotcut/src/widgets/openglvideowidget.cpp : 249

I’m on Shotcut commit 0e7716a0 and mlt commit f9b9fc4c, both of which are built as Debug.

I am having a strange issue where if I open a png file and add it to the timeline, the transparent part of it is filled black. In my application logs, I keep seeing this error: “[Error ] OpenGLVideoWidget::renderVideo GL error 502 at /home/gnu/Projects/shotcut/src/widgets/openglvideowidget.cpp : 249” and I’m not sure if this is related.

I have already tried setting the display method to Mesa but this did not make any difference.

I have confirmed using ldd that shotcut is indeed linked to the correct mlt.

[Info   ] <OpenGLVideoWidget::initialize> OpenGL vendor "NVIDIA Corporation" 
[Info   ] <OpenGLVideoWidget::initialize> OpenGL renderer "NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2" 
[Info   ] <OpenGLVideoWidget::initialize> OpenGL threaded? false 
[Info   ] <OpenGLVideoWidget::initialize> OpenGL ES? true 
[Info   ] <OpenGLVideoWidget::initialize> OpenGL maximum texture size = 32768 
[Info   ] <OpenGLVideoWidget::initialize> OpenGL maximum viewport size = 32768 x 32768 

The version that my distribution provides (Shotcut 25.03.29) does not have this problem, but my compiled one (Shotcut 25.04.13) does. About two weeks ago, I was just linking against the mlt that came with the system, but a recent commit broke that so I had to compile mlt as well, which is where this problem started.

Any advice is appreciated.

That does not work in the nvidia driver provided by NVIDIA.

I do not have much good idea what the problem is, but it seems related to Qt. Ensure that MLT is compiled against the same version of Qt as Shotcut.

1 Like

For some strange reason, the transparency issue magically went away and I’ve not been able to reproduce the issue again. I tried making some videos did not come across the issue again after that.

The GL error is still there, but it does not seem to be causing any issue, so I guess I can just ignore that.