July 11th, 2024

WebVM is a server-less virtual Linux environment running client-side

WebVM is an open-source Linux virtualization platform on GitHub, focusing on CPU and HDD compatibility. Users connect via Tailscale for networking, engaging the community through Discord and GitHub for issue tracking.

Read original articleLink Icon
WebVM is a server-less virtual Linux environment running client-side

The news discusses WebVM, a Linux virtualization platform built on WebAssembly. The project is open-source and available on GitHub for collaboration. It emphasizes compatibility with various CPU and HDD configurations. Users can connect to WebVM via Tailscale for networking purposes. Additionally, the project encourages community engagement through Discord and GitHub for issue tracking. The platform is designed to run Linux environments efficiently using WebAssembly technology.

Related

What Happens When You Put a Database in the Browser?

What Happens When You Put a Database in the Browser?

WebAssembly (Wasm) enhances browser capabilities, enabling high-performance apps like DuckDB for ad-hoc queries and Python environments. DuckDB Wasm boosts performance in interfaces like lakeFS, Evidence, and Count. MotherDuck enables local querying, emphasizing efficient data processing.

Re-visiting VM/386 (2023)

Re-visiting VM/386 (2023)

The author shares experiences with VM/386, an emulation software from 1988. Running on 86box, it enables multitasking on an 80386 processor with graphical PC programs, despite limitations hindering broader success.

Motor OS website is now served from Motor OS VMs

Motor OS website is now served from Motor OS VMs

Motor OS is a cloud-focused operating system developed in Rust for virtualized workloads. It features a microkernel design, aims for efficiency and security, but lacks a security audit for production readiness. Detailed instructions are available in the documentation.

Dynamic Translation of Smalltalk to WebAssembly

Dynamic Translation of Smalltalk to WebAssembly

The article explores Smalltalk code translation to WebAssembly (WASM) within the Catalyst project. It details levels of Smalltalk, JavaScript, and WASM, focusing on direct Smalltalk to WASM optimization. A new translator, WATCompiledMethodTranslator, aids in this process, exemplified by a Smalltalk expression conversion. Creation of a WASM module for Smalltalk methods is explained, highlighting performance advantages and potential future comparisons with dynamic JS translations. Collaboration in the Smalltalk community is encouraged for further advancement.

Show HN: I built a WASM-console using WebAssembly and tinygo

Show HN: I built a WASM-console using WebAssembly and tinygo

An experimental project called "wasm-console" demonstrates WebAssembly technology for console functionalities. Instructions include building steps, file lists, and verification processes. Project emphasizes WebAssembly use.

Link Icon 36 comments
By @dchest - 4 months
Looks like the underlying project is not open source:

"WebVM is based on a CheerpX build that we host. We encourage users to deploy their own versions of WebVM, but we don’t currently allow self-hosting of the CheerpX engine itself. This public build of CheerpX is provided as-is and is free to use for technological exploration, testing and non-commercial uses. If you want to build a product on top of CheerpX/WebVM, please get in touch:"

https://labs.leaningtech.com/blog/mini-webvm-your-linux-box-...

By @apignotti - 4 months
Hi, Lead Dev of WebVM and CTO of Leaning Technologies here. Happy to answer any questions you might have... potentially in a few hours, it's quite late here :-)

Even better, consider joining our Discord: https://discord.gg/yTNZgySKGa

By @hexo - 4 months
Let me fix the title: "WebVM is a wasm VM running in browser"
By @Animats - 4 months
Love the buzzwords.

It's a Linux command line environment running in a browser. Slowly.

By @jfmc - 4 months
Note that "CheerpX enables you to run existing 32-bit x86 native binaries". For some reason support for wasm64 (in browsers) has been stagnated for years, which is a pity.
By @fragmede - 4 months
Networking provided by Tailscale. Clever! Works around some potential issues.
By @alex14fr - 4 months
This feels way slower than https://bellard.org/jslinux/
By @spankalee - 4 months
Cool, but very often my keystrokes aren't showing up, making this pretty unusable.

Also, for the use case of local dev environment for Web IDEs, this doesn't look fast enough.

    node --version
runs fast after the first time, but executing any JavaScript is very, very slow:

    user@:~$ time node -e "console.log('Hello')"
    Hello
    
    real    0m7.693s
    user    0m0.012s
    sys     0m0.000s
By @tamimio - 4 months
What a practical use case of such thing?
By @danans - 4 months
Can it be made to work offline and keep state locally between reloads?
By @jbritton - 4 months
Where are files located, server, client, browser local storage?

How do you import a .exe compiled elsewhere, curl, scp?

This is a Linux environment, but it can run Windows apps? How does that work?

By @languagehacker - 4 months
First thing I tried was `apt-get install emacs` and it hung on downloading. Editor preferences aside, I assume any nonstandard package will have the same problem. Interesting idea, but apart from trivial glue you may not need more than a container or unikernel for anyway, I'm struggling to understand a practical use case.
By @nyanpasu64 - 4 months
Can we port Adobe Flash to WebVM to avoid having to pay for "CheerpX for Flash"?
By @doctor_eval - 4 months
I first used Slackware Linux off floppies in the mid 90s, yet every time I see linux in the browser I am gobsmacked.

I’ve said for a while that a browser is basically its own operating system. Now it can host operating systems!

By @remram - 4 months
Totally unusable on mobile unfortunately (at least Firefox and Chrome on Android). Might be a limitation of how the keyboard works, but every command gets duplicated (at least) when I enter it.
By @supportengineer - 4 months
$ uptime

Error: /proc must be mounted

By @phibz - 4 months
Seems like having tailscale or at least wireguard would be really useful in this
By @xyst - 4 months
Looks like it’s broken on mobile
By @ladysera - 4 months
Hi, this looks really amazing, will give it a try later thanks
By @revskill - 4 months
Sweet, could i run a nodejs http api directly from browser ?
By @marmaduke - 4 months
Can this run NFS or other network filesystems?
By @ptspts - 4 months
It doesn't work in my Chrome on Android. The cursor is blinking, nothing happens.

If a browser is not supported, the site should display a specific error message.

By @bfung - 4 months
server-less - like the server that runs the browser that the VM runs inside.

/sarcasm

By @localfirst - 4 months
can i run a webserver that can talk with the internet and others can call
By @sitkack - 4 months
It even emulates fork!
By @dangoodmanUT - 4 months
ungodly slow on apple silicon
By @Uptrenda - 4 months
Now just needs some kind of hack for networking through a browser extension and this would be so awesome.
By @me551ah - 4 months
Now if only I could install chrome via apt and run it inside of this linux machine.
By @matt3210 - 4 months
root password?
By @jkhanlar - 4 months
bash: man: command not found