airsdk / Adobe-Runtime-Support

Report, track and discuss issues in Adobe AIR. Monitored by Adobe - and HARMAN - and maintained by the AIR community.
200 stars 11 forks source link

Apple Silicon #359

Closed SolidSoft-Lda closed 3 years ago

SolidSoft-Lda commented 4 years ago

Do you have plans for early adopter Apple Silicon version of AIR: https://www.apple.com/newsroom/2020/06/apple-announces-mac-transition-to-apple-silicon

ajwfrost commented 4 years ago

Yes - in terms of AIR applications running on these new Mac platforms, that's fine, and we've applied for their beta program to get hold of hardware asap.

In terms of the AIR SDK running on this - there are a couple of dependencies for this, obviously we'd need the Android SDK build tools to be available on it, and we'd also need to check how the iOS compilers might work on this. I would hope that we can get the AOT compiler running on it but assume that it would only be the 64-bit one so like Catalina, you wouldn't be able to target legacy iPad/iPhone hardware that's only 32-bit...

SolidSoft-Lda commented 4 years ago

Thank you very much for your quick reply !

Currently I'm using AIR (from Adobe) only for Desktop.

A few questions:

  1. I guess that I will need a license from Harman to have access to this future update with support for Apple Silicon (ARM), correct ?
  2. If I purchase a license and in the second year I don't need to update/republish, do I have to renew the license ?
ajwfrost commented 4 years ago

@SolidSoft-Lda Yes to the first question, Adobe won't be doing this so you'd need to have the SDK from us. No to the second question - the license is only needed if you're actively using the SDK, so if you're not having to update it then no need to renew the license.. thanks

SolidSoft-Lda commented 4 years ago

Great. I look forward for this release and I will update my AIR SDK from Harman.

zwetan commented 4 years ago

a x86_64 binary should work fine under Apple Silicon

About the Rosetta Translation Environment

Rosetta can translate most Intel-based apps, including apps that contain just-in-time (JIT) compilers.

Porting Just-In-Time Compilers to Apple Silicon

SolidSoft-Lda commented 4 years ago

Yes, I know that there is a translater that give up pleny of time. There is no other way with so many Intel Apps at time time. However knowing Apple behaviour from the past, at same point they will probably mark Intel Apps as deprecated and then release a version that does not work anymore with Intel Apps that even so, I believe that this would take years. Having a ARM version would remove that issue and will not suffer from the slow performance of the translation process.

zwetan commented 4 years ago

I don't think I said in my comment that we should not convert the AIR runtime to ARM I was pointing at official Apple documents, and merely implying "we have time"

SolidSoft-Lda commented 4 years ago

Yes we have time but we should not leave to the end as we did with Android-x64. This kind would be nice to breathe. I also don't said that you said. The world doesn't rotate around you :)

zwetan commented 4 years ago

The world doesn't rotate around you :)

you are definitively reading more into my comments that what my comment says

when you say

Yes we have time but we should not leave to the end as we did with Android-x64.

I would argue it's not your prerogative to tell the developers of the AIR SDK how and when to do it

SolidSoft-Lda commented 4 years ago

Even here you interfere with my posts and spoil it. I think you are not their advocate and on this site you are not the admin. Please, return to your little world tied to Flash. I will not answer anymore to you.

koljanowak commented 3 years ago

So what is the current expectation regarding AIR on Apple Silicon and Rosetta 2, the runtime which runs x86_64 binaries? Is Harman working on this?

From what I've seen on the Apple support forums, most x86_64 software which contains some just-in-time compiler doesn't work out of the box because of some memory protection issues, but I also don't understand the issues well enough, so I have no idea if that is something which can be fixed without a full arm64 port.

I have the DTK (the Apple Silicon hardware provided as part of their beta program) at my hands, and I tested my AIR application on this system, using Harman's latest AIR SDK for macOS (33.1.1.300).

It doesn't run, it immediately crashes with EXC_BAD_ACCESS / KERN_PROTECTION_FAILURE.

The applications runs fine on an Intel mac using the latest beta of macOS 11 Big Sur, though.

Oldes commented 3 years ago

I hope this will be resolved too.

myflashlab commented 3 years ago

I just upgraded to a Mac M1 chip and compiled with the latest SDK and our desktop software are now all working fine as expected. However it seems like we are now using the Rosetta thing. Right @ajwfrost ? if so, it would probably be nice to have plans to move the desktop build to ARM in future. Thanks.

ajwfrost commented 3 years ago

Yes currently it's possible to use Rosetta although there are some instabilities still that we're working through; but yes, the plan is to move to native support.

marchbold commented 3 years ago

Would be good to have a timeline on this, as we will need to plan to make support available for our ANEs as well.

koljanowak commented 3 years ago

Hmm, so what am I doing wrong? My Air desktop application (using the captive runtime) does not run on the ARM Mac, but works on Big Sur on x86_64.

koljanowak commented 3 years ago

Hm, is it possible that the CPU in the DTK (the "Device Transitioning Kit" provided early to developers) and the M1 CPU (the devices in the market now) are different enough, so that an AIR x86_64 app doesn't run on the former, but does on the later?

@ajwfrost do you know anything about this?

@myflashlab is it possible that I test your application on my DTK, to verify this theory?

ajwfrost commented 3 years ago

There may be differences between the DTK and the production devices, although I think it's more likely that the success or not would depend on exactly what it's doing .. particularly around the JIT as you mentioned earlier. If you send us your app we can take a look perhaps?

myflashlab commented 3 years ago

is it possible that I test your application on my DTK, to verify this theory?

Have not yet prepared the new version for an official release but that may happen by the end of this week...

marchbold commented 3 years ago

Most of our experience with the dtk has been terrible, nothing seemed to work as expected on it.. we gave up testing all our air, unity and native apps on it in the end. Honestly I'd suggest ignoring any issues you are having with it and move to a real silicon machine.

koljanowak commented 3 years ago

@ajwfrost sure, if you wanna take a look I would be very grateful. Or anyone who already has access to a M1 machine. I'm waiting for mine, but it would be really great to get clarity on this.

-> https://nowak2000.de/transfer/51e88add5343d2062b65c97f74aac6cb/dlancockpit_frontend_osx.tar.gz

The app itself needs a backend/daemon and some physical devices to do something meaningful, without that it will just display an empty window and a message about the missing backend. But that's OK, on my DTK it crashes before even displaying the main window, so if someone sees the main window that's already a win.

myflashlab commented 3 years ago

@koljanowak well, works normal on my side!

Tip: in your project manifest set <requestedDisplayResolution>high</requestedDisplayResolution> and the overall graphic will be sharp and clear. it seems like your app does not have that setting. cheers.

koljanowak commented 3 years ago

That's great to hear, many thanks vor trying, and for the tip!

Also, wtf Apple ... ^^

salbeik commented 3 years ago

@myflashlab Hi, would it be possible for you to check if my app also works on the M1, I would greatly appreciate it? If possible I would just like to know if it starts up, thats all. my app can be found here: www.notesandmath.dk > Press download in the top menu.

ajwfrost commented 3 years ago

Closing this issue since the SDK release 33.1.1.476 is now building natively for M1 i.e. Universal Binaries that contain both x86_64 and arm64 code in them

urthling commented 3 years ago

Just submitted a .476 build but its showing as not compatible in App Store Connect

@marchbold are your ANEs supporting x86_64?

rafrafek commented 5 months ago

The installer sadly still requires Rosetta

image