-
Notifications
You must be signed in to change notification settings - Fork 0
Shared Directories and Integration
VirtualReactor offers four integration features that bridge host and guest, all driven by virtio devices. Each can be turned on or off independently in the Integration section of the Configuration sheet.
This is the main file-sharing mechanism. When enabled, the Shared Directories section appears and lets you add host folders that get exposed to the guest as VirtioFS mounts.
- Stop the VM (the list can be edited while running, but most guests need a remount to pick up changes).
- In the Configuration sheet, ensure Directory Sharing (virtio-fs) is on.
- Scroll to Shared Directories and click Add Directory….
- Pick the host folder in the file picker. VirtualReactor stores a security-scoped bookmark.
- Optionally rename the share (the Name field is the mount tag the guest will use) and tick Read-Only.
mount -t virtiofs <name> /mnt/<mountpoint>
Use the name you set in the configuration (defaults to shared). To mount at boot, add an /etc/fstab entry such as:
shared /mnt/shared virtiofs defaults 0 0
macOS guests mount VirtioFS shares automatically. They appear under /Volumes/My Shared Files/<name>.
Each share is a security-scoped bookmark. If you move or rename the host folder, the bookmark goes stale and the share will be marked as Path unavailable the next time you open the Configuration sheet. Delete the broken entry and add the folder again.
When enabled, the guest and host share a single clipboard. Copy in one, paste in the other.
- macOS guests support clipboard sharing natively (macOS 13+).
-
Linux guests need
spice-vdagentinstalled and running. The popover next to the toggle reminds you of the package name.
The balloon driver lets the host ask the guest to give back unused memory. With this enabled, the Memory Balloon target slider appears while the VM is running and lets you set a target working set in 0.5 GB steps.
- On by default.
- Most modern Linux distributions and macOS guests have the balloon driver.
- The slider is a request, not a guarantee — the guest decides how much it can actually release.
When enabled (and supported by your Mac), VirtualReactor exposes the host's Rosetta translation environment to the Linux guest via a special VirtioFS tag named rosetta. The guest can then run x86_64 Linux binaries.
To use it inside the guest:
mkdir /mnt/rosetta
mount -t virtiofs rosetta /mnt/rosetta
update-binfmts --install rosetta /mnt/rosetta/rosetta \
--magic "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x3e\x00" \
--mask "\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff" \
--credentials yes --preserve no --fix-binary yes
(The exact command is also shown in a popover inside the Configuration sheet.)
The toggle's status indicators tell you whether Rosetta is supported by the host and whether it's installed. Install Rosetta on the host via softwareupdate --install-rosetta if necessary.