Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

kaans

macrumors regular
Original poster
Nov 17, 2014
239
67
With no Bootcamp, I wish there was a native VM solution this time around, kind of like Hyper-V on Windows, which is the best in-OS VM solution I've ever used

It seems Virtualbox isn't making it: https://forums.virtualbox.org/viewtopic.php?f=8&t=98742

So what options do we have?

(As a paranoid developer, I hope we won't have to use something like Parallels, which seems too thrashy i.e. taking control of everything with unclear implications, even Virtualbox was barely tolerable)
 

jdb8167

macrumors 601
Nov 17, 2008
4,859
4,599
Apple is supplying a hypervisor framework for Apple Silicon (and x86). It isn’t clear if the framework works on the development machines or if it will work before the release of real Apple Silicon hardware. The Big Sur framework has been extended with additional functionality from the older version.

It seems fairly clear from the Big Sur documentation and the WWDC videos that Apple Silicon is intended to support virtual machines in a big way. I think it is likely that the loss of VirtualBox and maybe VMWare from the macOS market leaves a pretty big opportunity for some developer to fill.
 
  • Like
Reactions: lobo1978 and kaans

kaans

macrumors regular
Original poster
Nov 17, 2014
239
67
Thanks for the info, exciting, researched a bit - https://developer.apple.com/documentation/hypervisor

Some claim that ARM virtualization only virtualizes ARM (Reddit), the above documentation doesn't detail anything either

There's also this article https://appleinsider.com/articles/2...apps-boot-camp-not-an-option-on-apple-silicon - but it basically says that existing virtualization solutions won't work, which was a given anyway

Anyway, TL;DR: I can't find anything that conclusively points to x86 virtualization on Apple ARM
 

johngwheeler

macrumors 6502a
Dec 30, 2010
639
211
I come from a land down-under...
With no Bootcamp, I wish there was a native VM solution this time around, kind of like Hyper-V on Windows, which is the best in-OS VM solution I've ever used

It seems Virtualbox isn't making it: https://forums.virtualbox.org/viewtopic.php?f=8&t=98742

So what options do we have?

(As a paranoid developer, I hope we won't have to use something like Parallels, which seems too thrashy i.e. taking control of everything with unclear implications, even Virtualbox was barely tolerable)

Why not just use a Windows VM from AWS or MS Azure? I hardly touch VMs on my local workstation these days. Unless you need super fast local I/O bandwidth (or have a poor Internet connection), remote VMs perform pretty well, and are easier to manage. They only cost pennies per hour to run as well.
 
  • Like
Reactions: Moonjumper

dogslobber

macrumors 601
Oct 19, 2014
4,670
7,809
Apple Campus, Cupertino CA
Virtualbox is x86 virtualization on x86 hardware which requires CPU hardware support. Not gonna happen. There will be some type of virtualization solution in the Apple ARM CPU which will allow running ARM Linux only by the latest info we have.
 
  • Like
Reactions: Janichsan

kaans

macrumors regular
Original poster
Nov 17, 2014
239
67
I have very poor internet connection personally, I mainly use Windows/Linux to compile and test game builds, a remote VM is an idea I haven't considered before to be honest (high download/upload speeds from a VM is a pro, the con is the lack of efficient UX/graphics testing), it doesn't seem like a bad idea, but when you think about it, it makes more sense to keep a Windows device around, or even buy a cheap one: https://www.amazon.com/Acer-Display-Graphics-Keyboard-A515-43-R19L/dp/B07RF1XD36/ (There are other edge but occurring use cases too, like the occasional firmware updater that just runs on Windows etc.)

At that point, it makes more sense to just stick to Intel Mac's
 

jdb8167

macrumors 601
Nov 17, 2008
4,859
4,599
Thanks for the info, exciting, researched a bit - https://developer.apple.com/documentation/hypervisor

Some claim that ARM virtualization only virtualizes ARM (Reddit), the above documentation doesn't detail anything either

There's also this article https://appleinsider.com/articles/2...apps-boot-camp-not-an-option-on-apple-silicon - but it basically says that existing virtualization solutions won't work, which was a given anyway

Anyway, TL;DR: I can't find anything that conclusively points to x86 virtualization on Apple ARM
Apple has already said that there won’t be x86 virtualization on Apple Silicon. The hypervisor framework will only virtualize a cpu using the same architecture. Arm virtualizes arm and x86 virtualizes x86. You really aren’t talking about virtualization anyway if you are going cross architecture. That is emulation. I suppose even then you might use the hypervisor framework if you were emulating x86 but Apple is not going to do anything to help with that. Another 3rd party opportunity.

There is already an option to use the older version of the hypervisor framework with Parallels. I’d imagine they intend to support it on ASi Macs. There is another VM that uses it too but the name of the company and product escapes me right now.
 
Last edited:
  • Like
Reactions: Janichsan

psingh01

macrumors 68000
Apr 19, 2004
1,586
629
Parallels was demoed at wwdc with some kind of arm linux. So that will be an option.
 

DearthnVader

Suspended
Dec 17, 2015
2,207
6,392
Red Springs, NC
No hypervisor can accelerate a CPU of a different architecture or instruction set.

If you are on ARM the hypervisor is ARM also.

So to run x86 on ARM you need emulation, not virtualization.

Qemu supports multi-threaded TCG( Tiny Code Generator ) on x86 targets. So you can emulate multiple cores in your guest, and each core will run in a core or thread on your host CPU. While not as fast as a hypervisor, it should, in theory speed things up quite a bit for multi-threaded operating system emulation.

UTM, a Qemu branch for the iOS devices plans on a version for Apple SoC and the macOS.
 

JamesBerry

macrumors member
Jan 6, 2009
82
29
Yes, this would need an emulation product rather than virtualisation. Apple have said Rosetta won't be able to be used for this kind of translation.
Qemu is the linux product that emulates other architectures - and it has been used to emulate Windows on eg. Raspberry pi's which are also ARM based but it's quite early days.

I suspect it will eventually be possible but I'm planning on keeping my old intel mac around to run windows when I need to.
 

kaans

macrumors regular
Original poster
Nov 17, 2014
239
67
Yeah, it seems what I hoped for was "Emulation" indeed - and I guess it's safe to assume it won't be practically possible

I guess since eGPU's are a thing, an eCPU with a minimal x86 processor would be cool as a dream - basically a tiny low power remote computer that draws power from the USB4 connection (a related discussion: https://www.reddit.com/r/eGPU/comments/e2l8j9/_/f8wht8m )

Or they could just jam a low power Intel CPU in the package, like an Atom, just to be able to minimally virtualise x86 :D (a dCPU)

All dreams of course
 

Mikael H

macrumors 6502a
Sep 3, 2014
864
539
You need local access to both macOS and x86, get a Mac and an x86-based PC in the future. Otherwise run Windows (or hard-to-port Linux) loads in the cloud or in your data center. Apple are about visually pleasing solutions. They won't give us Commodore 64 style expansion boards with a separate computer sticking out from your main board. ?
 

David Hassholehoff

macrumors regular
Jul 26, 2020
122
90
The beach
The ideal solution would be for Apple to do as they did in the early 90's with the DOS compatibility card, containing a real 486SX CPU on a NuBus/PCI card.

Apple could easily offer such a card, either complete or just with an empty CPU socket, for the Mac Pro (or as an option in a beefed-up Mac mini (Pro/Cube)).
 

Waragainstsleep

macrumors 6502a
Oct 15, 2003
612
221
UK
Personally I think its just a matter of time until Microsoft opens up the license for Windows to run on ARM CPUs, the question is what Apple will allow.
 

ChrisA

macrumors G5
Jan 5, 2006
12,917
2,169
Redondo Beach, California
So what options do we have?

There is really lonely one possible solution. Buy an Intal based PC. If you want the Windows screen to show up on you Mac then uses VNC as a remote screen. This is really not a big deal. Just get a PC, remove the keyboard and screen and log in remotely and it works close enough to like a VM worked.

In fact, you can run Linux in the PC and then on Linux a virtual machine with any version of Windows or Linux you like all on the remote PC hardware. Put the PC on your network and then stash in in a closer or under a desk someplace.

There really are no other god options for running Intel-based software other than owning Intel hardware.
[automerge]1596047633[/automerge]
Personally I think its just a matter of time until Microsoft opens up the license for Windows to run on ARM CPUs, the question is what Apple will allow.

It would not matter. Apple is selling "Apple Silicon" that happens to have a few Arm CPU cores bt also a ton of other stuff. It is that "other stuff" that makes Apple Silicon usable. I doubt Microsoft will port their OS to Apple Silicon. even if they do release an Arm version for generic ARM.

Just buy a PC if you need to run PC software. If you want the PC screen on your Mac use VNC.
 
  • Like
Reactions: pldelisle

theluggage

macrumors G3
Jul 29, 2011
8,009
8,443
It would not matter. Apple is selling "Apple Silicon" that happens to have a few Arm CPU cores bt also a ton of other stuff. It is that "other stuff" that makes Apple Silicon usable.


...although virtualisation can't run x86 code on ARM, it can (and does) emulate "other stuff" - just as the guest OS working on your Parallels VM sees a SCSI/SATA drive instead of the virtual disc drive, a specific brand of network interface, a "parallels" GPU complete with 3D acceleration etc. So it's quite possible that the ARM Hypervisor could emulate a Windows 10 ARM compatible system, even if it can't emulate an x86.

A WINE-like approach might also be possible - basically running Windows ARM binaries, trapping the system calls and translating them into Mac equivalents. There was an ARM version of WINE in development in the WIndows RT era.

The question is, would any of the people who actually need to run Windows on their Mac actually be satisfied with the ARM variant of Windows - ANS: probably not at the moment - I suspect most of the must-have apps are x86. If ARM windows grows, then maybe, in the future.

Also, if MS is serious about extending Windows to ARM then they're going ti want to support Mac: a few months after the first Apple Silicon Mac launches, the Mac is going to be the biggest ARM-based personal computer in existence and will rapidly outnumber Surface Xs and the other handful of ARM Windows machines...

So there's really several possible routes to running windows on AS that could emerge over time, although I wouldn't expect them on day one:

a ARM Windows in a VM
b Something like WINE for ARM (ARM Windows again)
c x86 Windows under emulation in QEMU or similar (probably OK for less demanding apps)
d Windows x86 instances "in the cloud' via remote desktop

... I suspect Parallels are going to offer all, some or fewer of those.

Or, just get a cheap PC...
 
  • Like
Reactions: pldelisle

leman

macrumors Core
Oct 14, 2008
19,516
19,664
...although virtualisation can't run x86 code on ARM, it can (and does) emulate "other stuff" - just as the guest OS working on your Parallels VM sees a SCSI/SATA drive instead of the virtual disc drive, a specific brand of network interface, a "parallels" GPU complete with 3D acceleration etc. So it's quite possible that the ARM Hypervisor could emulate a Windows 10 ARM compatible system, even if it can't emulate an x86.

One can also even emulate an x86 system, just the performance won't be any good


A WINE-like approach might also be possible - basically running Windows ARM binaries, trapping the system calls and translating them into Mac equivalents. There was an ARM version of WINE in development in the WIndows RT era.

WINE-like approach is probably the easiest to get working, no matter whether we are talking about ARM or x86 Windows. WINE will simply run the later under Rosetta. This will be a feasible way of running older software, but there are huge compatibility issues...
 

ChrisA

macrumors G5
Jan 5, 2006
12,917
2,169
Redondo Beach, California
So there's really several possible routes to running windows on AS that could emerge over time, although I wouldn't expect them on day one:

a ARM Windows in a VM
b Something like WINE for ARM (ARM Windows again)
c x86 Windows under emulation in QEMU or similar (probably OK for less demanding apps)
d Windows x86 instances "in the cloud' via remote desktop

It is pretty easy for users or companies to set up "d" themselves. And that can be done right now with no need to wait for anyone else to do anything. It is very effective and performance is good.
 

jerryk

macrumors 604
Nov 3, 2011
7,421
4,208
SF Bay Area
Why not just get a Windows/Linux machine. It is really cheap to get a lot of power in Windows/Linux machine, especially a used one. And that would ensure you can troubleshoot driver and hardware bugs that only occur on full x86 systems.
 
Last edited:
  • Like
Reactions: Tagbert

theluggage

macrumors G3
Jul 29, 2011
8,009
8,443
One can also even emulate an x86 system, just the performance won't be any good

The current usage of "virtualization" seems to refer specifically to running guest code directly on the host CPU, and to exclude emulation of 'foreign' CPUs - so while that's indeed possible it could be argued that it wasn't "virtualization".

Doesn't really make sense when (a) 'virtual machines' can refer to either (see: the Java Virtual Machine or the old "Virtual PC" software for Mac) and (b) "virtualization" software frequently includes software emulation of hardware... but then nobody sits down and plans the meaning of words in advance. I think QEMU does both...

Guess the current usage got defined by Wintel folks who believe that there is only One True Processor and that its number shall be four score and six.

It is pretty easy for users or companies to set up "d" (nb: Windows x86 instances "in the cloud' via remote desktop) themselves.

Sure - it's already a thing in the corporate world (and is probably the best solution to 'I need to run X piece of Windows software for work". The role of someone like Parallels would just be to package it up and shrink-wrap it for private users (and maybe spruce up the integration with MacOS like they did with virtualization).
 

Moonjumper

macrumors 68030
Jun 20, 2009
2,746
2,935
Lincoln, UK
Why not just use a Windows VM from AWS or MS Azure? I hardly touch VMs on my local workstation these days. Unless you need super fast local I/O bandwidth (or have a poor Internet connection), remote VMs perform pretty well, and are easier to manage. They only cost pennies per hour to run as well.
I didn't know it was already a thing, but I'm not surprised.

My line of thought had been there are remote services for playing games such as Google Stadia and Microsoft xCloud, so there might be a similar option to run on a virtual Windows, and you confirmed that.
 

JamesBerry

macrumors member
Jan 6, 2009
82
29
The current usage of "virtualization" seems to refer specifically to running guest code directly on the host CPU, and to exclude emulation of 'foreign' CPUs - so while that's indeed possible it could be argued that it wasn't "virtualization".

Doesn't really make sense when (a) 'virtual machines' can refer to either (see: the Java Virtual Machine or the old "Virtual PC" software for Mac) and (b) "virtualization" software frequently includes software emulation of hardware... but then nobody sits down and plans the meaning of words in advance. I think QEMU does both...
You're right. So many things in computing terms are overloaded.
Regardless, some kind of processor/instruction set emulation will be required.
I expect this will happen - emulators for quite sophisticated games consoles exist, and qemu of x86 on ARM does work to a degree. It's not complete enough yet, and it isn't as fast as you would like - but the combination of Apple moving to a new chip and the cheap ARM linux machines (Raspberry Pi 4 and future releases) being faster than their predecessors - I think means that there will be more eyes on these projects than before.

But in the short term, I would plan for some other alternative than running Windows virtual machines locally, and if it turns out to be possible in the short term then that can exceed our expectations!
 
Last edited:

jerryk

macrumors 604
Nov 3, 2011
7,421
4,208
SF Bay Area
With the news that Intel just fired their Chief of engineering, and just said they will not have 7 nm until 2022. It is not hard to see why Apple decided to build their own silicon for Macs
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.