WebVM

A server-less Linux virtual environment running fully browser-side HTML5/WebAssembly.

WebVM is powered by the CheerpX virtualization engine, which enables safe,  sandboxed client-side execution of x86 binaries on any browser.

CheerpX is powered by an x86 to WebAssembly binary translation JIT compiler, a virtual block-based file system, and a Linux syscall emulator. It supports full TCP and UDP networking via a Tailscale integration.

Work on WebVM and on the CheerpX technology is actively ongoing, and the tool is not released at present.

WebVM

HOW IS THIS POSSIBLE?

CheerpX 101

Two-tiered execution engine

Interpreter that does code discovery + bookeeping to allow to efficiently pass hot code to the JIT.

x86→Wasm JIT, in WebAssembly

CheerpX JIT engine, a WebAssembly module that compiles new Webassembly modules.

Emulate devices or system calls

CheerpX emulates system calls or device access using Web APIs and browser functions.

General purpose platform technology

CheerpX can be used to run single x86 application, or full systems.

CURIOUS?

Tell me more

We are working on CheerpX, but it’s not yet available generally.
If you are curious and want to know more, stay tuned, or get in touch!

Blog and News

Industry and Product Insights

Fantastic tail calls, and how to implement them

Recursion is one of the fundamental primitives of computer science. Many algorithms came to life by simplifying a general problem into recursive sub-problems. From the perspective of code, recursion implies that a function would call itself as part of its…