Wine Developers Release Hangover Alpha To Run Windows x86_64 Programs On 64-Bit ARM


Wine developers André Hentschel and Stefan Dösinger have been working on “Hangover” as a means of running Windows x86/x86_64 applications on 64-bit ARM (AArch64) Linux and Android or even Windows for ARM. They are out today with the project’s first alpha release.

Hangover 0.4 is the first (alpha) release from this project for running x86/x86_64 Windows programs now on 64-bit ARM Linux distributions. Besides GNU/Linux platforms, Hangover can also run on Android as well. This also lays the groundwork for supporting Windows games on AArch64 using Direct3D/WineD3D though due to upstream Wine limitations that doesn’t yet work on Android due to WineD3D not working off OpenGL ES at this time.

Hangover makes use of Wine but also QEMU and other components. Hangover 0.4 Alpha is capable of running some Windows programs so far but is very much a work in progress.

Besides the performance overhead of Wine itself, there is greater “cost” involved due to emulating the x86/x86_64 architecture. The documentation outlines, “Don’t expect this to be fast. The main bottleneck at the moment is the speed of the code qemu generates from the input x86 code. To provide a rough comparison, my Nvidia Shield Android TV device (running a regular desktop Linux, not Android) runs games from the late 1990s to early 2000s at playable speed. The DirectX 9 SDK samples run fairly well because they contain little logic of their own and just call out of the VM into d3d, so all the heavy lifting is done natively. Warhammer 40k: Dawn of War starts a fresh game at around 30 fps but slows to a crawl as soon as a few units are built.

Those wanting to learn more about Hangover can do so at the GitHub project site.