Virtastic Show - [About Us]

About Virtastic

What we do

Virtastic is a small open-source collective that brings large open-source desktop applications to WebAssembly, and builds the tooling underneath them in the open.

  • Open-source desktop apps, in the browser. CAD, GIS, 3D creation and game engines, recompiled to WebAssembly so they run 1:1 in your browser.
  • The work happens on your machine. No server rendering a screen back to you. No VDI. No emulator. Your CPU runs the actual C++ engine.
  • Every port makes the next one faster. Qt, Python, OpenCASCADE, GDAL, FFmpeg and Boost are already cross-compiled, so each app takes less work.

The apps

6 of our 12 apps are playable today. They are free, open source, and kept current.

  • OpenMW: Playable in browser, WebGL2 (WebGPU path in progress), 60fps, persistent saves, File System Access loader for user data.
    Play OpenMW
  • FreeCAD: FreeCAD 1.1.3 on wasm64: every workbench, FEM solving in the tab, shared sessions and an MCP endpoint. LGPL.
    Run FreeCAD
  • Diablo II: Early alpha: the 1.13c engine reimplemented, checked tick by tick against the original. Act 1 playable, quality-of-life extras built in. MIT.
    Play Diablo II
  • Jagged Alliance 2: Stracciatella engine, full campaign, tactical combat, Web Audio and UI, plays off original game data.
    Play Jagged Alliance 2
  • Jedi Outcast: Raven's 2002 GPL source, single-player: the whole campaign with Ghoul2 characters, saber and Force powers, or the free demo mission.
    Play Jedi Outcast
  • Jedi Academy: Raven's 2003 GPL source, single-player: the whole campaign with Ghoul2 characters, saber and Force powers, or the free demo mission.
    Play Jedi Academy

Morrowind in the browser was covered by PC Gamer, Polygon and TechSpot.

Open the Apps folder to see every app, including previews.

The plan

Three layers, and each one funds the credibility of the next.

  1. Ports. FreeCAD with FEM solving, OpenMW and Jagged Alliance 2 are playable today, with more on the way.
  2. Shared dependencies. Porting a big application means cross-compiling dozens of native libraries. We keep that work as a reusable library so the next port starts further along. We plan to publish it.
  3. A 3D-focused WebAssembly engine. A fast runtime for running existing 3D software in the browser. The ports are how we learn what it needs to do well.

Open the Roadmap

How we work

  • We publish what we learn. The papers include the measurements and the mistakes.
  • Apps stay honest. If something is a preview, the site says preview.
  • Your files stay on your machine. The single-player apps run entirely in your browser.
  • Open source stays open source. The WebAssembly repositories are public and the build pipelines open; nothing about running in a browser changes their GPL/AGPL status.
  • No lock-in. Your files are standard formats: open them in the desktop app tomorrow if you want.

White papers

Field reports on what it takes to bring large desktop software to the browser, with the measurements and the mistakes included.

Open the Blog folder

Questions

Is the work really free?
Yes. The WASM ports we maintain are released under their upstream open-source licenses and available to run, in your browser, at no cost. We do not charge for them, and we do not put them behind a paywall.

What is the goal?
Bring heavyweight open-source desktop apps to the browser via WebAssembly, so they reach more people. Every port we ship makes the next one faster: the dependency library (Qt, Python, OpenCASCADE, GDAL, FFmpeg, Boost) compounds. That is the work.

Can I hire you to port my app?
Sometimes. We take a small number of custom engagements each year. Tell us about the app on the contact page and we will tell you honestly whether there is a fit this year.

More questions

Why WebAssembly and not just a web rewrite?
Because the behavior your users trust took decades to get right. Recompiling to WebAssembly keeps the actual C++ engine, the actual data formats, the actual workflows, and adds what the desktop could never do, like zero-install access on Chromebooks and tablets.

What about licensing?
Client-side WebAssembly execution keeps the open-source apps fully GPL/AGPL-compliant. The code still runs locally in the user's browser. The ports stay open source, full stop.

Where can I see the source?
The ports we have released are public at github.com/Virtastic. Repositories for ports still in development open when they ship.

Who is behind it

Michael Stavridis builds and maintains the ports and writes the papers.

LinkedIn · stavridis.xyz · GitHub

How it is funded

Mainly by supporters, through Patreon and Ko-fi, plus a small amount of custom porting work. Custom work supports the team; it does not drive the open-source roadmap.

Donate...

Get involved

Everything we make is public on GitHub, and there is room to help whether or not you write code.

  • Play and test. Try an app and tell us what breaks.
  • Improve a manual, or fix a bug: each project has a contributing guide.
  • Talk to us on Discord, or support the work on Patreon or Ko-fi.

Get Involved Discord

We also take the occasional custom port by request. If that's what you need, contact us.

What to do next

  • ▶ Try an app Run one in a window on this desktop.
  • Documents Quick starts, self-hosting and developer notes.
  • Discord Help with the WebAssembly dependencies, or just say hello.
  • Get Involved Test, fix, write or fund: every way to help.
  • Contact Us Questions, press, or just a hello.
  • Get Updates... An e-mail when we launch something new.
Slide 1 Virtastic