Skip to content

Add first-party SimpleVM Guest Tools - #3

Merged
serhatandic merged 1 commit into
mainfrom
serhatandic-guest-tools-roadmap
Aug 19, 2026
Merged

serhatandic merged 1 commit into
mainfrom
serhatandic-guest-tools-roadmap

Conversation

@serhatandic

Copy link
Copy Markdown
Owner

Summary

  • add a compatible v2 Guest Agent protocol, hardened Apple vsock and QEMU virtio-serial transports, explicit lifecycle/error handling, and capability-gated runtime integration
  • ship an auditable split-privilege Linux agent for systemd Debian/Ubuntu and Arch/Omarchy with fixed power, share-mount, clipboard, and Hyprland resize operations
  • add truthful bundle export/shared-folder delivery UX, Machine Detail status/capabilities/retry actions, tests, and security/install documentation

Validation

  • make test — 28 core tests and strict app build pass
  • make app-test — 46 hosted tests pass, 2 hardware fixtures skipped
  • GuestTools/self-test.sh — 19 guest tests pass
  • focused Guest Tools UI delivery test passes
  • Claude Opus 5 high-effort review completed with all findings fixed and final clean sign-off

Install UX

SimpleVM can export simplevm-guest-tools.tar.gz for any backend. Apple VZ machines with a configured virtiofs share can copy it there in one action; the app then shows the exact guest-side extraction/install command. Delivery never supplies a password, modifies a guest disk, or claims installation succeeded.

Capabilities and caveats

  • status, distro/desktop/session detection, graceful shutdown/reboot, fixed share virtiofs mount, bounded UTF-8 clipboard, and validated Hyprland display resize are capability-gated
  • QEMU currently exports the bundle but does not expose a host-directory virtiofs share
  • Apple VZ GNOME/X11 clipboard is not currently available; QEMU GNOME/X11 uses SPICE and spice-vdagent
  • Hyprland/Wayland clipboard requires wl-clipboard; vanilla spice-vdagent is not represented as solving Hyprland clipboard or resize
  • VMs continue to boot and run normally when Guest Tools are absent or fail

@serhatandic
serhatandic changed the base branch from serhatandic-per-machine-profiles to main August 19, 2026 10:57
@serhatandic
serhatandic merged commit 5f370dc into main Aug 19, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant