How pallab-js/r-utm works
VibeVisor is a macOS desktop manager for Linux ARM64 virtual machines. Its user-facing workflow is VM management in the Svelte interface, backed by Tauri commands that validate configuration and launch or control QEMU; it also exposes monitoring and SPICE display, plus documented import/export and settings capabilities. The Rust core includes disk-image tools, CPU allocation, direct-kernel boot support, and security/rate-limiting utilities. Some subsystem links are omitted because the excerpts do not show their callers.
Main entry points: lib.rs App commands · launcher.rs QEMU launcher · storage.rs Disk snapshots · +page.svelte VM management
Components 20
Desktop interface
- VM management
src/routes/+page.svelte - Create VM
src/lib/components/CreateVmWizard.svelte - Edit VM
src/lib/components/EditVmModal.svelte - Settings
src/lib/components/Settings.svelte - SPICE display
src/lib/components/SpiceDisplay.svelte - Metrics chart
src/lib/components/Chart.svelte - Metrics store
src/lib/stores/metrics.ts
Tauri commands
- App commands
src-tauri/src/lib.rs
VM runtime
- VM configuration
src-tauri/src/vibe_core/config.rs - QEMU launcher
src-tauri/src/vibe_core/launcher.rs - QMP client
src-tauri/src/vibe_core/qmp.rs - VM monitoring
src-tauri/src/vibe_core/monitor.rs - Disk snapshots
src-tauri/src/vibe_core/storage.rs
Host support
- CPU allocation
src-tauri/src/vibe_core/cores.rs - Kernel boot
src-tauri/src/vibe_core/kernel.rs - Security utilities
src-tauri/src/vibe_core/security.rs - Command limiter
src-tauri/src/vibe_core/rate_limiter.rs
Other components
- VM operator
- QEMU
- qemu-img
Connections 8
- VM operator → VM management: manages VMs
README.md - App commands → VM configuration: validates config
src-tauri/src/lib.rs - App commands → QEMU launcher: launches QEMU
src-tauri/src/lib.rs - App commands → Command limiter: rate limits
src-tauri/src/lib.rs - App commands → QMP client: controls VM
src-tauri/src/lib.rs - QEMU launcher → Security utilities: validates paths
src-tauri/src/vibe_core/launcher.rs - QEMU launcher → QEMU: spawns
src-tauri/src/vibe_core/launcher.rs - Disk snapshots → qemu-img: runs commands
src-tauri/src/vibe_core/storage.rs