Skip to content

Everything you need to run
a VM on your Mac

Requirements

Moire runs on Apple Silicon only. Guests execute directly on the processor through Apple's Hypervisor.framework instead of being emulated - which is also why Intel Macs are not supported.

  • An Apple Silicon Mac - M1 or newer
  • macOS 15.0 or later
  • Memory: by default a VM gets half of your Mac's memory, up to 16 GB. Windows 11 needs at least 4 GB.
  • Free disk space: about 50 GB for a Windows 11 VM (about 56 GB when Moire downloads the ISO) and about 80 GB for a macOS VM. Linux needs much less.

Guests have to be ARM64 builds. x86 versions of Windows and Linux do not run, and the wizard refuses an x64 installer image before anything is created.

Installation

Everything Moire needs to create and start a VM ships inside the app, so there is nothing else to install first.

  1. Download Moire-<version>.dmg and open it.
  2. Drag Moire into Applications.
  3. Open Moire from Applications. Started from the disk image, it asks to be moved there first.

macOS asks for permissions only as they are needed: access to Desktop and Documents when a VM shares them, the microphone shortly after a VM starts, and the camera only if you switch camera sharing on.

Virtual machines are kept in ~/Library/Application Support/ParalelVM/ - on purpose not in Desktop or Documents, which macOS syncs to iCloud. A synced disk image can be evicted from the Mac, and the VM then hangs at start without an error.

Your first virtual machine

The New Virtual Machine screen offers Windows 11, macOS, three Linux distributions and Install from ISO. Whichever you pick, the wizard has the same three parts.

1

Choose a system

Windows 11, macOS, Debian, Ubuntu or Kali Linux - or Install from ISO for any other ARM64 installer.

2

Pick the image

Use an ISO you already have, or let Moire download it: Windows 11 from Microsoft, Ubuntu Desktop 26.04 LTS, and macOS from Apple. For Debian and Kali it opens the download page.

3

Configure and install

Name the VM, enter the account to create, and start. Windows and Ubuntu install by themselves; Debian and Kali run their own installer.

The defaults fit most Macs: half of the Mac's memory (up to 16 GB), up to four processors, and a disk of 64 GB for Windows, 80 GB for macOS or 32 GB for Linux - larger when the Mac has plenty of free space. Open Customise memory, processors and storage to change them.

The app is in English, so menu and button names are written here exactly as they appear on screen.

Supported operating systems

Windows 11 ARM64 is the focus of the first release. Linux and macOS guests are in the app too, but they have not completed acceptance testing yet, so expect rougher edges there.

Windows 11 ARM64

Installs unattended. The wizard asks for a user name and password and for you to confirm that you hold a Windows 11 licence - Moire does not supply a product key. Windows is set up with a local account, and at first sign-in the virtio drivers, WinFsp and the Moire guest tools are installed automatically.

The display driver is test-signed for now. Windows therefore runs in test-signing mode and shows a "Test Mode" watermark on the desktop, and Secure Boot stays off.

Ubuntu

Moire downloads Ubuntu Desktop 26.04 LTS for ARM64, verifies its checksum and installs it unattended, guest tools included. It asks for your name, a user name and a password; language, keyboard layout and time zone follow your Mac.

Debian and Kali Linux

Bring your own ARM64 ISO. Moire looks for one in the VM folder, Downloads and Desktop, and opens the distribution's download page when it finds none. Installation is interactive, and the guest tools come on a tools disc attached to the VM.

macOS

macOS guests run through Apple's Virtualization.framework. Moire downloads the latest restore image from Apple (about 18 GB) or uses an .ipsw you choose, and the Mac has to stay online during the install. Up to two macOS VMs can run at once. Guest tools are installed afterwards with Install Guest Tools… in the VM menu.

Anything else

Install from ISO starts any other ARM64 installer as a generic VM, and Open Existing Image boots a raw disk image you already have.

Coherence

Coherence hides the guest desktop and taskbar and gives every guest application its own Mac window. Each program gets its own Dock icon and ⌘-Tab entry, with its real name and icon, and its windows minimise to the Dock like any other.

