I have a new M1 MacBook Air that I would like to use for Virtual Machine development.

Can Oracle VirtualBox VMs run on this new Apple Silicon architecture?

The documentation on the VirtualBox website states:

In order to run VirtualBox on your machine, you need:

  • Reasonably powerful x86 hardware. Any recent Intel or AMD processor should do.

But it's unclear if that documentation is current, or if there are any future plans to support the Apple Silicon ARM architecture. I have not been able to find a VirtualBox blog post or news update that states that M1 chips will or won't be supported.


One issue you have is that VirtualBox does not run on non Intel architectures.

From https://www.virtualbox.org/

VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product

To run a virtual machine on Apple Silicon currently Parallels, UTM and Docker support Linux ARM VMs. Parallels and UTM also support other OSs that run on ARM including Windows but not macOS. (This paragraph will change over time).

VMware has now (Sept 2021) announced a preview version for ARM

The other thing to note is that if the VM you want to run is an Intel one then you need an emulator like Qemu. You probably can't just load an Intel VM to run natively as ARM so have to rebuild the VM from an ARM based install.

Docker can run Intel VMs on Apple Silicon from their blog as can UTM, both use QEMU as a part of implementing this.

UTM can run Intel Windows as UTM includes QEMU.

  • Comments are not for extended discussion; this conversation has been moved to chat.
    – bmike
    Jan 19 at 22:27

A locked and stickied post from a Site Moderator on the VirtualBox user support forum indicates that VirtualBox will never support Apple Silicon:

Nope, there will be no port, for the same reason that VirtualBox isn't available on an iPhone. VirtualBox is not a CPU emulator, it requires x86 CPU.

I suspect VirtualBox will be only one of many "obscure" applications that won't make it into the Apple/ARM ecosphere.


the mod elaborates in an additional post:

I don't understand why people insist on not getting this simple fact: VirtualBox can't be ported to an ARM, because it's an x86 hypervisor, not a simulator. In VirtualBox your x86 guest code runs at near full speed directly on the host processor. A CPU simulator is an entirely different animal that runs hundreds of times slower: that's good enough for debugging but totally useless for real work.

Face facts: if you go down the Apple ARM road you leave x86 behind. Period. That doesn't mean that Parallels and VMWare won't try to sell you stuff, but they won't be running an x86 hypervisor on an ARM, nor will it be any other practical solution for running x86 apps on a Mac.

  • I’ve never really gotten why some Type-2 Hypervisors insist they are hypervisors and not containers, but I’m not an OS engineer.
    – bmike
    Nov 4 '21 at 17:55
  • 5
    The last paragraph is misrepresenting VMWare and Parallels. Agreed that they arn't running an x86 hypervisor but they are running an ARM hypervisor (or interacting with Apple's) and that is what they say.
    – mmmmmm
    Nov 5 '21 at 16:00
  • To be clear it's a mod on the VirtualBox forum misrepresenting them, if so.
    – pkamb
    Nov 8 '21 at 18:24

The "Face facts: if you go down the Apple ARM road you leave x86 behind." Rosetta 2 shows that to be so much BS that it is unreal that anyone with any degree of actual knowledge would make such a statement.

"Rosetta 2 enables a Mac with Apple silicon to use apps built for a Mac with an Intel processor." - Rosetta 2 dialog box.

To grossly oversimplify, Rosetta 2 whole purpose is to allow translation of (not emulation — this is important) x86 calls to something the ARM based M1 can handle. Sort of like how WINE translates calls for the Windows OS into something either the Mac or Linux OS can understand.

Using UTM you can even get Windows XP on an M1 MacBook or M1 Mac emulating Windows 7! (Using UTM) though if you go more recent than that performance gets worse.

I strongly suspect that VirtualBox is badly spaghetti coded that it can't be written to take advantage of ARM.

  • Hard to make comment to such a response but definitely not usefull
    – Renetik
    Nov 14 '21 at 22:17
  • If you can't comment how can you say it is not useful? Rosetta 2 is supposed to JIT handle x86 code so the M1 can use it. Ergo unless VirtualBox is doing something very bizarre is should run on the translation layer. If that doesn't work then there is QEMU which someone used to get Windows 7, 8, and 10 running on an M1 though the newer the Windows OS the more QEMU has speed issues. Dec 1 '21 at 6:36
  • obviously its not just me. Maybe its the way you wrote it ;)
    – Renetik
    Dec 1 '21 at 17:06
  • 3
    "Rosetta 2 shows that to be so much BS that I don't know where to start" Then why make the post if you dont know where to start? I strongly implore you to read the site rules.
    – Shayne
    Dec 12 '21 at 6:19
  • Well I updated it. I used the short hand because I thought people understood Rosetta 2 used JIT to handle x86 code. UTM which was around when the comments shows just how out of touch the "Face facts: if you go down the Apple ARM road you leave x86 behind." comment was. Dec 23 '21 at 17:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .