Thoughts about ARM CPU on macOS


Based on an Apple Insider article

@Hugo_Ferreira on the Adobe forum asked the question Mac ARM Processor

where I basically answer it would not a big task for Adobe to port to yet another CPU architecture,
simply because the AVM2 (and Flash and AIR) are already structured in such a way to support multiple CPU arch and multiple platforms.

all good but there is a bit more to say.

in the mean time Linus Torvalds posted on Why ARM Won’t Win the Server Space
where he makes a very point of why ARM CPU will not take X86 CPU on the server
also see the may hacker news comments

and now here a thread from the Microsoft side, which is very interesting because they did port Windows to ARM and gained experience/perspective from that

original tweet

here the thread

and at the end the author Steven Sinofsky point to that other interesting article
Building Windows for the ARM processor architecture

In fact, for a company as big as Apple or Microsoft, porting a whole OS to another CPU architecture is not a big problem, they do have the resources to do that, after it is more a “wait and see” to comment if it was a good strategy or not for them.

Here what I know with Windows on ARM, I could not care less, never supported it and did not plan to support, probably will never support it, why? not enough users to even bother supporting it.

And well… Microsoft gives up on Windows 10 Mobile

To compete on mobile sure Microsoft had no other choice to support ARM, but then the problem is the users did not follow their move.

Now, there is a good output from all that: we have now nice Microsoft hardware (Surface) with pretty good support for touch and still running software on X86 CPU, which is kind of “best of both world” in my opinion.

And even better, from a dev point of view, we have Windows 10 with Windows Subsystem for Linux with all of the things mentioned above and a hell lot of improvements to the command-line under Windows.

Now concerning macOS, well I do use it as my regular dev station, I jumped with both feet into mac as soon as Apple decided to move their CPU from PPC to X86 long time ago, and it is very simple: it gives me a OS with a stable GUI where I can run graphics tool like Photoshop/Illustrator/etc. and with a POSIX subsystem on the command-line where I can run pretty much almost all the same tools as Linux, this is a great combo for a dev.

Technically if Apple decide to move macOS to ARM CPU, yeah not a big deal, as long as they port the OS, tools, compilers, etc. for me as a user and a dev it is basically just an update to the OS, probably a change of hardware, and as long as all the tools I’m already using are ported there too, it could be seamless.

But … I also know that macOS on the desktop is not a big share of the market, maybe 6% of users worldwide, and I also know Apple disappointed a lot with their non-updated (outdated) hardware (to the point where it was saner for me to move to a hackintosh), and I feel like they better “get it right” otherwise this macOS on ARM may be THE thing that will make me leave the macOS platform as my main platform.

I like the idea of Marzipan (see that other post about it) but I just know that if Apple use that ARM CPU for macOS as a way to lock the users to their overpriced hardware, well… that’s not gonna fly with me.

Mind me, I have no problem to pay good money for hardware and software, but if it is a way to get me stuck or to “shut me up” as a user, or any other kind of situation that I deem “unfair”, well… I gonna spend all that money to get the hell out of your platform instead.

I just know that if other dev do not port their tools/apps/games/etc. from X86 CPU to ARM CPU, I will be pissed off, I do depends on software, here a little list of total blocker (eg. if I can not run those I can not work)

  • most of Adobe products like Photoshop/Illustrator/Animate/etc.
  • any VM software like VirtualBox
  • all the command-line tools, and I do mean all of them
  • especially dev tools like euh … Java and so a JVM and a Java SDK or any SDK that I already use for that matters
  • and many more

simply put, everything is ported to ARM but there is no JVM or Java SDK, then I’m gone

that’s a very likely scenario, Apple does not support Java on macOS anymore, Oracle still produce Java SDK for macs, but will they take the time to port everything from X86 to ARM?, hey look, does not depend on Apple anymore, it depends on Oracle.

If Oracle or Adobe or whoever else software vendor you are depending on decide to not port to ARM you are basically f*cked.

And no, it will unlikely be as simple as “just update your XCode and recompile”, because it does not depends just on XCode and its tooling, what if your build depends on Python and python is not ported to ARM? what if it depends on Java tools and there is no JVM on ARM? etc.

As much the move from PPC to X86 was pretty fast and absolute, I don’t see the same move possible from X86 to ARM, Apple will probably have to support both ARM and X86 for many years before even thinking going all full ARM on us.