JOGL for Mac ARM Silicon

classic Classic list List threaded Threaded
31 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: JOGL for Mac ARM Silicon

captainfat
So I am having trouble understanding how I could implement this in my own application. When I try to use jogamp-fat.jar on Mac ARM Silicon I get an error about the libgluegen_rt.dylib being for the wrong architecture. I have download the "universal" .dylib from the link above, but not sure where to go from there. How do I get jogamp-fat.jar to use these .dylib files?
Reply | Threaded
Open this post in threaded view
|

Re: JOGL for Mac ARM Silicon

gouessej
Administrator
Have you tried to replace the unchanged version of libgluegen_rt.dylib inside jogamp-fat.jar (/natives/macosx-universal/) by its modified version? Have you tried to disable the native library loading and to set the Java library path as stated in the JOGL user's guide?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: JOGL for Mac ARM Silicon

Martin
Hi everyone,

I have uploaded an updated version of the RC which runs on Mac ARM both as a downloadable ZIP and a Maven archive.

See this page to get it.
Reply | Threaded
Open this post in threaded view
|

Re: JOGL for Mac ARM Silicon

Martin
In addition, here are my test results when running JOGL 2.4-rc4 on multiple OS & JVM :



Also here as spreadsheet with link toward bug tickets.
Reply | Threaded
Open this post in threaded view
|

Re: JOGL for Mac ARM Silicon

gouessej
Administrator
Thank you but it would be nice to see your spreadsheet without using a Google account... which I don't have.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: JOGL for Mac ARM Silicon

Martin
In reply to this post by Martin
I just would like to clarify that this test matrix refers to Jzy3D tests success.

I did not report tests on JOGL which are a bit harder to analyse : on Windows and MacOS, they all finish with an "Everything OK" message but running JOGL unit tests on Mac OS ARM leads to lot of JVM crashes (the list below is exported from console output, but there might be other failing test, I think I dismiss the crash popup more than 39 times :D). Test output archive differ a lot between these two platform, so I think lot of test reports are missing for Mac.

I uploaded JOGL unit test results ran on Mac 11 (ARM64), Windows 10 (AMD64), Ubuntu 20 (AMD64) here.

To Julien : the links you may wish to browse in the Google spreadsheet refer to tickets I gathered here.

[junit] Test com.jogamp.opengl.test.junit.jogl.acore.TestAddRemove02GLWindowNewtCanvasAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.jogl.acore.TestGLAutoDrawableNewtCanvasAWTOnOffscrnCapsAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.jogl.acore.TestOffscreenLayer02NewtCanvasAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.jogl.acore.TestSharedContextNewtAWTBug523 FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.jogl.acore.glels.TestGLContextDrawableSwitch11NewtAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.jogl.acore.glels.TestGLContextDrawableSwitch13Newt2AWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.jogl.demos.es2.awt.TestGearsES2GLJPanelAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.jogl.perf.TestPerf001GLJPanelInit01AWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.jogl.perf.TestPerf001GLJPanelInit02AWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.jogl.tile.TestTiledPrintingGearsNewtAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.jogl.util.texture.TestJPEGJoglAWTCompareNewtAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NewtCanvasAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestLandscapeES2NewtCanvasAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.jogl.newt.TestSwingAWTRobotUsageBeforeJOGLInitBug411 FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.TestCloseNewtAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.TestEventSourceNotAWTBug FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.TestListenerCom01AWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.TestMultipleNewtCanvasAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.TestWindowClosingProtocol03NewtAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersAWTCanvas FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNEWTWindowAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNewtCanvasAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.event.TestNewtKeyCodeModifiersAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.event.TestNewtKeyCodesAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.event.TestNewtKeyEventAutoRepeatAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.event.TestNewtKeyEventOrderAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.event.TestNewtKeyPressReleaseUnmaskRepeatAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.event.TestParentingFocus01SwingAWTRobot FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.event.TestParentingFocus02SwingAWTRobot FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.event.TestParentingFocus03KeyTraversalAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.parenting.TestParenting01aAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.parenting.TestParenting01bAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.parenting.TestParenting01cAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.parenting.TestParenting01cSwingAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.parenting.TestParenting01dAWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.parenting.TestParenting02AWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.parenting.TestParenting03AWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.parenting.TestParenting04AWT FAILED (crashed)
[junit] Test com.jogamp.opengl.test.junit.newt.parenting.TestTranslucentParentingAWT FAILED (crashed)