Switch it on with Coherence ▸ Enter Coherence in the menu bar, the Coherence button in the VM toolbar, or ⇧⌘K; the same command switches it off. While it is on, Start (Win key) in the Coherence menu opens the Windows Start menu and Open Windows lists the running guest apps.

  • Works with Windows 11 guests, and with Linux guests running GNOME (Shell 45 to 50). It is not available for macOS guests.
  • A guest program that goes full screen ends Coherence, and so does closing the last guest window. The lock screen and UAC prompts bring the VM window back.
  • Guest windows stay on a single Mac display, and guest tray icons are not shown in the Mac menu bar.

Displays & graphics

By default the guest resolution follows the VM window: resize the window and the guest switches to the matching mode, with no restart. Windows renders at full Retina resolution with a matching scale factor. A fixed resolution can be chosen instead in Settings ▸ Display.

Full screen is ⌃⌘F or the green window button, and ⌥⌘P saves a screenshot of the VM. Each VM has one display.

Windows guests always run with 3D acceleration: Direct3D 11 is translated to Metal on your Mac's GPU. DirectX 12, OpenGL and Vulkan are not available inside Windows, so software that requires one of them will not start. Linux guests render in software, and macOS guests use Apple's paravirtual graphics.

Gaming Mode is not part of this release. 3D acceleration does not depend on it.

Networking

VMs connect through Shared (NAT): the guest uses your Mac's internet connection. For Windows and Linux guests the NAT runs in user space inside Moire, so there is no helper to install and no administrator password to enter. macOS guests use Apple's own NAT.

  • With the built-in NAT the guest is configured over DHCP - address 10.0.2.15, gateway 10.0.2.2, DNS 10.0.2.3 - and can use TCP, UDP and ping over IPv4.
  • Connections are outbound only. Nothing on your network can connect in to the guest, and there is no port forwarding.
  • Linux and macOS guests can also have networking set to Off in Settings ▸ Network. A Windows guest always keeps its adapter, because the guest tools, printing and Windows Update rely on it.

Bridged and host-only networking are not available in this release; they need a restricted Apple entitlement the app is not signed with.

Files & clipboard

Shared folders use virtio-fs, so the guest works on your real Mac files - nothing is copied or synced. The wizard shares your Documents, Desktop and Home folders by default; untick the option there to keep a VM separate.

  • Windows - C:\Mac\Home, C:\Mac\Documents and C:\Mac\Desktop, plus a Mac Files shortcut on the desktop. Any other shared folder appears as C:\Mac\<Name>.
  • Linux - mounted under /mnt/sharefsN, with a Mac Files link on the desktop.
  • macOS - under /Volumes/My Shared Files.

Add folders in Settings ▸ Shared Folders ▸ Add Folder… - up to eight per VM, applied the next time the VM starts.

The clipboard works in both directions for text, rich text, HTML and images. Files can be copied and pasted too, as long as they are inside a shared folder.

Drag files and folders from the Mac onto a Windows or Linux (GNOME) VM and they land in the folder under the pointer, or on the guest desktop. From a Windows guest you can also drag files out to the Mac. macOS guests do not support drag and drop.

Deleting a file in a shared folder from inside the VM deletes it on the Mac as well - it does not go to the Recycle Bin. macOS asks once before Moire may read Documents, Desktop, Downloads or an external disk.

Keyboard & mouse

The pointer moves freely between the Mac and the guest; there is nothing to capture or release. In the guest, ⌘ acts as the Windows (Super) key and the right ⌥ key acts as AltGr.

  • Keyboard ▸ Send Cmd as Ctrl makes ⌘C, ⌘V and the like arrive in the guest as Ctrl shortcuts. It is off by default.
  • Keyboard ▸ Send Ctrl+Alt+Delete and the Send Keys list send combinations that macOS would otherwise keep for itself; Customize Send Keys… adds your own.
  • Linux guests follow the keyboard layout currently active on the Mac. Windows takes its layout when it is installed.

Storage

