WebVM Runs Full Graphical Linux System in Browser Using VirtualisationPermalink

Alessandro Pignotti writing on the Leaning Technologies blog:

WebVM is a full Linux environment running in the browser, client-side. It is a complete virtual machine, with support for persistent data storage, networking and, as of today’s release, Xorg and complete desktop environments. In an instance of WebVM, everything executes locally within the browser sandbox.

WebVM runs on any modern browser, including mobile ones, thanks to WebAssembly, HTML5 and CheerpX: a novel x86 virtualization engine for browsers, developed by us at Leaning Technologies.

You may have seen other sites that run operating systems in the browser. Typically these compile an emulator to WebAssembly and host that in the browser. This works quite well with the light demands of older systems but can be a bit slow for more demanding systems.

WebVM takes a different approach. The CheerpX engine is a JIT compiler from x86 to WebAssembly and is able to run Linux binaries unmodified. WebVM adds a browser based Linux syscall implementation that allows it to run binaries, including graphical ones in the browser, much faster than using a whole system emulator.

Screenshot of WebVM running in Firefox. It is hosting i3 on Alpine Linux with xterm and GVim running.
WebVM running i3 on Alpine Linux with XTerm and GVim running.