Repository navigation
RyzenHV 0.7.2: the keyboard in native Parallels, a boot service, app updates
0.7.2: the keyboard in native Parallels, a boot service for kern.hv_support, app updates
The keyboard works in a Parallels VM in native mode (./rhv parallels native, see docs/NATIVE.md). Parallels' monitor drops every key until the guest writes 0 to port 0x80, which Parallels' own firmware does only under Parallels' own hypervisor. The stand-in library now wraps hv_vcpu_run and hv_vcpu_run_until in libMonitor's imports (the monitor uses the second) and calls the monitor's own port handler with 0: on the first guest access to the keyboard controller, and once a second while the flag is still clear (a VM restored from a saved state never touches the keyboard controller again). Verified on a Ryzen 7 5800H, macOS 15.8.1, Windows 10 guest on 4 vCPUs: keys sent with prlctl send-key-event (Ctrl+Esc opens the Start menu) reach the guest after a cold boot and after a resume. Not tested: typing in the VM window, other keyboard layouts. Suspend and resume of a native VM also worked in several cycles.
./rhv autostart install (also a button in the app): a launchd service that turns kern.hv_support on at every boot, so Parallels no longer falls back to its own engine after a restart. It copies rhv-info to /usr/local/libexec/ryzenhv (owned by root) and writes /Library/LaunchDaemons/com.overlorddev.ryzenhv.hvsysctl.plist; ./rhv autostart remove undoes it. Installed and run on the author's machine; a real boot with it has not been observed yet.
The app (RyzenHV-0.7.2-app-macos-x86_64.zip): a new "Automatic start" page and an "Enable, native mode" button on the Parallels page. It builds, and it was started against this bundle and stayed running; its buttons were not clicked. The Install button runs the same command that was run through the password dialog. The app is ad-hoc signed: after a browser download run xattr -dr com.apple.quarantine RyzenHV.app.
The kext is unchanged since 0.7.1 (the same code, constants and data, checked section by section; it still reports 0.7.1). So the guard against the VMRUN panic from issue #1 is the same one, and still not tested on macOS 26.
Plan for what is left to make everything native (TPR shadow for speed, the Parallels window, Mac sleep/wake, no wrapper in /Applications): docs/ROADMAP.md, phase 5. Install: unpack, ./rhv kext --native, reboot, ./rhv doctor, ./rhv autostart install, ./rhv parallels native. Details in START-HERE.md. Keep a working EFI without the kext.