A VM disk is a sparse image: a 64 GB disk only takes up what the guest has actually written. When the guest deletes files, TRIM gives the space back to macOS and the image shrinks again. The ⋯ menu of each VM in the library has the disk tools:

  • Compact Disk reclaims any empty space the image is still holding.
  • Grow Disk… enlarges the disk, up to 2048 GB, while the VM is stopped. Windows extends its C: drive by itself at the next start. Disks cannot be shrunk.
  • Clone duplicates a stopped VM with APFS copy-on-write, so the copy is instant and takes almost no space until it diverges.
  • Export… writes a Windows or Linux VM to a single .paralelvm bundle that Import… reads on another Mac. Shared folders are cleared on import.

To keep VMs on another volume, set the PARALEL_GUEST_DIR environment variable before starting Moire.

Memory

Change a VM's memory in Settings ▸ Processor & Memory while it is stopped. The most you can give is the Mac's memory minus 1 GB, and Moire warns when a setting is likely to strain the Mac.

Ballooning is not available for Windows guests. Instead, the guest tools hand memory that Windows is not using back to the Mac - except while the guest's memory is wired, which Prefer wired guest memory when host RAM permits does by default when the Mac has room. 3D acceleration takes roughly another 1 to 1.5 GB of the Mac's memory.

Linux guests on kernel 5.7 or newer report freed pages to the host, so memory they stop using returns to the Mac.

On a 16 GB Mac the default is an 8 GB guest; on an 8 GB Mac it is 4 GB.

Snapshots & suspend

Named snapshots and Suspend are switched off in this release, because restoring a running machine is not reliable yet.

For a restore point, shut the VM down and use Clone in the library. The copy is instant and takes almost no extra space, and you can go back to it at any time.

Printing, camera, audio & USB

Mac hardware reaches the guest through standard device classes, so no vendor driver has to be installed inside the VM.

  • Printing - Windows gets a ready-made Mac Printer queue. A print job arrives on the Mac as a PDF and goes to the Mac's default printer, or opens in Preview when there is none. Printing is not available from macOS guests.
  • Audio - speaker and microphone are connected by default. The Speaker and Microphone menus in the VM toolbar choose which Mac device a VM uses.
  • Camera - off by default. Switch on Share the Mac camera with this VM in Settings and Windows sees a standard webcam at 640×480.
  • USB - handing a physical USB device to a guest is not available in this release. For Windows, Map Mac volumes to Windows in Settings shows external and USB disks as drives; macOS guests can attach disk images through USB Storage in the toolbar.
  • Bluetooth - the Mac's Bluetooth is not shared with guests.

Command line

paralelvmctl talks to the guest tools of a VM that is already running in the app; it does not create or start machines. It ships inside the bundle at /Applications/Moire.app/Contents/MacOS/paralelvmctl.

Running commands and copying files is off by default. Switch on Settings ▸ Developer ▸ Show developer log, then Settings ▸ Automation ▸ Allow automation / test-driver access for the VM, and restart it. The VM's Log then shows a line beginning tools socket: - that path is what --sock takes.

With the socket path in $SOCK:

$paralelvmctl --sock "$SOCK" ping$paralelvmctl --sock "$SOCK" --timeout 60000 exec "powershell -File C:\build\build.ps1"{"op":"exec","ok":true,"exit_code":0,"stdout":"…"}$paralelvmctl --sock "$SOCK" push ~/notes.txt 'C:\Users\Public\notes.txt'
  • ping, wait-ready [seconds], sysinfo - check that the guest tools answer and read basic facts about the guest.
  • exec <command> - run a command in the guest: through cmd.exe on Windows and /bin/sh as root on Linux. The reply is one line of JSON with exit_code and the combined output.
  • push <host> <guest> and pull <guest> <host> - copy a single file of up to 1 MB. Use a shared folder for anything larger.
  • clipboard get and clipboard set <text> - read or write the guest clipboard.
  • shutdown [halt|reboot] [--force] - shut the guest down cleanly, or restart it.
  • disk-create, disk-info, disk-resize and disk-compact - work directly on a disk image file; no running VM needed.

