Skip to content

# Frequently Asked Questions

## Compatibility & Requirements

### What Mac hardware do I need?

VirtualProg runs on both Apple Silicon and Intel Macs, but the type of VM you can run depends on your hardware:

Mac | Supported VMs
--- | ---
Apple Silicon (M1 or later) | macOS and Linux virtual machines
Intel Mac | Linux virtual machines only

### What macOS version is required?

macOS 14.6 Sonoma or later is required to run VirtualProg.

### Can I run macOS VMs on an Intel Mac?

No. macOS virtual machines require Apple Silicon. The Apple Virtualization Framework does not support macOS guest VMs on Intel hardware. Intel Macs can run Linux VMs only.

### Does VirtualProg support Windows?

Windows VMs are not supported. Apple's Virtualization Framework does not provide guest support for Windows, so VirtualProg cannot run Windows virtual machines.

## Creating Virtual Machines

### What is an IPSW file and where do I get one?

An IPSW file is the restore image used to install macOS in a virtual machine. You do not need to find one manually — VirtualProg can download the correct IPSW directly from Apple's servers. In Quick Create or the Restore Image configuration, select a macOS version and click Download. If you already have an IPSW, you can select it from disk or drag and drop it into the field.

### What is the difference between Quick Create and Advanced Create?

Quick Create is the fastest path to a running VM. You provide a name, OS, restore image or ISO, and basic hardware settings (CPU, RAM, disk). VirtualProg fills in sensible defaults for everything else.

Advanced Create opens the full configuration wizard before the VM is created, giving you control over every setting — networking mode, display resolution, shared folders, serial ports, boot disk, and more. Use Advanced Create when you need a specific configuration from the start.

### How much CPU and RAM should I assign to a VM?

A good starting point is to assign half the physical cores on your Mac. For example, on an M2 with 8 performance cores, 4 virtual CPUs is a reasonable allocation. Assigning too many cores does not speed up the VM — it can slow things down by competing with the host for CPU time.

For RAM, the recommended amounts are:

Guest OS | Minimum | Recommended
--- | --- | ---
macOS | 4096 MB | 8192 MB or more
Linux (with GUI) | 2048 MB | 4096 MB
Linux (headless) | 512 MB | 1024–2048 MB

Always leave at least 4 GB free for macOS itself. On a 16 GB Mac, assigning more than 10–12 GB to a VM may cause the host to swap and become unresponsive.

### How much disk space does a VM need?

A macOS VM needs at least 20 GB of virtual disk space for a clean install, with 40 GB or more recommended for practical use. A Linux VM typically needs 8–20 GB depending on the distribution and what you plan to install. Remember that the virtual disk file lives in your VMs storage folder, so make sure the host drive has enough free space.

## Storage & Disks

### Why is my disk using more space than expected?

If your VM is configured with a Dynamic disk type, the virtual disk file on your Mac grows as content is written into the VM — even if you set a maximum size of, say, 40 GB, the actual file on disk starts small and expands over time. This is by design and helps save storage when the VM is not full. If you need the full size allocated immediately, use a Fixed disk type instead.

### Can I move my VMs to a different folder or external drive?

Yes. Go to Settings → Storage and choose a new storage folder. VirtualProg will use that folder going forward. To move existing VMs, quit VirtualProg, move the VM bundle folders to the new location, then update the storage path in Settings and re-open the app. Make sure the new location has sufficient free space before moving.

### Can I attach multiple disks to one VM?

Yes. In the VM's configuration under Disk, you can add multiple virtual disks, import existing disk images, or attach an existing disk file. Each disk can have its own interface type (VirtIO or NVMe), cache mode, and sync mode.

## Running Virtual Machines

### Can I run multiple VMs at the same time?

Yes. VirtualProg supports running multiple VMs simultaneously. Each VM runs in its own window. Performance depends on your Mac's available CPU, RAM, and the workload of each guest. Keep an eye on the Dashboard to monitor resource usage across all running VMs.

### What is Headless Mode?

Headless Mode runs the VM without opening a display window. This is useful for server VMs or background workloads where you do not need a graphical interface. A headless VM starts silently and can be accessed via SSH or the serial port terminal. Headless Mode is configured in Configuration → General.

