Theseus: Translating Win32 to WASM
34 points by ingve 3 days ago | 8 comments

Findecanor 3 minutes ago
When I clicked, I thought this was going to be about the Theseus operating system [0]. Running win32 programs on it would have been ... interesting.

It too uses WASM, but for running non-Rust programs in sandboxes. Everything else is Rust. Hmm.. Last updated in 2024 though.

0: https://github.com/theseus-os/Theseus

reply
hardwaresofton 15 minutes ago
If you’re poking around WASM consider falling down the Component Model rabbit hole:

https://github.com/WebAssembly/component-model/blob/main/des...

Threading is actively being worked on right now (to be released in 0.3.x, soon), and some changes just made their way into LLVM as well:

https://github.com/llvm/llvm-project/pull/175800

reply
mickael-kerjean 2 hours ago
It's refreshing to see those kind of projects coming back on HN. Pretty awesome to see your example (https://evmar.github.io/theseus/) fit in about 1MB when a lot of those wasm projects can be super heavy (like libreoffice which is 50MB after brotli compression)
reply
arka2147483647 13 minutes ago
I miss the days when this would just have been named win2wasm.

These branded projects become difficult to remember when everything has a random non-mnemonic name.

reply
Aurornis 2 hours ago
Seeing minesweeper recompiled to run in the browser is awesome.

The pain points about threading in the browser and debugging wasm are the two problems I ran into on another project. I hope we can get some improvements in both areas because wasm would be a lot easier to work with if developers didn't have to fight both of those topics.

reply
valorzard 2 hours ago
I also tried doing multithreaded wasm in Rust, and I got some weiiiiird errors. Definitely not stable yet.
reply
sedimannapoleon 2 hours ago
[dead]
reply
theanonymousone 56 minutes ago
This is a big deal when/if it's working, to me at least. Where can I contribute?
reply
gigel82 33 minutes ago
An interesting learning project, but not actually usable.

https://github.com/danoon2/Boxedwine looks interesting in this space, but unfortunately it can't really run anything remotely modern in practice (though if you're looking at 20th century Windows software it will likely be capable of running it).

reply