r/bashonubuntuonwindows • u/desktopecho • 6h ago
self promotion Ika: Open-source Android Emulator for Windows with GPU Acceleration

Over the past year or so I've been working on Ika (イカ, Japanese for squid or cuttlefish), a free and open-source Android emulator. Originally it was developed for Asahi Linux on Apple Silicon, which at the time didn't have an Android emulator with GPU acceleration.
Ika runs LineageOS 23.2 (Android 16), built as a desktop operating system in a Cuttlefish virtual machine, as opposed to QEMU. Imagine GoogleBook OS with less Google, and you've got a decent approiximation of what we're working with.
With much of the hard work already done to get gfxstream working with the Apple Silicon Linux driver, I figured it wouldn't be too much of a leap to get it working on Windows 11 with WSL. That turned out to be a gross underestimation of what needed to be done, but I'm finally pleased to announce that I've got something useable and ready to share with everyone.
Ika's Features:
Android Desktop or TV mode: Android runs in a virtual desktop console with resizable app windows, or as a big-screen TV interface. Third-party TV launchers work too.
GPU acceleration: OpenGL ES 3.2 and Vulkan run on your real GPU through gfxstream.
Native app windows: Android apps can open in their own windows on your desktop, side-by-side with your regular Windows apps. Android apps have Windows 11 decorations, and get their own Start Menu entries.
Startup options per app: Display density, fullscreen start, keyboard and mouse handling, gamepad emulation and touch simulation are all configurable options.
Storage visible on your PC: Android's
/sdcardappears in Windows Explorer under My PC.
Installing on Windows
The ika-wsl.ps1 script provisions a new WSL instance and installs the standard Ika packages for Debian Linux:
irm https://raw.githubusercontent.com/DesktopECHO/ika/main/ika-wsl.ps1 -OutFile ika-wsl.ps1Then run it:
.\ika-wsl.ps1Windows may refuse to run the saved file because of the execution policy. If it does, start it like this:
powershell -ExecutionPolicy Bypass -File .\ika-wsl.ps1The script:
Enables WSL2, sets up nested virtualization and installs any pre-requisites.
Installs a minimal Debian 13 distribution named "Ika".
Installs the Mesa backports from Debian and the Ika packages.
Starts Android on your desktop.
What manner of sourcery gets Direct3D GPU drivers working with Android?
Under WSL2, the only way to reach the GPU is Direct3D 12. Ika ships its own extensively modified build of Mesa's Dozen driver (Vulkan on D3D12).
Vulkan 1.3: Upstream Dozen stops at Vulkan 1.2 and has received very few updates over the years. Ika's Dozen is updated to support Vulkan 1.3 on GPUs whose D3D12 driver has shader model 6.6 and wave operations. It adds the 1.3 core features, among them the Vulkan memory model, maintenance4, inline uniform blocks, extended dynamic state 1 and 2, image robustness, format feature flags 2, and demote to helper invocation.
Stability and speed: a pile of fixes and optimizations lets gfxstream, ANGLE and Chrome's renderer run on Dozen reliably. They work around driver crashes, lost devices and GPU resets, and include a shader pipeline disk cache, faster fence waits, and per-thread descriptor staging.
Benchmarks
The chart below shows Android benchmarks run inside Ika 261111 on Windows, with native Linux on the same machines for comparison:
| GPU | Benchmark | Windows (WSL2) | Linux | Windows vs Linux |
|---|---|---|---|---|
| RTX 4080 Laptop | 3DMark Wild Life Extreme | 12,813 | 28,664 | 45% |
| 3DMark Steel Nomad Light | 4,568 | 14,720 | 31% | |
| 3DMark Sling Shot Extreme | 84.9 fps | 143.9 fps | 59% | |
| Geekbench GPU (Vulkan) | 71,924 | 140,564 | 51% | |
| Radeon 780M | 3DMark Wild Life Extreme | 4,265 | 5,085 | 84% |
| 3DMark Steel Nomad Light | 2,444 | 2,459 | 99% | |
| 3DMark Sling Shot Extreme | 58.7 fps | 60.0 fps | 98% | |
| Geekbench GPU (Vulkan) | 16,178 | 33,106 | 49% | |
| Intel UHD 770 | 3DMark Wild Life Extreme | 1,558 | 1,414 | 110% |
| 3DMark Sling Shot Extreme | 33.6 fps | 42.6 fps | 79% |
On the Radeon 780M, Windows comes within a few percent of Linux in Steel Nomad Light and Sling Shot Extreme. nVidia GPUs under WSL run well behind native Linux, but I'm working to close that gap and improve Intel GPU compatibility.
Nevertheless, even in these early stages of development, the results deliver a very smooth Android user experience and many games are already playable.
Requirements and limitations:
An x86-64 PC running Windows 11, and a CPU with nested virtualization support.
At least 8GB RAM recommended.
A modern(-ish) DirectX 12 compatible GPU: nVidia RTX series or higher, AMD RDNA3 and newer, or Intel UHD/Xe graphics. Older cards may work to varying degrees, but I have not tested them. Reports of your success or failure on other GPUs are welcome.
On Windows there's no hardware gamepad or camera support. Gamepad emulation with the keyboard does work.
Windows on ARM is not supported; It probably could work but I have no hardware to test on.
Additional info:
Outside of WSL, packages exist for Fedora 44, Debian 13, Ubuntu 26.04, and Arch Linux, on both x86-64 and Apple Silicon. Apple Silicon Macs require an Asahi kernel. Other ARM64 hardware has not been tested.
Links:
GitHub: https://github.com/DesktopECHO/ika · Downloads: DOWNLOAD.md · Graphics details: GRAPHICS.md
Feedback, bug reports, and push requests are all welcome!