--timeout is in milliseconds and defaults to 3000, so raise it for anything slow. The tool's own exit status only says whether the call went through; the guest command's exit code is in the JSON.

MCP

The repository includes an MCP server, tools/mcp-server, that lets an AI tool such as Claude drive a VM that is already running: run commands, read the screen, type and click. It is a developer tool built from source, not part of the app download.

Build it with Node.js, then register it with your MCP client:

$cd tools/mcp-server && npm install && npm run build$claude mcp add paralelvm -- node "$PWD/dist/index.js"

It runs over stdio and publishes twelve tools:

  • vm_list - the VMs currently running.
  • vm_exec - run a shell command in the guest.
  • vm_screenshot and vm_computer - capture the display, or act on it and get a screenshot back.
  • vm_click, vm_move_mouse, vm_type_text and vm_press_key - mouse and keyboard input.
  • vm_clipboard_read and vm_clipboard_write - the guest clipboard, as text.
  • vm_sysinfo and vm_shutdown - facts about the guest, and a clean shutdown or restart.

As for the command line, the VM needs Allow automation / test-driver access switched on. The keyboard, mouse and screenshot tools also need Moire to be started with PARALEL_CTL=1 in its environment. While a tool is driving the VM, a soft light travels around the edge of its window.

Troubleshooting

Windows could not be downloaded automatically

Microsoft blocks the automated download on some networks. Moire then opens the official Windows 11 ARM64 download page in your browser: download the ISO there and choose it in the wizard, and the automatic install carries on.

The wizard refuses my ISO

It has to be an ARM64 installer. Images for x64 PCs and BIOS-only discs are rejected as soon as you select them, before any disk is created.

Windows stops at the boot logo

Stop the VM and start it again. A stall at the logo is a known intermittent fault early in Windows boot, and it is more likely while the Mac is busy.

A shared folder is empty inside the VM

macOS has not allowed Moire to read it. Turn the folder on under System Settings ▸ Privacy & Security ▸ Files and Folders ▸ Moire, then restart the VM. Full Disk Access is not needed.

Windows shows "Test Mode" on the desktop

That is expected: the display driver is test-signed, so Windows runs in test-signing mode.

A VM hangs at start without an error

Check where its disk image lives. In Desktop, Documents or another iCloud-synced folder, macOS can evict the image from the Mac. Keep VMs in the default ~/Library/Application Support/ParalelVM/ folder, or on a volume that is not synced.

"Not enough disk space"

A Windows install needs about 40 GB, on top of the 10 GB Moire keeps free for macOS itself, plus 6 GB when the ISO is downloaded in the app. Free up space, or keep the VM folder on another volume.

Where are the logs?

Help ▸ Show Log opens the log, and Show Log in Finder reveals the file at ~/Library/Logs/ParalelVM/paralelvm.log. Attach it when you report a problem.

FAQ

Is Moire really free?

Yes. Moire is open source under the MIT licence, with no paid tier, no seat limit and no licence server. The third-party components it bundles keep their own licences, listed in the notices file inside the app.

Do I need a Windows licence?

Yes. The wizard asks you to confirm that you hold a Windows 11 licence and accept Microsoft's terms. Moire does not include a product key and does not handle activation.

Can I run macOS in a VM?

Yes, through Apple's Virtualization.framework, with up to two macOS VMs running at once. macOS guests are newer than the Windows path and offer less integration: there is no Coherence, drag and drop or printing.

Will my x86 Windows apps run?

Windows 11 ARM64 emulates x86 and x64 applications itself. Moire runs the ARM64 Windows; the translation happens inside the guest.

Can I play games?

Windows guests get Direct3D 11 acceleration through Metal, so DirectX 11 titles are the ones to try. Games that need DirectX 12, OpenGL or Vulkan will not start, and no frame rate is promised - it depends on your Mac.

Does it work on an Intel Mac?

No. Moire is built on Apple's ARM hypervisor and needs an Apple Silicon Mac.