Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
This assumes that you're only using high level language constructs. There's a lot of applications that include assembly for performance, or otherwise directly access the CPU. The two big ones are Fusion and Parallels, which virtualize (not emulate) the CPU, to give access to windows software.

I believe there are very few macOS application having assembly code. Even the operating system has very few parts in assembly (mostly low level routines like encryption/decryption).

Even virtualization software like Parallels and Fusion is probably written almost entirely in a C-like language and no or very little assembly.

macOS as a Hypervisor API which Parallels and Fusion probably use. macOS will not let an application take control of the CPU so this programs are still going through the operating system.
 
Parallels MacAppStore version is already using this.
This is Apple's "KVM".

This feature was added in 10.10 so 5 years ago and I do not think it will go away on ARM Mac.

You realise that Framework is exposing an API for the virtualisation technologies built into Intel/AMD CPUs, right? It's not just software.

Even in some wild fantasy world where Apple has an ARM CPU that supports a hypervisor at the hardware level, that would just mean you can run ARM based virtual machines.
[automerge]1582646620[/automerge]
removing support for Cocoa
... I'm sorry they did what now?
 
Windows users can make the jump to a Mac, but still have options for specialised/legacy Windows apps they need to run:
I actually helped folks buy their first Mac understanding that I’d help them set up a BootCamp partition. Months later I’d check in on them to see if they’re having problems on the Mac side and many of them had not even booted back into Windows because they preferred the Mac side and just figured out how to do what they wanted to do there, which was invariably, check email, check facebook and surf the web.
Meanwhile, I hear equally smart people saying they’re wrong and ARM is the future.
Any processor can do what you write code for it to do. That’s the fundamental truth. There are special instructions at the CPU level in certain processors that may make certain things EASIER, but, if you’ve got the knowledge you can make an OS that provides any services on any processor. That’s how folks are able to do so much with a Raspberry Pi. I’m not saying ARM is the future, I’m just saying there’s nothing particularly magical about Intel’s processor, it’s just the one most are familiar with.
 
  • Love
Reactions: Galve2000
Have you ever used something doing emulation of another CPU architecture?

Yes - as has anybody who was around for the shift from 68k to PPC and/or PPC to Intel (Rosetta) and found it "good enough" to smooth out the transition. There's a big difference between running applications under something like Rosetta (technically - binary translation rather than emulation) with all the OS calls running natively vs. something like SoftPC/SoftWindows (shudder!) where the entire OS was running under emulation.

Of course, if you switch before your "pro graphics/audio/scientific computing" workflow is mainly available in native form then that's a mistake and, yes, Apple could wreck it if they dump Intel overnight.

Ever wondered why the iOS Simulator doesn't simulate an ARM CPU, it simulates iOS on x86?

Ever wondered why the iOS simulator has no trouble in compiling an x86 version of code "written for ARM" without any changes by the developer?

Not to mention any number of tools that rely on hardware features, and then those that rely on hardware acceleration of features.

...which is what MacOS frameworks like Accelerate and Metal are for, and why Apple has been pushing developers towards using them for some time now.

One of the huge benefits of the Intel shift, is that Windows users can make the jump to a Mac, but still have options for specialised/legacy Windows apps they need to run: either via Bootcamp, a hypervisor like Parallels or VMWare, or in some cases even via tools like Wine.

True, and that was a big deal in 2006 - but will it still be a big deal in 2022/23, 15+ years after the mobile boom and web applications (e.g. Google Docs: 2006) started weakening the Wintel monopoly?
 
  • Like
Reactions: MikeZTM
Even virtualization software like Parallels and Fusion is probably written almost entirely in a C-like language and no or very little assembly.

macOS as a Hypervisor API which Parallels and Fusion probably use. macOS will not let an application take control of the CPU so this programs are still going through the operating system.
Not being written in asm isn't really the problem for Parallels and Fusion (and Virtualbox). The problem is they all rely on hardware features found in Intel and AMD CPUs. As I said above, even a mythical "desktop ARM" processor that provides similar APIs is just going to let you run an ARM VM, which doesn't really solve the problem.

Also consider that the hypervisor support in x86 CPUs had a lot of "push" from server use to drive it where it is today. Joe C. Office user with a Parallels VM is getting the benefit of a decade and a half of Intel and AMD working on this technology, a long time after it was being used in server rooms and data centres.
 
You realise that Framework is exposing an API for the virtualisation technologies built into Intel/AMD CPUs, right? It's not just software.

Even in some wild fantasy world where Apple has an ARM CPU that supports a hypervisor at the hardware level, that would just mean you can run ARM based virtual machines.
[automerge]1582646620[/automerge]

... I'm sorry they did what now?

You got it wrong.
That's a hypervisor software.

