VMware Fusion on Apple Silicon M1/M2/M3: Free Installation and Running Linux/Windows ARM

VMware tutorial - IT technology blog
VMware tutorial - IT technology blog

Bought a Mac M1 only to discover that the old VMware Fusion (Intel version) wouldn’t run — this is a problem many people run into. Parallels Desktop works fine but costs ~$100/year. The good news: since November 2023, VMware Fusion Pro has been free for personal use and fully supports Apple Silicon. This article goes straight into installation and real-world usage.

Quick Start: Install VMware Fusion on Mac M1/M2/M3 in 5 Minutes

Step 1: Download VMware Fusion

Broadcom (which acquired VMware) requires an account to download. Create one for free at support.broadcom.com:

  1. Register an account at support.broadcom.com
  2. Go to VMware Cloud Foundation → My Downloads
  3. Find VMware Fusion → select the latest 13.x version
  4. Download the file VMware-Fusion-13.x.x-xxxxx_universal.dmg

Step 2: Install and Activate for Free

# After downloading the .dmg:
# 1. Double-click the .dmg file to mount it
# 2. Drag VMware Fusion into the Applications folder
# 3. Open VMware Fusion
# 4. Select "Use VMware Fusion 13 for Personal Use"
# → No license key required!

Step 3: Create Your First Ubuntu ARM VM

Download the Ubuntu 22.04 ARM64 ISO (built specifically for Apple Silicon):

# Download Ubuntu 22.04 LTS ARM64
curl -L -o ubuntu-22.04-arm64.iso \
  "https://releases.ubuntu.com/22.04/ubuntu-22.04.4-live-server-arm64.iso"
# File is approximately ~1.4GB

In VMware Fusion: press Cmd+N → drag the ISO file in → VMware automatically detects Ubuntu 64-bit ARM → configure 4GB RAM, 40GB disk → Finish. Installation takes about 10 minutes and runs smoothly right away since it’s ARM-to-ARM with no x86 emulation needed.

Why VMware Fusion Instead of Parallels Desktop?

I used Parallels Desktop for about 2 years before VMware Fusion supported Apple Silicon. Here’s a practical comparison after using both:

  • Cost: Parallels ~$99.99/year. VMware Fusion Pro: free for personal use and students
  • Performance with Linux ARM: On par — both are near-native
  • Windows ARM: Parallels has a slight edge in boot speed and macOS integration (smoother copy-paste and Retina scaling)
  • Features: The free version of VMware Fusion already includes snapshots, cloning, and full custom networking
  • Ecosystem: VMware Fusion’s .vmdk files are compatible with VMware Workstation on Linux/Windows and ESXi — handy when you need to move a VM to a server

Bottom line: If you don’t need to run Windows games or deep macOS UI integration, VMware Fusion’s free tier is a much more cost-effective choice.

Understanding ARM Architecture to Install Correctly

Which VMs Work, Which Don’t?

Mac M1/M2/M3 uses the ARM64 (AArch64) architecture. VMware Fusion on Apple Silicon cannot run x86/x64 VMs — there is no emulation. Only operating systems with an ARM build will work:

  • ✅ Ubuntu 22.04/24.04 ARM64
  • ✅ Debian 12 ARM64
  • ✅ Fedora 39+ aarch64
  • ✅ Windows 11 ARM (download directly from Microsoft)
  • ✅ macOS Ventura/Sonoma (VM within a VM — mainly for testing)
  • ❌ CentOS 7/8 x86_64 (no official ARM build)
  • ❌ Windows 10 x86_64

Installing Windows 11 ARM — The Fastest Way

VMware Fusion 13 supports downloading Windows 11 ARM automatically — no need to find an ISO yourself:

# In VMware Fusion:
# File → New → Get Windows from Microsoft
# → Select "Windows 11 ARM"
# → VMware downloads and installs automatically (~10GB)
# The entire process takes about 20-30 minutes depending on your internet speed

Advanced Configuration

Installing VMware Tools on Ubuntu ARM

# Ubuntu ARM has open-vm-tools available in the official repository
sudo apt update && sudo apt install -y open-vm-tools open-vm-tools-desktop

# Reboot to apply changes
sudo reboot

# Verify after reboot
vmware-toolsd --version

Shared Folders — Sharing Directories Between Mac and VM

# After installing VMware Tools, shared folders are mounted at /mnt/hgfs/
ls /mnt/hgfs/

# If not visible, mount manually:
sudo vmhgfs-fuse .host:/ /mnt/hgfs/ -o allow_other -o uid=1000

# Add to /etc/fstab for auto-mount on reboot:
.host:/  /mnt/hgfs  fuse.vmhgfs-fuse  allow_other,uid=1000  0  0

Recommended Resource Configuration

# Shut down the VM before adjusting: Virtual Machine → Settings → Processors & Memory

# Ubuntu Server (CLI only):   2 CPU, 2GB RAM, 20GB disk
# Ubuntu Desktop:             4 CPU, 4GB RAM, 40GB disk
# Windows 11 ARM:             4 CPU, 8GB RAM, 64GB disk (4GB RAM minimum)

Practical Tips from Real-World Use

When migrating from VMware to Proxmox for a personal lab, I noticed many interesting differences — but with the Mac M1, there’s no way to run Proxmox directly. VMware Fusion remains my daily driver for dev workflow. Here are a few tips distilled from hands-on experience:

Use vmrun to control VMs from the Terminal — no need to open the VMware Fusion GUI every time:

# Add an alias to ~/.zshrc:
alias vmrun='/Applications/VMware\ Fusion.app/Contents/Public/vmrun'

# Start a VM in the background (headless):
vmrun start ~/Virtual\ Machines.localized/Ubuntu22.vmwarevm/Ubuntu22.vmx nogui

# Stop a VM:
vmrun stop ~/Virtual\ Machines.localized/Ubuntu22.vmwarevm/Ubuntu22.vmx

# List running VMs:
vmrun list

# Take a quick snapshot from the Terminal:
vmrun snapshot ~/Virtual\ Machines.localized/Ubuntu22.vmwarevm/Ubuntu22.vmx "BeforeTest"

Use Ubuntu Server instead of Desktop: Much lighter on resources, and SSH from the Mac Terminal is all you need. No GUI required unless you’re testing a front-end directly inside the VM.

Snapshot before every experiment: Installing unfamiliar packages, changing network config, testing system scripts — always snapshot first. If something breaks, roll back in 30 seconds.

Put VMs on an external SSD if you have many: MacBook Air M1/M2 typically comes with only 256–512GB. Four 40GB VMs will fill that up fast. An external NVMe SSD over USB-C (~$60) solves the problem — VMware Fusion recognizes it and runs VMs from it without issue.

Real-World Performance

Simple benchmark on a MacBook Air M2 16GB running Ubuntu 22.04 ARM (4 CPU, 4GB RAM):

# CPU benchmark with sysbench:
sysbench cpu --threads=4 run
# Events per second: ~8200 (native ~9100 — achieves ~90% of native performance)

# Disk I/O:
dd if=/dev/zero of=/tmp/testfile bs=1M count=1024 oflag=direct
# Result: ~1.1 GB/s
# (M2 native SSD ~3GB/s, but plenty for Docker builds and dev servers)

90% CPU performance inside a VM is an excellent result. More than enough to build Docker images, run Node.js/Python servers, and test single-node Kubernetes (k3s) without any noticeable lag in everyday work.

Share: