Skip to content

0.7.7

Choose a tag to compare

@OverlordDev OverlordDev released this 31 Oct 07:17
· 5 commits to main since this release

0.7.7: a stale Docker pid file is removed at boot, the kext logs why HyperKit may be killed on macOS 26, CR2 writes are applied

  • Docker after a reboot. HyperKit refused to start ("Failed to set up pidfile") when hyperkit.pid from the previous boot was still there. The boot service now removes a pid file that does not name a running HyperKit. Run ./rhv autostart install once to get the new script.
  • macOS 26 and Docker (issue 1). Before it patches HyperKit, the kext writes the process's code-signing flags to the log (rhv-info log | grep "client fix-ups"): enforcement off is what a machine with AMFI relaxed shows; with enforcement ON it adds a warning, because on macOS 26.7.1 a HyperKit with enforcement on was killed (Code Signature Invalid) right after the patch. Whether relaxing AMFI is enough on macOS 26 is not known (not tested there).
  • CR2. The kext did not apply a write of CR2 by the client; it does now (VMware's instruction emulator injects page faults). No program tried here writes it.
  • For debugging a stalled client (off by default, no cost when off): rhv-info hv debug N, hv flightdump [N [SKIP]], hv readguest <hex va>: a ring of the last 2048 exits with registers, GS/KERNEL_GS_BASE and what the client wrote before each run, and a read of guest memory through the guest's own page tables. It was used to look at VMware Fusion's hang at the Windows logo, which is not solved: the guest ends in a recursive page fault in Windows' KiPageFault with the user GS base (details in docs/ROADMAP.md, item 12).
  • The open points from the issues are in docs/ROADMAP.md (items 13 to 19). One of them: HyperKit sometimes aborts in its vCPU thread (once in about six starts here, also once on an older build); starting Docker again works.

Tested on a Ryzen 7 5800H, macOS 15.8.1: Docker hello-world and alpine in native mode (the kext in the archive has the same code as the one tested); Parallels (native), Windows 10 boot with the keyboard armed and prlctl exec; the unit tests. Not tested: other machines, macOS 26.

Update: unpack, ./rhv kext --native, reboot, ./rhv autostart install.