Intel/AMD does not have virtualization software. All their CPU did was ram/register remapping(VT-x) and I/O remapping (VTd).
Apple Hypervisor API is a fully working virtual machine without UI/client driver package. Just like MS Hyper-V Core.

Raspberry Pi already runs KVM and you can even run Windows 10 ARM in KVM.
If Pi can do it why apple can not?
 
I know nothing about hardware design. Nothing. I’m a software guy.

But I’ve heard some very intelligent people (micro-architecture specialists) say that x86/64 is much more sophisticated, such that even a seemingly-more advanced ARM processor can’t replicate the multitasking, parallel computing required by a full desktop operating system.

Meanwhile, I hear equally smart people saying they’re wrong and ARM is the future.

Which is it?

the latter. Anything you can do in micro architecture for an x86 you can also do on ARM.

X86 and arm are instruction set architectures, Not micro architectures.
 
A switch from x86/x64 to ARM is not like the last time because it is not a switch to a popular majority architecture. Looking at the desktop/laptop market, ARM is the unpopular minority architecture.

Looking at the total software industry, ARM is not a minority architecture, and desktop is not the majority market. The vast number of mobile devices and mobile app developers makes ARM the majority architecture in terms of total shipping products. Cloud comes in second, with the vast majority of cloud services being ISA agnostic.
 
That's a hypervisor software.

Yes, it is.

Intel/AMD does not have virtualization software.

I literally never said they do.

All their CPU did was ram/register remapping(VT-x) and I/O remapping (VTd).

You should go tell VMware, Parallels, the VirtualBox team at Oracle, the XEN team, not to mention Intel and AMD that hardware assisted virtualisation is not a big deal, and we can all go back to pure software VMs from the 90s, shall we?

Apple Hypervisor API is a fully working virtual machine without UI/client driver package.

Literally the first sentence under the "Supported Hardware" section on https://developer.apple.com/documentation/hypervisor is :
Generally, machines with an Intel VT-x feature set that includes Extended Page Tables (EPT)and Unrestricted Mode are supported.


So, tell me again what I got wrong, mate?
 
I actually helped folks buy their first Mac understanding that I’d help them set up a BootCamp partition. Months later I’d check in on them to see if they’re having problems on the Mac side and many of them had not even booted back into Windows because they preferred the Mac side and just figured out how to do what they wanted to do there, which was invariably, check email, check facebook and surf the web.

Any processor can do what you write code for it to do. That’s the fundamental truth. There are special instructions at the CPU level in certain processors that may make certain things EASIER, but, if you’ve got the knowledge you can make an OS that provides any services on any processor. That’s how folks are able to do so much with a Raspberry Pi. I’m not saying ARM is the future, I’m just saying there’s nothing particularly magical about Intel’s processor, it’s just the one most are familiar with.

The reason you have so much open source support for Raspberry Pi is because of its open design.
With locked down hardware and OS there will be no open source community.
 
  • Like
Reactions: AlumaMac
Yes, it is.



I literally never said they do.



You should go tell VMware, Parallels, the VirtualBox team at Oracle, the XEN team, not to mention Intel and AMD that hardware assisted virtualisation is not a big deal, and we can all go back to pure software VMs from the 90s, shall we?



Literally the first sentence under the "Supported Hardware" section on https://developer.apple.com/documentation/hypervisor is :



So, tell me again what I got wrong, mate?

They only support VT-x platform because they only have VT-x (for now). And it's crazy to implement non-VT-x version when all Mac since 2010 or maybe even earlier support VT-x.

If they ever go AMD then Apple need to implement AMD's remapping technology. Same as going ARM.
And just check how Microsoft Hyper-V still not supporting nested VM on AMD yet.

And Raspberry Pi already support KVM now. Why Apple will not support VM?
[automerge]1582647941[/automerge]
The reason you have so much open source support for Raspberry Pi is because of its open design.
With locked down hardware and OS there will be no open source community.

That also applies to Intel Mac.
If they lock it down then obviously no more open source for them either.

Will Apple lock ARM Mac down? Probably.
Will ARM be the reason for the lock down? No.
 
Great, so your argument is "nobody needs other software because these people I know, use a Mac when they could actually just use an iPad and be as productive"?

There's a difference between nobody, and too small a market to focus on their legacy needs. Of that tiny segment, Apple seems focused on mainly two groups, those who can afford Pro Macs, and developers. And most of Xcode's guts, swiftc, and command-line tools run just fine on ARM.
 
  • Like
Reactions: Unregistered 4U
They only support VT-x platform because they only have VT-x (for now).
...

You're either missing the point or you're being deliberately obtuse. They rely on hardware virtualisation because it's crazy to do it in software alone.

