muvm - run programs from your system in a microVM
muvm allows you to run arbitrary programs from your system in a microVM. It's comprised of 2 small programs:
muvm: links against libkrun to create the microVM.
muvm-guest: acts as an entrypoint inside the microVM to set up the environment for running your program. It spawns a server listening for requests to run additional programs. This allows you to run multiple graphical applications inside the same microVM.
…If DISPLAY is set, muvm uses X11 forwarding to allow you to run graphical applications in the microVM.
GPU acceleration is also enabled on systems supporting DRM native context (freedreno, amdgpu, asahi).
If FEX-Emu is installed in your system, muvm will configure binfmt_misc inside the microVM so x86/x86_64 programs can be run transparently on it.
This tool is mainly intended to enable users to easily run programs designed for 4K-page systems on systems with a different page size, with Asahi Linux being the prime example of this use case.
Other potential use cases could be software isolation, accessing privileged kernel features (provided by the guest) or local testing.
No open issues yet, or sync has not completed.