FAQ¶
Can you play Command & Conquer Generals: Zero Hour on Android?¶
Yes — natively. This project compiles the real 2003 engine (EA's GPL v3 source release) for arm64 Android. It renders DirectX 8 through DXVK to Vulkan 1.3 and plays skirmish matches at 30–60 FPS on a Galaxy Tab S7+. It is not an emulator, not a streaming client, and not a remake.
Which Android devices are supported?¶
Devices with a Qualcomm Adreno 6xx or 7xx GPU (e.g. Snapdragon 855/865/888/8-Gen phones and tablets). The port bundles the Mesa Turnip Vulkan driver, which only supports Adreno. Samsung Exynos (Xclipse) and Mali GPUs don't work yet — that's tracked here.
Do I need root?¶
No. The bundled Turnip driver is loaded rootlessly via libadrenotools, which redirects the Vulkan driver inside the app's own process. Nothing on the system is modified.
Where do I get the APK?¶
From the project's Releases page. The APK is debug-signed for sideloading; Samsung devices may need Play Protect's adb verification and Auto Blocker disabled (how-to).
Where do the game files come from?¶
From your own copy of the game. The APK contains no game assets — Zero Hour's data files are copyrighted and are not distributed here. Buy the game (Steam, often ~$5) and push your files to the device with the provided script (details).
Is this legal?¶
The engine code is EA's official GPL v3 source release, forked through a chain of community ports — everything here complies with that license. The game assets (art, audio, maps) remain EA's copyrighted content, which is why you must supply your own purchased copy.
How does a DirectX 8 game run on Android?¶
Through a translation chain, all in-process: DirectX 8 → DXVK (D3D8/9 → Vulkan) → Vulkan 1.3 on Mesa Turnip (bundled, because stock Adreno drivers only expose Vulkan 1.1) → the Android surface. Full technical detail: rendering pipeline.
How do the touch controls work?¶
A gesture translator converts touch into the mouse events the 2003 engine expects: tap = select, drag = selection box, long-press = right-click (deselect), two-finger drag = camera pan, pinch = zoom. Design and rationale: Touch controls.
Does multiplayer work?¶
Untested. The GameSpy-era networking code compiles but online play hasn't been attempted on Android. Skirmish vs AI is the tested mode; campaign and Generals Challenge are being verified.
How was this ported in under 24 hours?¶
By standing on documented shoulders: the iOS/iPadOS parent port had already solved the DirectX-on-mobile renderer chain, the touch translation, and the app lifecycle — and written it all down. Android's own walls (a Vulkan 1.1 driver, a one-producer window rule, a dirty allocator unmasking 2003-era bugs) are told in The Android Journey, and every defect found is cataloged in Bugs & Lessons.
Can I play this on iPhone, iPad, or Mac?¶
Yes — via the parent project this port descends from: ammaarreshi/Generals-Mac-iOS-iPad.