Apple Silicon M1: How to run x86 and ARM Virtual Machines on it?

Dmitry Yarygin
6 min readMar 21, 2021
Photo by Joshua Woroniecki on Unsplash

Apple Silicon M1 is a new and emerging platform that quickly drafts more and more attention to it. I’ve recently written an article discussing why I personally think that some people might postpone migration to the Apple Silicon platform, but to be fair and honest with you I wanted to outline the options that I found out that will allow you to emulate Intel x86 Virtual Machines on your M1 MacBook or Mac Mini or run Linux ARM Virtual machines.

First of all, we should understand what are the exact possibilities we have when it comes to emulation. There are two CPU platforms we are interested in:

  • ARM64
  • Intel x86

Since Apple Silicon is an ARM platform (RISC) we can easily execute Virtual Machines created for an ARM platform without any additional conversions (no emulation).

But Intel x86 is a CISC platform and it means that emulation is necessary on Apple Silicon and it means that we cannot run the Virtual Machine at a native speed. Speed loss is unavoidable.

Virtualization or Emulation?

Before we further proceed to a discussion about which software you need to use to start up alternative operating systems on your Apple M1 Mac we need to understand the difference between virtualization and emulation and make a decision based on that.

Virtualization: creating a virtual copy of something (virtual computer hardware and devices, storage devices, and network resources). Virtualization means that we can run an additional instance of the same system.

Example: Running an x86 Virtual Machine on an x86 processor chip.

Emulation: Enabling one computer system to behave like another computer system. Emulation means the imitation of how a specific system works. In this case, we are emulating different CPU architecture which gives us additional flexibility but introduces an additional transition layer which slows down the process.

Example: Running an x86 Virtual Machine on an ARM chip.

Once we have that figured out let’s discuss the solutions available for virtualization of both ARM and x86 Virtual Machines.

--

--

Dmitry Yarygin

Nomad lifestyle writer. Passionate about breaking software— QA Engineer. My Travel & Tech YouTube channel: https://www.youtube.com/c/nomadicdmitry