Repository navigation
Feature Request: macOS Support for Hyperlight #45
Description
Activity
- changed the title
[-]**Feature Request: macOS Support for Hyperlight**[/-][+]Feature Request: macOS Support for Hyperlight[/+]on Nov 8, 2024 - addedlifecycle/needs-reviewThe issue has not yet been reviewed.The issue has not yet been reviewed.
on Nov 8, 2024 Hypervisor.framework support has been a feature I've wanted for a long time. Right now, the issue isn't so much about writing the hypervisor implementation for it, but rather the process model that we currently support is limited by Hypervisor.framework. Hypervisor.framework supports only 1 VM per process. Hyperlight can use KVM and Hyper-V to create thousands of VM instances per process.
We have discussed changing the process model to support this use case. That would be a pretty big chunk of work.
We have also discussed exposing Hypervisor.framework support with the caveat that for local OSX dev you'd only be able to start a single VM instance.
Thoughts?
Thanks for clarifying. For macOS development, I think that's an acceptable trade-off.
Since macOS isn't likely to be a deployment platform, the aim is to be able to build and test apps locally before deploying on Linux machines, having one VM per process should work fine. If needed, one could orchestrate multiple processes to handle multiple VMs.
I get that changing the process model would be a big task and I wish I could help with the implementation but I don't have enough experience with VMMs to contribute meaningfully.
Reacted by Harsha Teja Kanna, Yosh, Rob Morgan, Dan Saattrup Smart, Chris Bergeron and Grégoire- addedkind/enhancementFor PRs adding features, improving functionality, docs, tests, etc.For PRs adding features, improving functionality, docs, tests, etc.and removedlifecycle/needs-reviewThe issue has not yet been reviewed.The issue has not yet been reviewed.
on Nov 8, 2024 Would creating more processes be a workaround? It may seem odd and obviously won't work so well for a massive number of processes, but in Activity Monitor on my Mac, Google Chrome and LibreWolf each have more than a dozen processes at present.
Would creating more processes be a workaround? It may seem odd and obviously won't work so well for a massive number of processes, but in Activity Monitor on my Mac, Google Chrome and LibreWolf each have more than a dozen processes at present.
I think that is totally reasonable for local dev. However, it would be a bit different than the current programming model of Hyperlight and will probably need some sort of IPC mechanism to replicate the programming model.
- Reacted by David JusticeReacted by Oliver Mannion
That would be a totally viable path for local OSX dev.
- addedlifecycle/confirmedBug is verified or proposal seems reasonableBug is verified or proposal seems reasonableand removedkind/enhancementFor PRs adding features, improving functionality, docs, tests, etc.For PRs adding features, improving functionality, docs, tests, etc.
on Mar 12, 2025 Here's a start to OSX support. The branch should work for simple cases, but there's a bunch more work to be done. https://github.com/simongdavies/hyperlight/compare/cow-doc...devigned:hyperlight:feature/aarch64-macos-support?expand=1
Reacted by Stephen Akinyemi, jamroks, Dan Saattrup Smart and Tyler WeirRelated: #677
- added a parent issue
on Jun 17, 2026 @jsturtevant I think it's missing hyperlight-dev/hyperlight-sandbox#202 for us to use it :)
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
- StatusShow more project fieldsNo status
Are there any plans to add macOS as a supported platform for Hyperlight? Since macOS has the Hypervisor.framework, it seems doable—projects like libkrun have already made use of it.
This would be great for macOS developers who want to test their apps locally before deployment. Macs are pretty popular among developers, and with Apple Silicon getting ridiculously powerful (plus nested virtualization coming to macOS), I think this feature would be super valuable.
Thanks for considering it!