Login  Register

Error on arm64 linux: X11GLXDrawableFactory - Could not initialize shared resources for X11GraphicsDevice

Posted by wspear on Oct 18, 2023; 10:37pm
URL: https://forum.jogamp.org/Error-on-arm64-linux-X11GLXDrawableFactory-Could-not-initialize-shared-resources-for-X11GraphicsDevie-tp4043075.html

Greetings. I'm trying to track down a fix for this. I tried updating to the latest stable build of jogl but the nature of the error didn't seem to change. We've only seen this on our arm64 test system, other platforms work fine. Is there anything else I could track down to help debug? glxgears works on this system but I don't know what jogl test code would exercise the path that leads to this error. The
NvRmMemInitNvmap failed with Permission denied
549: Memory Manager Not supported



****NvRmMemInit failed**** error type: 196626


*** NvRmMemInit failed NvRmMemConstructor

portion of the error also shows up in the etc/test.sh output from the jogamp-all-platforms package but whatever gets run there doesn't crash so that may be unrelated. Please let me know if any of the text output from that test script would be useful in diagnosing the issue.

NvRmMemInitNvmap failed with Permission denied
549: Memory Manager Not supported



****NvRmMemInit failed**** error type: 196626


*** NvRmMemInit failed NvRmMemConstructor
Caught handled GLException: X11GLXDrawableFactory - Could not initialize shared resources for X11GraphicsDevice[type .x11, connection localhost:10.0, unitID 0, handle 0x0, owner false, ResourceToolkitLock[obj 0x1a99560c, isOwner false, <300c08cd, e324157>[count 0, qsz 0, owner <NULL>]]] on thread AWT-EventQueue-0-SharedResourceRunner
    [0]: jogamp.opengl.x11.glx.X11GLXDrawableFactory$SharedResourceImplementation.createSharedResource(X11GLXDrawableFactory.java:306)
    [1]: jogamp.opengl.SharedResourceRunner.run(SharedResourceRunner.java:353)
    [2]: java.base/java.lang.Thread.run(Thread.java:833)
Caused[0] by GLException: AWT-EventQueue-0-SharedResourceRunner: Unable to create temp OpenGL context(1) on thread AWT-EventQueue-0-SharedResourceRunner
    [0]: jogamp.opengl.x11.glx.X11GLXContext.createImpl(X11GLXContext.java:390)
    [1]: jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:794)
    [2]: jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:677)
    [3]: jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:615)
    [4]: jogamp.opengl.x11.glx.X11GLXDrawableFactory$SharedResourceImplementation.createSharedResource(X11GLXDrawableFactory.java:277)
    [5]: jogamp.opengl.SharedResourceRunner.run(SharedResourceRunner.java:353)
    [6]: java.base/java.lang.Thread.run(Thread.java:833)
Exception in thread "AWT-EventQueue-0" com.jogamp.opengl.GLException: AWT-EventQueue-0: Unable to create temp OpenGL context(1)
        at jogamp.opengl.x11.glx.X11GLXContext.createImpl(X11GLXContext.java:390)
        at jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:794)
        at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:677)
        at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:615)
        at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1279)
        at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
        at com.jogamp.opengl.awt.GLCanvas$11.run(GLCanvas.java:1441)
        at com.jogamp.opengl.Threading.invoke(Threading.java:223)
        at com.jogamp.opengl.awt.GLCanvas.display(GLCanvas.java:500)
        at com.jogamp.opengl.awt.GLCanvas.paint(GLCanvas.java:554)
        at java.desktop/sun.awt.RepaintArea.paintComponent(RepaintArea.java:264)
        at java.desktop/sun.awt.X11.XRepaintArea.paintComponent(XRepaintArea.java:66)
        at java.desktop/sun.awt.RepaintArea.paint(RepaintArea.java:240)
        at java.desktop/sun.awt.X11.XComponentPeer.handleEvent(XComponentPeer.java:555)
        at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5062)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
X11Util.Display: Shutdown (JVM shutdown: true, open (no close attempt): 2/2, reusable (open, marked uncloseable): 0, pending (open in creation order): 2)
X11Util: Open X11 Display Connections: 2
X11Util: Open[0]: NamedX11Display[localhost:10.0, 0xffff0c0ef8e0, refCount 1, unCloseable false]
X11Util: Open[1]: NamedX11Display[localhost:10.0, 0xffff14563aa0, refCount 1, unCloseable false]