Wine, the compatibility layer for Windows programs, is now available for Android

Ever wish you could run full-blown Windows applications on your Android device? Now you can…sort of. Wine, a Windows compatibility layer for Unix-like operating systems, has been updated to version 3.0—and can now be installed on Android devices.

Wine 3.0 implements a full graphics and audio driver for Android, and can be built as an APK package that acts like a regular Android app, according to the release notes. It also supports OpenGL, though it’s limited to the OpenGL ES API available on Android.

It won’t run your standard Windows applications on just any Android device, though. Wine isn’t an emulator, which means you’ll need an x86 Android tablet, smartphone, or Chromebook to take full advantage of it. Unfortunately, there aren’t that many Android devices with x86 chipsets out there, though the growing list of Chromebooks with ARC support is promising.

For the vast majority of us with an Android device with an ARM-based SoC, there is a silver lining. Wine for ARM devices does exist, but only Windows programs that have been ported to Windows RT, Microsoft’s 32-bit operating system for ARM architectures, will function. There’s a list of desktop apps that have been recompiled to run on Windows RT on our very own XDA forums, including popular utilities such as Notepad++ and 7-Zip, scripting languages and runtimes such as Python 2.7.3 and Lua, and even games like Quake.

In the future, Wine will use QEMU, an open-source hypervisor that virtualizes processors through dynamic binary translation, to emulate x86 instructions on ARM. That’ll allow native x86 Windows apps to run on ARM devices without recompilation, but the work isn’t finished yet.

Getting Wine up and running on Android is pretty easy. Head over to the downloads page and grab one of two APKs: “wine-3.0-arm” if your device has an ARM chip, or “wine-3.0-x86” if it has an x86 chip. Once you install and launch the app, you’ll see the Windows 7 interface—complete with the Start menu in the bottom-left corner.

Wine 3.0 isn’t bug-free, however. The graphics driver only supports full-screen desktop mode because of restrictions in the Android windows management API. It also has trouble with software keyboards right now—they aren’t recognized and aren’t invoked when you tap on empty text fields and the command prompt. Some users have also reported crashes on phones like the Google Pixel.

Regardless of these early issues, what the Wine team has achieved is certainly impressive. Codeweavers, which released a technical preview of CrossOver (its proprietary version of Wine) for Android and Chrome OS in 2016, contributed much of the underlying code that made the Android port possible.

The development team says that Wine 3.0 contains over 6,000 changes and marks the beginning of a new annual release cycle. In addition to Android support, it adds Direct3D command stream, improved DirectWrite and Direct2D support, and Direct3D 10 and 11.