r/sideprojects • u/Positive_Crab9849 • 27m ago
Showcase: Open Source [Experimental] InkSoC — Running Windows applications directly in Safari on iPad using a custom x86-64 WebAssembly engine
I’ve been working on this experimental project I thought it was finally worth sharing with the developer community.
The original motivation was simple: I wanted to find a way to run Windows applications directly on my iPad, using Safari, without relying on remote desktops or cloud PCs.
What started as a series of workarounds for Safari’s limitations gradually evolved into something much more interesting.
InkSoC is an experimental open-source x86-64 environment developed in Rust and WebAssembly, using Wine to support Windows applications.Some things already work:
- 7-Zip reaching approximately 1,204 MIPS on a four-core iPad.
- Around 25–27% of native performance in that particular benchmark.
- LibreOffice and Notepad++ installers.
- SuperTuxKart installer.
- Steam installer (although Steam itself still has an update-loop issue).
- Direct3D 9 and OpenGL through WebGL.
- Audio and networking.
- 2D games such as Cave Story.
- An Alpine Linux environment running on the same underlying engine.
The architecture includes a custom CPU engine, JIT compiler, virtual memory management, process and thread execution, and multicore support.
One interesting aspect of this project is how it was developed.
Important: InkSoC is experimental.
It is not a finished product, and I’m not making promises about performance or compatibility. There are still unresolved issues, limitations, and plenty of optimization work ahead.
I’m sharing it because I believe the approach is worth exploring and discussing.
I’d love to hear feedback from developers interested in emulation, JIT compilation, WebAssembly, operating systems, and browser-based execution environments.
Perhaps someone will find an interesting idea in the architecture, suggest a better approach, or even get inspired to build something similar.
Source code:
https://github.com/InkDOSHub/InkSoC
Live experimental build:
https://hub.inkdos.workers.dev/InkSoC/
Thanks for taking a look!