62

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.

pkamb
  • 7,183
  • 9
  • 60
  • 99
Bhuvan Agarwal
  • 749
  • 1
  • 3
  • 6
  • 3
    https://isapplesiliconready.com/app/Virtualbox – nohillside Nov 03 '21 at 18:24
  • 2
    Virtualbox since [v7.00](https://www.virtualbox.org/wiki/Changelog-7.0#v00) now offers a [developer preview version that supports Apple Silicon (ARM64 M1/M2)](https://www.virtualbox.org/wiki/Downloads). – Karthic Raghupathi Jan 19 '23 at 19:34

3 Answers3

66

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, Parallels 17 can run macOS Monterey

VMware has now (Sept 2021) announced a preview version for ARM that does not officially support Windows or macOS. And on July 28th 2022 VMWare released a tech preview that says it supports Windows 11 and says they are looking into support for macOS.

VirtualBox does seem now Oct 2022 to be working on a macOS ARM version but as Ars Technica says

I can report that the VirtualBox client informs you, extensively and consistently, about the non-production nature of your client. The changelog notes that it's an "unsupported work in progress" that is "known to have very modest performance." A "Beta Warning" shows up in the (new and unified) message center, and in the upper-right corner, a "BETA" warning on the window frame is stacked on top of a construction-style "Dev Preview" warning sign.

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.

As UTM includes QEMU UTM can run Intel Windows or Intel macOS or PPC classic macos (and possibly PPC OSX )

macOS itself provides an API to allow users to write VMs that can run Linux command line programs or macOS. This includes a beta API to allow Intel Linux programs to run under Rosetta and beta API yo allow Linux graphical programs.

mmmmmm
  • 28,660
  • 17
  • 84
  • 140
14

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.

https://forums.virtualbox.org/viewtopic.php?t=98742

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.

pkamb
  • 7,183
  • 9
  • 60
  • 99
  • Not directed at pkamb, just at the mod/forum post. I wasn't expecting to run x86 on Apple Silicon, I'm trying to run Debian 11, ARM64. I understand the complexities of running x86 on Apple Silicon, which is why I chose a relevant architecture. If I can be directed elsewhere I would appreciate it. If VirtualBox is never going to support Apple Silicon, remove the application download from the website, at best it is misleading and at worse it is causing you unwarranted support questions and reputation damage. – Richard Crossley Jan 26 '23 at 07:57
  • Since October 2022, there is a beta version of VirtualBox 7, so this answer is clearly not correct. The [changlog](https://www.virtualbox.org/wiki/Changelog-7.0) says "macOS host: Providing a Developer Preview package for systems with an Apple silicon CPU. This is unsupported work in progress, and is known to have very modest performance." – David Lechner Mar 01 '23 at 22:50
-8

The "Face facts: if you go down the Apple ARM road you leave x86 behind." is nonsense as "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. Heck, "Intel to build ARM chips for other companies as part of its new business strategy" shows that Intel realizes that the x86 might be headed for a decline.

  • 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. – Bruce Grubb Dec 01 '21 at 06:36
  • obviously its not just me. Maybe its the way you wrote it ;) – Renetik Dec 01 '21 at 17:06
  • 7
    "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 06: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. – Bruce Grubb Dec 23 '21 at 17:01
  • 1
    Not sure how this answers the question, even considering the extensive edit you‘ve made. Discussions about VB design and code quality are better suited for the VB forum. – nohillside Dec 23 '21 at 18:17
  • @BruceGrubb I think you misunderstand how VirtualBox is virtualising and your claims do not make sense then. Rosetta applies to Mac applications and it does not seem to emulate intel where virtualbox uses it, to put it in simple terms. I have run some intel emulation on qemu and it broke sometimes. full CPU emulation of x86 on M1 ARM is not mature. – Vincent Gerris Mar 11 '22 at 10:03
  • 1
    This 'response' is not an answer and is basically wrong about the major points. UTM and VMWare use QEMU to emulate x386 on ARM versions of their software. UTM seems to be developed for ARM primarily, and VMWare has a long history with Parallels on Mac. Rosetta allows running x86 apps written for the x86 Mac, but hypervisors are programs that tie deeply to the hardware. They are not apps. Attacking VirtualBox community is nonproductive. If you're such a knowledgeable software engineer, join them and fix this issue. – Xalorous Mar 13 '22 at 18:51