[junit] Testcase: test03OffscreenPBuffer(com.jogamp.opengl.test.junit.jogl.acore.TestAddRemove01GLCanvasSwingAWT): Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.jogl.acore.TestAddRemove02GLWindowNewtCanvasAWT:test02OffscreenFBO: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.jogl.acore.TestGLAutoDrawableNewtCanvasAWTOnOffscrnCapsAWT:testGL2OffScreenFBODblBufMSAA: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.jogl.acore.TestOffscreenLayer02NewtCanvasAWT:test01_GLDefault: Caused an ERROR
[junit] Testcase: testDeadlock(com.jogamp.opengl.test.junit.jogl.acore.TestPBufferDeadlockAWT): Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.jogl.acore.TestSharedContextNewtAWTBug523:test10UseNEWTNotShared: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.jogl.acore.glels.TestGLContextDrawableSwitch11NewtAWT:test21GLWindowGL2ES2: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.jogl.acore.glels.TestGLContextDrawableSwitch13Newt2AWT:test11GLWindow2GLCanvasOnScrnGL2ES2: Caused an ERROR
[junit] Testcase: test02PBufferOffscreenSupersampling(com.jogamp.opengl.test.junit.jogl.awt.TestBug461PBufferSupersamplingSwingAWT): Caused an ERROR
[junit] Testcase: test01AccumStencilPBuffer(com.jogamp.opengl.test.junit.jogl.caps.TestBug605FlippedImageAWT): Caused a ERROR
[junit] Testcase: test01DefaultPBuffer(com.jogamp.opengl.test.junit.jogl.caps.TestBug605FlippedImageAWT): Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.jogl.demos.es2.awt.TestGearsES2GLJPanelAWT:test01_DefaultNorm: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.jogl.perf.TestPerf001GLJPanelInit01AWT:test14GearsNewtCanvasAWT: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.jogl.perf.TestPerf001GLJPanelInit02AWT:test05NopNewtCanvasAWTDefGrid: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.jogl.tile.TestTiledPrintingGearsNewtAWT:test01_aa0: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.jogl.util.texture.TestJPEGJoglAWTCompareNewtAWT:test01YUV422hBase__ES2: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NewtCanvasAWT:test01GL2ES2: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestLandscapeES2NewtCanvasAWT:test01GL2ES2: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.jogl.newt.TestSwingAWTRobotUsageBeforeJOGLInitBug411:test01NewtCanvasAWT: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.TestCloseNewtAWT:testCloseNewtAWT: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.TestEventSourceNotAWTBug:testEventSourceNotNewtBug: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.TestListenerCom01AWT:testListenerStringPassingAndOrder: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.TestMultipleNewtCanvasAWT:test01: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.TestWindowClosingProtocol03NewtAWT:testCloseJFrameNewtCanvasAWT: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersAWTCanvas:test02SingleButtonPressAndReleaseWithShift: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNEWTWindowAWT:BeforeFirstTest: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.event.TestNewtEventModifiersNewtCanvasAWT:BeforeFirstTest: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.event.TestNewtKeyCodeModifiersAWT:test01NEWT: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.event.TestNewtKeyCodesAWT:test01NEWT: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.event.TestNewtKeyEventAutoRepeatAWT:test01NEWT: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.event.TestNewtKeyEventOrderAWT:test01NEWT: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.event.TestNewtKeyPressReleaseUnmaskRepeatAWT:test01NEWT: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.event.TestParentingFocus01SwingAWTRobot:testFocus01ProgrFocus: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.event.TestParentingFocus02SwingAWTRobot:testFocus01ProgrFocus: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.event.TestParentingFocus03KeyTraversalAWT:testWindowParentingAWTFocusTraversal01Onscreen: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.parenting.TestParenting01aAWT:test01WindowParenting01CreateVisibleDestroy1: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.parenting.TestParenting01bAWT:test01AWTWinHopFrame2FrameFPS25Animator: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.parenting.TestParenting01cAWT:test01CreateVisibleDestroy1: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.parenting.TestParenting01cSwingAWT:test01CreateVisibleDestroy1: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.parenting.TestParenting01dAWT:test01GLWindowReparentRecreateNoPreserve: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.parenting.TestParenting02AWT:test01NewtChildOnAWTParentLayouted: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.parenting.TestParenting03AWT:test01AWTOneNewtChilds01: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.parenting.TestParenting04AWT:test01WinHopFrame2FrameDirectHop: Caused an ERROR
[junit] Testcase: com.jogamp.opengl.test.junit.newt.parenting.TestTranslucentParentingAWT:testWindowParenting1AWTOneNewtChild01: Caused an ERROR

Reply | Threaded
Open this post in threaded view
|

Re: JOGL for Mac ARM Silicon

gouessej
Administrator
The issue N°6 is caused by something related to Intel driver under Windows 10, you have to patch it to make it work anew, JOGL isn't to blame, Minecraft has the same problem.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: JOGL for Mac ARM Silicon

Martin
This was clear to me but I clarified this on the ticket and added invalid label for others in case of.
Reply | Threaded
Open this post in threaded view
|

Re: JOGL for Mac ARM Silicon

yaqiang
Thanks for your effort on JOGL 2.4 Maven repo! I used 2.4.0-rc4 and 3D figure backend with JOGL can be plotted in MeteoInfoLab in Mac M1 silicon.

The OS and silicon information:


Screen-shot of MeteoInfoLab with 3D figure:
Reply | Threaded
Open this post in threaded view
|

Re: JOGL for Mac ARM Silicon

Martin
Thank you for the feedback Yaqiang!

Since you use JDK 17 from Oracle (looking at your screenshot), I think that you are not relying on the native lib compiled for Apple M1, but rather the native lib for Intel that are supported through Rosetta. This means that the previous release made available by Sven in January 2021 would work as well. Oracle JDK 17 is only provided for x64, and Azul JDK 17 was not provided for ARM at the time I built rc4. This is why my test matrix refers to Oracle JDK only for version 17 for now.

Side note - your work on MeteoInfoLab looks similar to PyZY3D. This project a Python bridge to Jzy3D (which uses JOGL). The project allows using Jzy3D through Jython and Py4j as well. Do not hesitate to PM me or discuss through PyZY3D / Jzy3D issue lists if this sounds interesting to you.
Reply | Threaded
Open this post in threaded view
|

Re: JOGL for Mac ARM Silicon

yaqiang
Thanks for your information Martin!

In fact, I have no recent version of Mac computer for testing and above is the feedback from MeteoInfo users. I am interesting in PyZY3D and will look at it.
12