Ok, great - to my surprise ARM already specifies virtualisation extensions - whether Apple's implementation will/would support that is another question. But that still takes us back to the crux of the issue:

You're still just creating an ARM virtual machine. That doesn't help anyone who wants to run something on an x86 VM, as they do currently, which is my entire point.
[automerge]1582648350[/automerge]
There's a difference between nobody, and too small a market to focus on their legacy needs. Of that tiny segment, Apple seems focused on mainly two groups, those who can afford Pro Macs, and developers. And most of Xcode's guts, swiftc, and command-line tools run just fine on ARM.

Ah, the old "developers on Macs must be using Xcode and targeting Apple platforms" theory.
 
And their performance is ****ing abysmal. They are evidence of why web technology is not a good choice for desktop applications, not evidence that some great swath of Mac applications is going to be available on Day 1.
I agree they are not exactly the best desktop application experience, but this is irrelevant to the discussion of porting them to ARM. The point is that they don't contain platform-dependent code since they rely on a framework abstracting a lot of stuff away from them, so the developers of the applications would likely need to do very little if anything.

As you properly point out, the framework itself would need to be ported and that would require work, but both Chromium and NodeJS are already multi-platform projects, with support for ARM to boot, so the groundwork is there already.
 
Definitely the kind of transition that would require a long lead time for the development community. I really hope they touch on this and give us some insight at this year's WWDC.
 
Looking at the total software industry, ARM is not a minority architecture, and desktop is not the majority market. The vast number of mobile devices and mobile app developers makes ARM the majority architecture in terms of total shipping products. Cloud comes in second, with the vast majority of cloud services being ISA agnostic.
But the rumor in OP is specifically about Apple switching their desktop and laptop products to ARM. Not cloud. Not mobile, which is already ARM. I don't see the use in looking at the total software industry when the change is only relevant to a slice of it.

Hence the relevant market to look at is desktops and laptops, where ARM is undeniably the minority architecture.
 
...

You're either missing the point or you're being deliberately obtuse. They rely on hardware virtualisation because it's crazy to do it in software alone.

Ok, great - to my surprise ARM already specifies virtualisation extensions - whether Apple's implementation will/would support that is another question. But that still takes us back to the crux of the issue:

You're still just creating an ARM virtual machine. That doesn't help anyone who wants to run something on an x86 VM, as they do currently, which is my entire point.
[automerge]1582648350[/automerge]


Ah, the old "developers on Macs must be using Xcode and targeting Apple platforms" theory.

Why you need a x86 VM?
We are talking ARM is as capable as x86. We do not need to run binary that was built for x86.

GCC compiles for ARM for two decade already. it's not about Apple+Xcode. If any one targeting more OS they probably already target multi arch as well. Changing OS is much complex than changing CPU arch.
 
Hence the relevant market to look at is desktops and laptops, where ARM is undeniably the minority architecture.
This is only if they fail in their goal of unifying the two markets, which is likely one of the reason for the push towards ARM in the first place.
 
But the rumor in OP is specifically about Apple switching their desktop and laptop products to ARM. Not cloud. Not mobile, which is already ARM. I don't see the use in looking at the total software industry when the change is only relevant to a slice of it.

Hence the relevant market to look at is desktops and laptops, where ARM is undeniably the minority architecture.

With Intel's roadmap 5 year ago they would drop x86 compatibility after Icelake. That should be those "Rapids" CPU.
Starting from dropping x87 support first and other "cold" instruction follows. So Intel is also going minority.

Minority isn't a big deal as Apple Mac isn't a majority now anyway.
 
Last edited:
Bummer, so no bootcamp then. only RT or some other borked version on these.

I wonder if it'll be an APU with graphics as well. Mac really needs to make gaming a thing now playable graphics has broadly become ubiquitous.
Most likely - Latest model iPad Pro’s run Fortnite at highest settings @ 120fps with no dropped frames. It is pretty insane.
 
  • Wow
Reactions: Galve2000
I am guessing Apple will keep 2 lines of products, both Intel (iMac, Macbook Pro) and Arm (Macbook, iPads etc).

Agreed. Apple Mac Device is a lot more expensive and does not have the large quantity of market share and user base to accelerate ARM architecture adoption for non-smartphone device.
 
Last edited:
You're just ****ing with me now aren't you?


Oh I didn't realise you were the ****ing arbiter of what apps "we" do and don't need to run.

If you need to run old apps then currently you already screwed by Catalina. x86 VM will not help you at all.

If you just need Windows x86 app then running a ARM windows VM and using Microsoft's x86 compatibility layer is good enough for you.

And do you really thinking Apple will not build a Rosetta 2.0 for this transitioning?
 
  • Like
Reactions: MacsAre1
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.