You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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.
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
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.
Activity
[-]**Feature Request: macOS Support for Hyperlight**[/-][+]Feature Request: macOS Support for Hyperlight[/+]devigned commentedon 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?
appcypher commentedon Nov 8, 2024
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.
benatkin commentedon Nov 12, 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.
devigned commentedon Nov 19, 2024
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.
benatkin commentedon Jan 6, 2025
Looks like maybe the README could suggest working inside a Linux VM to owners of an M3 or greater (I have a M1 currently)
devigned commentedon Jan 6, 2025
That would be a totally viable path for local OSX dev.
devigned commentedon Jan 27, 2026
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
devigned commentedon Apr 7, 2026
Related: #677
jsturtevant commentedon Sep 3, 2026
initial support for this merged in #1674, some future improvements may come in #1706 and #1796
verdie-g commentedon Sep 4, 2026
@jsturtevant I think it's missing hyperlight-dev/hyperlight-sandbox#202 for us to use it :)