gama-platform / gama.old

Main repository for developing the 1.x versions of GAMA
GNU General Public License v3.0
302 stars 99 forks source link

Test with M1 processors #3324

Closed AlexisDrogoul closed 2 years ago

AlexisDrogoul commented 2 years ago

GAMA 1.8.2 needs to be tested with M1 processors (macOS) to understand what works and doesn't with Rosetta and to produce and test an M1.

If you have the chance to do it, please comment on this issue.

agrignard commented 2 years ago

On my side I am now running a project using the M1 processor and now that this issue has been fixed https://github.com/gama-platform/gama/issues/3282 I didn't see any special behavior related to M1.

Do you need some test on some specific part?

AlexisDrogoul commented 2 years ago

@agrignard I assume you are using the compatibility layer of Rosetta2 ? It's good to know that things are running smoothly ! The goal is to test this more thoroughly (ie run all models on it), then move on to running GAMA on an native M1 version of Eclipse (with a native JDK, see https://adoptium.net/releases.html), native SWT libraries, and hopefully a native version of JOGL compiled for M1 (see https://github.com/jzy3d/jogl-macarm64-builds or this post here https://forum.jogamp.org/JOGL-2-4-and-Java-17-report-tp4041572p4041666.html -- actually, the 2.4rc4 version we carry in GAMA already has the M1 lib included). Last thing will be to up the maven/tycho toolchain to produce a native M1 version (with possibly native physics libraries, if they are available: https://github.com/jMonkeyEngine/jmonkeyengine/commit/b40a91d2d26bffd7de7842e2eb7dbdcd45314d98).

So if you can browse through the model library and test them on M1+Rosetta2 and report any specific issues here, that would be great. We have also ordered a M1 MacMini at the lab yesterday and we should begin the exploration of the native versions !

AlexisDrogoul commented 2 years ago

For information :

AlexisDrogoul commented 2 years ago

I added the missing SWT component in the product.

@RoiArthurB now we just need tycho to pull the right JVM and to build the native components -- and this issue will be closable !

RoiArthurB commented 2 years ago

GAMA is compiling for native M1 since 4822a6220f216a86a77e0162f9477da88d6ecec0 and since b90d5d4 Github Action should be able to make full release with M1 too 🥳

RoiArthurB commented 2 years ago

Please, try the new release with the brand new M1 native build, and if it works we can close this issue :) https://github.com/gama-platform/gama/releases/tag/1.8.2

AlexisDrogoul commented 2 years ago

Closing #3331 in that case !

AlexisDrogoul commented 2 years ago

We still have some peculiar issues in this release (strange behaviour of modal views -- see #3332), light and dark themes not completely respected, "Preferences" menu item not available in the application menu... Small but annoying issues.

AlexisDrogoul commented 2 years ago

@RoiArthurB Another round of releases is probably necessary (or maybe only the one for M1 Macs). I may have identified what was missing -- a fragment dedicated to SWT on Cocoa -- but I dont know if this fragment is suitable for the aarch64 architecture.

AlexisDrogoul commented 2 years ago

Seems that the previous solution was the good one. I now close this issue -- as we have a more specific one open on modal views (#3332 )

agrignard commented 2 years ago

I see in the release that we have one release for Mac and one specific for M1, is it temporary? On my case I was not using Rosetta but the classic mac with JDK and it was ok.

let me know how I can help. Testing the M1 release for instance?

AlexisDrogoul commented 2 years ago

It is not temporary at all. In your case, if you have an M1 processor, you have been using Rosetta -- but without knowing it. The speed increase is impressive : running GAMA side by side on Rosetta or natively sees the latter run 2 to 3 times faster.

agrignard commented 2 years ago

Ok i might have miss something. I am running a "normal" (by normal I mean it doesn't contain the string M1 in the name of the release) GAMA version as I was not able to install Rosetta (as described here https://github.com/gama-platform/gama/issues/3282)

I will try the new M1 on the M1 then. Looking forward to seeing the speed