### Can I auto-start VMs on macOS boot?

Auto-start at login — not at system boot — is supported due to macOS sandbox restrictions. You can enable Launch at Login in Settings so VirtualProg starts automatically when you log in. Individual VMs can then be configured with Auto Start in their General settings to start as soon as VirtualProg launches.

### Can I schedule VMs to start and stop automatically?

Yes. Each VM has a Schedule configuration where you can set start and stop times in 24-hour format and select which days of the week the schedule runs. Two conditions must be met for scheduling to work: VirtualProg must be running at the scheduled time, and the global scheduler must be enabled in Settings → Advanced → Scheduler.

### What is Auto Pause?

Auto Pause automatically pauses a VM after a configurable period of inactivity, reducing CPU and memory usage on the host when the VM is left idle. It is configured per VM in Configuration → Security. The default timeout when enabled is 3 minutes. Auto Pause only applies while the VM window is open — headless VMs are not affected.

## Snapshots & Templates

### What is the difference between a snapshot and a template?

A snapshot captures the exact state of a running or stopped VM — its disk contents, configuration, and optionally memory — so you can restore it to that precise point later. Snapshots are tied to a specific VM.

A template is a saved copy of a VM's configuration and disk used as a baseline to create new VMs. When you create a VM from a template, you get a fresh independent copy. Templates are ideal for repeatable environments like development or testing setups.

### How many snapshots can I have per VM?

There is no hard limit on the number of manual snapshots. Each snapshot consumes additional disk space proportional to the changes made since the previous snapshot. For automatic snapshots, the Retention setting in Configuration → Auto Snapshots controls the maximum number kept — older ones are deleted automatically when the limit is reached.

## Networking & Sharing

### What is the difference between NAT and Bridged networking?

NAT (Default) — The VM shares the host Mac's internet connection through Network Address Translation. The VM can access the internet but is not directly visible on the local network. This is the simplest and most compatible option for most use cases.

Bridged — The VM is connected directly to a physical network interface on the host, giving it its own IP address on the local network. Other devices on the network can reach the VM directly. Use Bridged networking when you need the VM to act as a peer on your network, for example as a server.

### Can I copy and paste between my Mac and the VM?

Yes, for macOS guests. Enable Share Clipboard in Configuration → Security. Once enabled, you can copy and paste text and files between the host Mac and the guest VM.

### How do I share files between my Mac and the VM?

Use Shared Folders in the VM configuration. Add a folder from your Mac, give it a mount name, and it will be accessible inside the guest. On macOS guests (macOS 13 or later) the folder is mounted automatically. On Linux guests, mount it using VirtioFS:

    sudo mount -t virtiofs macOS /mnt/mac

Replace `macOS` with your configured share name if you changed it.

## Linux VMs

### Can I run Linux on Apple Silicon?

Yes. VirtualProg fully supports Linux VMs on Apple Silicon Macs. Most modern distributions with ARM64 support work — including Ubuntu, Debian, Fedora, and others. Download the ARM64 ISO for your chosen distribution.

### Can I run x86_64 (Intel) apps in a Linux VM on Apple Silicon?

Yes, using Rosetta. Enable Rosetta in Configuration → Rosetta, then mount the shared Rosetta runtime inside the Linux guest and use the Rosetta dynamic loader to run Intel binaries. See the Rosetta documentation for full setup instructions.

### Does VirtualProg support USB passthrough?

Yes. USB devices connected to your Mac can be connected to a virtual machine. This is only supported if the host is macOS 27 Golden Gate or later

## Features & Tools

### Can I password-protect a VM?

Yes. Set a password in Configuration → Security. Once set, VirtualProg prompts for the password — or Touch ID — before the VM can be started or its window opened. To remove the password, clear the field and save the configuration.

### What is the vpvm CLI tool?

`vpvm` is VirtualProg's command-line interface, allowing you to control your VMs from the terminal. You can start, stop, pause, and query VM status without opening the app's main window. The CLI communicates with VirtualProg's built-in CLI Server, which runs locally on port 49152 by default. The CLI Server can be enabled or disabled in Settings → CLI. See the Command Line documentation for all available commands and usage examples.