Has Apple ever provided a timeline yet for the transition of their own apps to native ARM?
I am particularly interested in Logic X.
They both did and did not announce a timeline at WWDC.
They announced it in that they said they'd already ported all their apps to Apple Silicon. They even demoed new features in FCPX which depend on the Neural Engine and won't ever be available on an Intel Mac.
They didn't announce it in the sense that there isn't a timeline for release. Presumably that's because they also declined to provide a firm timeline for hardware release. The only thing we know is that they said the first hardware would ship by the end of 2020.
Just like during the PowerPC-to-Intel transition, there will be a checkbox if you use Get Info on a fat application (one which contains both ARM and x86 code) which will allow you to choose whether it launches native or under Rosetta 2. This is relevant to Logic, because when you launch Logic as an ARM application it will not be able to use any x86 plugins you might have, and if you launch it as x86 to permit it to use those plugins, some of them might not work anyways. (If the plugin requires certain optional x86 instructions and has no fallback if they're not present, it won't run. The main missing optional instructions are all of AVX.) So regardless of how well Apple does, there's going to be a lot of Logic users who will face a transition timeline based on third party developers' schedules. (and there may well be a lot of orphaned plugins which never get translated)
I'm curious, are you speculating here based on past transitions or are you posting based on work you or friends/partners etc. have done coding for Logic on Apple Silicon?Just like during the PowerPC-to-Intel transition, there will be a checkbox if you use Get Info on a fat application (one which contains both ARM and x86 code) which will allow you to choose whether it launches native or under Rosetta 2. This is relevant to Logic, because when you launch Logic as an ARM application it will not be able to use any x86 plugins you might have, and if you launch it as x86 to permit it to use those plugins, some of them might not work anyways. (If the plugin requires certain optional x86 instructions and has no fallback if they're not present, it won't run. The main missing optional instructions are all of AVX.) So regardless of how well Apple does, there's going to be a lot of Logic users who will face a transition timeline based on third party developers' schedules. (and there may well be a lot of orphaned plugins which never get translated)
They said all their professional apps, Final Cut Pro, Motion and Logic Pro will be available at day one as well as Microsoft Office suit and Adobe Creative Cloud apps; which would probably be the release of the first Apple Silicon Mac.
What I'm worried about is whether these new version of apps will run less efficiently on Intel Macs or not.
They will still be building fat binaries for the forseeable future, with both x86 and ARM coding. The installer should automatically detect the processor and install the appropriate version, so you won't be filling up your SSD with dual binaries for each application. On the Office side, all versions of Office applications (iOS, MacOS, Windows, Android) use the same code base, so the only differences will be the OS and platform-specific hooks. The same should be the case with x86 and AS builds of those apps on the Mac.
Logic is already working on Apple Silicon. They showed it running the Billie Eilish demo at WWDC on their DTK.
All Apple applications will run on day one of the transition. The bigger question is 3rd party plugin support and how drivers will work.
I'm curious, are you speculating here based on past transitions or are you posting based on work you or friends/partners etc. have done coding for Logic on Apple Silicon?
Not trying to swipe at you here, it's just there's a lot of information in your post that I haven't been privy to. All I do know is the WWDC events showed Logic running native on AS, and one of their developers claimed that Audio Units would run in Rosetta. So as an end user I was assuming that plug ins would be ported to work natively in AS with maybe a tiny hit performance wise, but not with Logic running in Rosetta.
No doubt some applications will not port, but I get the impression this isn't as hard as PPC to Intel, since Apple has been tweaking OS X over the last two or three versions to be more compatible with AS.
Thanks, you seem to be right about this. Doing a search I found a quoted Facebook Post that's been shortened, probably due to NDA etc. that confirms this. https://www.macosaudio.com/forums/viewtopic.php?f=7&p=380921#p380921No worries, these are fair questions.
I wasn't speculating, nor was I basing it on having worked on Logic plugins. Instead, I was going off of the known fact (discussed by Apple in WWDC sessions) that Rosetta 2 is all-or-nothing, meaning that mixing instruction set types inside the same process is not allowed.
What I didn't remember is that some macOS plugin architectures (especially newer ones) can run plugins in a separate process from the app. Plugins which run in their own processes can be compiled for a different ISA than the main app.
I've been trying to look into the Audio Unit API a bit so I can provide better clarification. It looks like there are two basic types of Audio Units still supported: those built with the Audio Unit v2 API, and those built with the newer v3 API (introduced circa 2015).
v3 AUs can be loaded in- or out-of-process. The default is out-of-process, but if the audio unit is designed for it and the hosting app opts in, v3 audio units can be loaded in-process. (The reason to do so is reduced latency and overhead.)
The Audio Unit v2 API is older, and v2 AUs are always loaded in-process. (Or so says the video I'm getting info from. Timestamp 16:35 is where they start talking about this issue.)
WWDC15 - Videos - Apple Developer
developer.apple.com
So, it seems possible that v2 AUs which only have x86 code could force you to launch Logic as an x86 app if you want to use them. Newer ones built with the v3 API can always be loaded out of process, so they should work even if the Audio Unit is x86 and Logic is native.
(I also mentioned potential missing instructions. Rosetta doesn't emulate all the optional ISA extensions found in modern x86 CPUs, most notably AVX. Since these are not guaranteed to be present even on real x86 processors, developers should have been providing fallback paths in case the processor doesn't implement the optional extension. If your plugin or app has such fallback paths, it'll run under Rosetta, otherwise it will likely crash with a request that you contact the developer for an update. Fortunately, this should be rare.)
Unify is up and running on Apple Silicon! Just received my Apple Developer Transition Kit today (ARM based Mac Mini). This is the regular Intel build running under Rosetta; it works very well and loads third-party plug-ins. I have also succeeded in compiling Unify for ARM, and it works very well, but does not load third-party plug-ins compiled for Intel. (Guru Sampler and all the other built-ins work beautifully.)
Has Apple ever provided a timeline yet for the transition of their own apps to native ARM?
I am particularly interested in Logic X.
Apple has stated that all of their apps will be ready on day one. My guess is that they'll release Universal (2) Binaries the day the first Apple Silicon Macs start shipping so that anyone picking up an Apple Silicon Mac will be able to just go to the Mac App Store and download their Apple apps as though there wasn't a processor architecture transition taking place.
At launch or as late as WWDC 2021.Has Apple ever provided a timeline yet for the transition of their own apps to native ARM?
I am particularly interested in Logic X.