A developer shares their vision for UVM, a minimalistic custom virtual machine designed to be a sandboxed, cross-platform software distribution system. The goal is to combine the convenience of package managers like apt/brew with mobile-style capability-based sandboxing and true cross-platform portability. UVM uses a simple instruction set targeting x86-64, arm64, and RISC-V, exposes only low-level APIs (no FFI), and packages programs as single self-contained files. The author compares UVM to existing solutions (Docker, AppImage, Flatpak, JVM, Wasm, browsers) and explains why none fully solve the combination of portability, sandboxing, and ease of use. A working prototype exists with sound, graphics, and networking APIs, and Doom has been compiled to run on it via a Clang backend. Next steps include switching to a register-based interpreter, implementing a JIT compiler, and designing the permission model. The post solicits community feedback and contributors.

16m read timeFrom pointersgonewild.com
Post cover image
Table of contents
Approach and CompromisesExisting AlternativesOther Implementation OptionsWhat about SIMD?Current StatusConclusion
12.2K Impressions