Virtual Machine Configuration Guide
When you click the + button in the Control Center of VirtualProg, you are presented with a comprehensive configuration screen to set up a new virtual machine. The configuration screen is organized into several sections accessible via a sidebar. Below is a description of each section along with a link to its respective documentation file.
Windows 11: Available on supported Apple silicon (ARM64) Macs. Some sections and options differ for Windows VMs — see Windows Virtual Machines.
📸 Screenshot:
Sidebar Sections
1. General
Configure the name, description, operating system type (Linux, macOS, or Windows 11 ARM64 when supported), headless mode, full screen behavior, and nested virtualization options.
2. CPU & Memory
Set the number of virtual CPU cores, memory size (in MB), and enable memory ballooning for better memory management.
3. Display
Configure virtual display resolution, DPI, and whether to use host display or force resolution.
4. Sound
Enable or disable virtual audio input and output devices.
5. Network
Add and configure virtual network adapters, choose a network source, and set custom MAC addresses. Windows also offers USB (NCM, default) or VirtIO (PCI) adapter types.
6. Disk
Add and configure virtual hard disks including size, interface type (VirtIO or NVME), caching and sync modes.
7. Network Block Device
Attach network-backed block devices using NBD URLs with optional timeout, read-only mode, and disk interface.
8. CD/DVD
Attach ISO images as virtual CD/DVD drives with interface options like USB or VirtIO.
9. Shared Folder
Mount host directories inside the guest with read-only options and custom mount names.
10. Serial Port
Add serial ports in console or file output mode. Useful for debugging and headless setups.
11. Boot Disk
Select the disk from which the virtual machine should boot, or set it to auto.
12. Security
Configure clipboard sharing, screenshot access, screen recording, VM password protection, and usage stats.
13. Auto Snapshots
Enable and schedule automatic snapshots of the VM for recovery or backup purposes.
14. Schedule
Enable and schedule auto start and shutdown of the VM at specific times.
15. Startup & Shutdown
Configure auto start, startup delay, sleep and shutdown behaviour, window close behaviour, and auto pause.
16. Webhooks
Configure HTTP endpoints to notify external services when the VM starts, stops, pauses, or is suspended.
17. SSH
Store an SSH username, port, and credential (password or private key) for this VM. When set, clicking Web SSH in the dashboard connects immediately without prompting for credentials.
18. Restore Image (macOS)
Choose a macOS IPSW restore image to use for macOS installations.
19. Input Devices (macOS)
Set the type of virtual keyboard and mouse (Mac or Legacy USB).
20. Provisioning (macOS, macOS 27+)
Automate first-boot account setup for macOS guests — set the account name, username, password, auto login, and remote login without going through the setup assistant.
21. Boot Image (Linux)
Specify a Linux kernel and initial RAM disk for custom Linux booting.
22. Rosetta (Linux)
Enable Rosetta support for running x86_64 binaries on ARM-based macOS hosts.
Dynamic Configuration
At the bottom left of the configuration screen, you will find + and 🗑 Trash buttons:
-
Clicking the + button opens a menu that lets you add additional components to your VM, including:
-
The 🗑 Trash button allows you to remove any of the above items that you've added.
- The Display section can also be deleted to run without a virtual GPU or graphical screen. For headless mode with remote screen access, keep the display enabled and turn on Headless in General settings.
These controls make it easy to tailor your VM's configuration to exactly what you need.
