Boxedwine can emulate Windows applications in web browsers
The Wine project has been around for years, allowing users to run (some) Windows apps on Linux, macOS, and BSD operating systems. This is one of the best examples of open source software development, but Wine can’t quite run on all. Boxedwine, a more recent project that builds on Wine, aims to solve this problem – it can run on more operating systems, and even web browsers.
Wine is not an emulator – instead it translates Windows API calls into POSIX compatible calls. However, Boxedwine is an emulator. It uses an unmodified 32-bit version of Wine that runs in an emulated Linux environment. Boxedwine is written in C ++ with a SDL interface, so it’s even more cross-platform than Wine. Mac and Linux are supported, just like regular Wine, but you can also run it on Windows. This can be useful if you want to use older 16-bit Windows applications that won’t work in modern Windows, or if you just want an isolated environment that doesn’t involve setting up a Windows virtual machine. Boxedwine is also ported to other platforms, including Haiku OS.
Boxedwine can also work in modern web browsers, thanks to WebAssembly and Emscripten. You can try demo Windows apps and games at boxedwine.org/demo, including Age of Empires (1997), AbiWord and Ultra pinball 3-D: Creep Night. Boxedwine is already at around 25% of the speed of the host system (according to the developer), and there’s probably another decrease in browser execution, but core apps like AbiWord are usable with Chromium on my PC with a Ryzen 5 1500 processor.
Even though Boxedwine in the browser is not yet practical enough for most situations, it is still an impressive technical demonstration. The browser runs a full Linux kernel, an unmodified copy of Wine, and the Windows app, all on top of that – with no video streaming from a server involved.
Boxedwine could become a fantastic tool for running Windows applications in the future, if performance can be improved. Since x86 emulation is written in portable C ++ code, this could be a solution for running Windows x86 apps on ARM devices, like Android tablets. Wine is already available on ARM Android, but it can only run Windows software compiled for ARM – there is no emulation layer.
Hoping that the project continues to improve. If you want to try the desktop version, precompiled Windows versions are available from the Boxedwine website.