WSL got pretty good

Turns out WSL2 has gotten pretty good with the recently added ability to run GUI Linux apps. It’s completely seamless and Just Works^TM. In fact it works so well it almost makes me not regret updating to Windows 11.

I only noticed because I was fiddling around with David Beazley’s WASM interpreter (highly recommended talk - basically, in an hour, he goes from an empty Python file to a working WebAssembly VM. It even runs a simple Asteroids game written in Rust and compiled to WASM.) I’m trying to figure out how much of the WASM spec is covered by the game, so I’m running the VM under a code coverage tool.

So the stack looks like this: we have a WebAssembly interpreter running inside a Python interpreter running inside Ubuntu WSL running on Windows 11. And getting this whole contraption to draw Asteroids onto my screen was as simple as wsl --update followed by a restart. I’m actually impressed by how nicely this all worked, all things considered.

Sure, WSL is only responsible for interfacing between the two bottommost layers in that stack. But still, the seamless integration is really impressive, and this is also a great example of how functional differences between OSes have been vanishing lately - I can do most of my Unix-based workflows without any problems on my Windows box. (If you look past the fact that WSL file operations are dog slow, anyway.)