Installing HAOS on Apple Silicon Macs using VMware Fusion

This guide documents how to run Home Assistant OS on M1/M2/M3/M4 macOS devices using VMware Fusion, which became free to use as of 2024, and is a convenient and full-featured way to run the official HaOS disk image. I originally wrote this guide as a PR to update the current macOS installation page, however my change was rejected, so I’m posting it here instead. Hopefully that page will eventually be updated to include instructions for Apple Silicon devices.

To get started, download VMware Fusion by following this URL: Download and Install VMware Fusion

You’ll need to sign up for a Broadcom account and fill out a form when downloading the software, which could take a while due to a convoluted interface that they’ve implemented, there are more detailed instructions for downloading VMware Fusion online if you’re having trouble. After you’ve got it installed, follow these instructions:

  1. Download the Home Assistant OS image using this URL: Release Home Assistant OS 14.1 · home-assistant/operating-system · GitHub
    • Select the file that has a name like this: haos_generic-aarch64-14.1.vmdk.zip, where 14.1 is the HaOS version
  2. Start VMware Fusion and select File > New from the menu bar.
  3. Select Create a custom virtual machine, then select Linux > Other Linux 6.x kernel 64-bit Arm.
    • On Intel Macs, select Other Linux 6.x kernel 64-bit.
  4. Select Use an existing virtual disk and locate the unzipped disk image file.
    • Ensure Make a separate copy of the virtual disk is selected in the file picker options.
  5. Select Customize Settings at the “Finish” step.
  6. Define the amount of memory and the number of cores the VM is allowed to use under Processors & Memory.
  7. Under General, you may choose to start the VM when your Mac boots up if preferred.
  8. Connect an Ethernet cable and ensure it is connected to your network.
  9. Under Network Adapter, select Ethernet under Bridged Networking.
  10. Under Hard Disk, increase the disk size to the recommended minimum.
  11. Under USB, select any USB devices that you want to pass through to Home Assistant, such as Home Assistant Connect, or other Zigbee/Z-Wave dongles. You may also want to choose to always connect the device to Home Assistant by choosing Connect to Linux in the Plug In Action dropdown.

Now you can close the settings window and start the VM. You’ll see the connection details on screen, and the onboarding process can be started by visiting the shown URL in your browser.

Thanks very much for posting this. I’ve just installed HA using UTM, and while it works well, I’m a little surprised at how UTM’s RAM usage tends to increase to almost twice the amount given to the HA OS VM, even though HA reports using only 1.9 of the allocated 4GB. UTM also tends to hover around 20% CPU usage too, which seems excessive given the HA OS reports it’s using around 6%. How are RAM and CPU usage using Fusion?

Thank you so much for sharing this detailed guide! It was incredibly helpful and easy to follow. I’ve been looking for a way to run Home Assistant on my M1 Mac, and this setup through VMware Fusion worked perfectly. I really appreciate the time and effort you put into writing this out, especially with all the little nuances like downloading the correct disk image and configuring the VM settings. Thanks again for making this process so much smoother!