f-trycua
Joined 1 year ago
Joined 1 year ago
We're grateful for the overwhelming support from HN and our community on Discord - seeing nearly 2k stars and many open issues in such a short time has been incredible.
lume is released under a flexible MIT license and will always remain so to encourage community contributions.
Previous HN post: https://news.ycombinator.com/item?id=42908061
Core features:
- Run native macOS VMs in 1 command: lume run macos-sequoia-xcode:latest - Prebuilt images on [ghcr.io/trycua](https://ghcr.io/trycua) (macOS Sequoia, Ubuntu ARM) - Local API server to manage VMs programmatically - A python SDK on [github.com/trycua/pylume](https://github.com/trycua/pylume)
What our first users say:
- ‘Something like Lume should have been a commodity in the ecosystem much earlier. Thanks for going ahead to change that.’
- ‘I’ve been using Colima for a year now to run desktop docker workloads. It would be nice to be able to remove the extra layer of qemu they use.‘
- ‘Looks interesting! I’ve been playing with UTM to do aarch64 VMs and I even cooked up a little Sinatra server to do some AppleScript to reboot the VM and do some other things on the host. I’ll look at this as a more robust solution as to be completely honest, UTM has left a lot to be desired at least for virtualization.‘
Future directions (as asked by our community and design partners):
- Docker-compatible interface for macOS VMs
- VM suspension and Snapshot management
- GPU passthrough (with Paravirtualized Graphics)
- Flexible VM, Images and IPSW locations
- Sharing USB devices
- Remote SSH commands and more UI automation features
Common Questions:
- How does this differ from lima, UTM and Tart: https://github.com/trycua/lume/issues/10
- How to Install macOS from an IPSW Image: https://github.com/trycua/lume/blob/main/docs/FAQ.md#how-to-...
- How do I install a custom Linux image: https://github.com/trycua/lume/blob/main/docs/FAQ.md#how-do-...
Python SDK: https://github.com/trycua/pylume
Discord for feedback: https://discord.com/invite/5ngXY2Wn
We're currently working out the details. It was left out of the initial release, but it’s feasible starting from a Windows on ARM image. I'll create an issue to track this work. Thanks for the feedback!
Interestingly, we left out the screenshot and exec features from this initial release so the CLI wouldn’t get too cluttered. We’re rolling out another update next week that will let you request screenshots programmatically, stream the VNC session in your browser via noVNC, run commands remotely over SSH, add clipboard support (finally!), and more.
As for cloning, you can indeed clone a running VM. However, suspending a VM isn’t supported in this release yet, even though it’s possible with the Apple Virtualization.framework. I’ll open an issue to track that work. Thanks again for the suggestions!
I'll definitely document the option in the README, thanks!
On Lima:
- Lima focuses on Linux VMs and doesn't support managing macOS VMs.
- It is more of a container-oriented way of spinning up Linux VMs. We're still debating whether to go in that direction with lume, but the good news is that it would mostly require tweaking the hooks to expose lume’s core to adopt the containerd standard. I’d love to hear your thoughts - would you find it useful to have a Docker-like interface for starting macOS workloads? Similarly to: https://github.com/qemus/qemu-docker
- Still many dependencies on QEMU, which doesn't play well with Apple silicon - while we opted to support only M chips (80-90% of the market cap today) by relying on the latest Apple Virtualization.Framework bits.
On Tart:
- We share some similarities when it comes to tart's command-line interface. We extend it and make it more accessible to different frameworks and languages with our local server option (lume serve). We have also an interface for python today: https://github.com/trycua/pylume
- Going forward, we'd like to focus more on creating tools around developers, creating tools for automation and extending the available images in our ghcr registry. Stay tuned for more updates next week!
- Lastly, lume is licensed under MIT, so you’re free to use it for commercial purposes. Tart, on the other hand, currently uses a Fair Source license.
Also, appreciate you linking the previous discussion! We'll make sure to address common questions more clearly in our docs and updates.