Support For Running Windows Apps On ARM With Wine

Written by Michael Larabel in WINE on 5 February 2013 at 10:21 AM EST. 3 Comments
WINE
Right before Wine on Android was shown for running Windows applications on Google's Android operating system, the state of Wine for the ARM architecture was talked about. There's a few different Wine ARM scenarios possible, including the ability to run Win32 binaries on a Linux-based ARM system.

André Hentschel and Vincent Povirk were the ones talking about the Wine ARM support during FOSDEM 2013 in Brussels. One of the items talked about were WineLib/ARM already being used for porting some Windows softwate to ARM, which is already being used in cases like for the Pandora game console. The ARM winelib support allows for porting of basic Windows applications to the alternative CPU architecture. The motivation for this work isn't as much about running x86/x86_64 Windows binaries on ARM through Wine but rather to make for an easy porting process for software developers. An example application is that the Putty terminal emulator was ported to ARM using winelib.

In terms of the "Win32/ARM" support, some Win32 applications built with Visual Studio work for ARM. The problem though is you need to either have jailbroken your mobile device or have access to the Windows signature. Microsoft's focus upon their Windows Store for their ARM/tablet endeavours will be a problem for Wine adoption on ARM in terms of available Windows ARM binaries.

Demonstrated from FOSDEM was running the Microsoft x86 PowerPoint Viewer on ARM. The ARM Wine efforts have predated Microsoft's public announcements about Windows 8 coming to ARM. Wine32/x86 on Linux/ARM should work "in theory" according to the developers. QEMU can be used for user-mode emulation but it's hard to step and is currently unstable.

Wine-Mono's .NET implementation is needed as part of this effort or mingw for ARM to run modern .NET applications on ARM. There is no mingw compiler for ARM but there is a desire to have it for this architecture. For now the software can be built in conjunction with Microsoft Visual Studio.

Also limiting the potential for Wine on ARM right now is that the Direct3D to GL translations for now are targeting desktop OpenGL and not OpenGL ES, the mobile graphics API supported by most ARM hardware/drivers rather than the full-blown OpenGL stack. Proper OpenGL ES support for Wine may come at some point.

It was also shared during the hour-long talk that Wine was recently ported to ARM64 (AArch64) but there is no hardware yet, no Microsoft products yet, and just slow emulation. It was called a "very fresh port" and "Winelib is the only port" and WOW64 was not tested yet.

More details on the Wine ARM support state can be found via the WineHQ.org Wiki. If any videos from this Wine FOSDEM talk surface, they will be posted on Phoronix (my video recordings were mostly focused upon the X.Org development talks).
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week