We have some plugins that use juce::OpenGLContext for rendering graphs and we’ve been running into a deadlocking issue on Linux when multiple instances are open… Essentially we’re experiencing what this user describes:
Our plugins run into the same issue where deadlocking occurs when glXMakeCurrent() or other glX methods get called concurrently.
In juce_OpenGL_linux_X11.h I see some functions acquire a ScopedXLock, but not all do. The deadlocking resolved once we added locks to makeActive(), deactivateCurrentContext(), etc. Is there a reason not all the methods making glX calls don’t currently acquire a lock?