05 May 2021

How to install Intel x86 Windows on Apple Silicon Mac with UTM app

It is the reality that we can run Intel Windows 10 on Apple Silicon Mac in addition to Arm Windows 10.
Windows 10 runs 1/4 to 1/2 speed compared to physical machine.

Following is the procedure and my tip.

  1. Prepare three items:
    UTM app (Mac App Store version or free version) and install it,
    Windows 10 installer ISO (I tested with Windows 10 version 2004 Japanese),
    and additional driver ISO file from UTM app site.
  2. Launch UTM app.
  3. Create new VM with "+" button.
    At [Information] tab, names the VM on [Name] field (you can change it later).
    At [System] tab, specify [x86_64] on [Architecture], 4096MB on [Memory], check [Show Advanced Settings] and [8Cores] on [CPU Cores].
    At [Drive] tab, create [30GB] system drive with [New Drive] button, in addition, specify Windows ISO with [Import Drive] button, and again, spice-guest-tools ISO with [Import Drive] button.
    At [Display] tab, select [vmware-svga] on [Emulated Display Card].
    At [Sound] tab, select [Intel HD Audio Controller (ich9)] on [Emulated Audio Card] (because driver for default [Intel 82801AA AC97 Audio] will not be found in Windows).
    After specify above, push [Save] button.
  4. Power on and do setup with "play (right triangle)" button.
    During setup, reboot will be initiated two times (after "Copying files" and after "Preparing Windows"), but reboot will not occur automatically, so you should manually power off and on the VM when the window becomes black and CPU is only around 100% when you inspect with macOS System Monitor (it is 300-500% during setup is busy).
    Setup will be finished about in one hour (it seems similar to real PC).
  5. Log in to booted Windows 10.
    At initial session, the load will be high due to device configuration ([QEMU USB Keyboard]), Windows Update and Search Indexer.
    If you check [Device Manager], you will find [PCI simple communication controller] is warning state, so you should [Update driver] with E: drive ([VirtIO Serial Driver (Red Hat, Inc.] will be installed).
    In addition, do [Windows Activation].
    Windows will boot in 30 seconds and power off in one minute after initial configuration is finished.

Don't you feel it easy?
On Apple Silicon Mac, Intel Windows will not supported with Paralles, VMware Fusion and Boot Champ.
Therefore, UTM app is only solution at the present time.
If you have interest, try it and give me your feedback.

[Japanese version of this post]

16 January 2021

UTM app is widely available that lets you execute Intel/Arm64 Windows on Apple Silicon Mac

UTM app for Mac as I posted last week, becomes public available.
App web site is https://mac.getutm.app/.
It let you easily make guest OS environment on Apple Silicon Mac.

Like as I posted, it states "lower performance emulation is available to run x86/x64 on Apple Silicon as well as ARM64 on Intel." 

In addition, various pre-installed guest images (x64 Windows XP/7 and Ubuntu, or Arm64 Windows 10, etc) are available from the gallery page.

One notice for current version (V2.0.17) of UTM app is that you have to move the downloaded images to the folder ~/Library/Containers/com.utmapp.UTM/Data/Documents .

[Japanese version of this post]

06 January 2021

Intel x86 Windows on Apple Silicon Mac with UTM app is easy and hot

Intel and Arm Windows running
on UTM on M1 MacBook Air
Using Microsoft Windows on M1 Mac is our dream.
The biggest hurdle is the architecture change of Mac.

Various technologies exist to execute other operating systems on the host macOS.

  • Rosetta 2:
    Apple's own machine code translation technology.
    It translates user code of macOS application and converts library call to native library call.
    In addition to machine code translation, Rosetta 2 utilizes Apple Silicon's own instruction set that specializes in Intel emulation.
    In conjunction with both library call conversion and special instruction set, Rosetta 2 is very efficient (200% compared on M1/Intel MacBook Air) to execute Intel code on Apple Silicon.
    But it is limited to execute macOS app.
  • Boot Camp:
    macOS Boot Camp is dual-boot technology, so it is not suitable to execute Intel Windows on Apple Silicon, and it is not available on Apple Silicon macOS (at least currently).
  • Virtualization (Hypervisor is the same meaning):
    Virtualization is a mechanism to execute other full OS codes in the same architecture as the host OS.
    Nowadays, virtualization is provided by kernel and hardware mechanisms, so it provides about 90% native speed.
    But it is limited to execute the same CPU architecture to host architecture.
    The macOS provides two frameworks: the Hypervisor Framework is a low-level virtualization API and the Virtualization Framework is a high-level and easier to use API to execute Linux.
    Arm Windows can be executed on macOS Hypervisor Framework (but not Intel Windows).
  • Microsoft's Intel emulation layer on Arm Windows:
    It is similar technology to Rosetta 2 on macOS.
    But it cannot utilize Apple Silicon's proprietary code, neither Arm Windows is not generally licensed yet.
  • Wine:
    Wine is a solution to execute a Windows app on non-Windows operating systems (Linux and macOS).
    It simulates Windows library, and it is written in native Intel architecture.
    It is possible to run Wine to execute many of the Windows apps on macOS using Rosetta 2.
    The drawback is the compatibility.
    Some of the apps are not able to be run on Wine.
  • QEMU:
    QEMU is a famous CPU instruction emulator on Linux, and it can also execute Arm code on Intel or Intel code on Arm vice-versa.
    When QEMU executes the same architecture operating system, it can utilize hardware virtualization and it is very efficient.
    In the case of different architecture, it emulates a full stack of the operating system: all of the app code, library code, and kernel code.
    It is truly possible, but not so efficient as Rosetta 2 or native Arm Windows (1/4 - 1/8 performance).

After my trial written in the previous post, I am going to research better ways to execute Intel Windows on Apple Silicon Mac.

Finally, I found the UTM app that is originally developed for iOS and now the macOS version is released.
UTM app is based on QEMU for Intel code since it was born, and it also utilizes macOS Hypervisor Framework for Arm code.
UTM is the current easiest way to execute both Intel and Arm Windows on Apple Silicon Mac.
Because UTM is based on QEMU (full emulation), it can utilize all 8 cores of Apple Silicon and makes Mac really "hot" when executing some apps on Intel Windows.

[Japanese version of this post]

[2021-01-08] Simplified the title from
<Intel x86_64 Windows (not Arm) running on Apple Silicon M1 MacBook Air using UTM app>
to
<Intel x86 Windows on Apple Silicon Mac with UTM app is easy and hot>

[2021-01-17] I wrote a new post since UTM app is widely available at new web site, and pre-build guest images are available.