Skip to content

Releases: tarek369/GeneralsZH-Android

v0.2 — Android Alpha (Settings Fix + DXVK Stability)

Choose a tag to compare

@tarek369 tarek369 released this 14 Jul 08:55

v0.2 — Android Alpha

Settings menu crash fixed, DXVK rendering stability improved.

What's fixed since v0.1

  • Settings menu crash — the Settings button no longer crashes the app (#2). The engine tried to enumerate desktop display modes which don't exist on Android.
  • ANativeWindow race condition — added a wait loop that ensures the Android Surface is attached before DXVK creates the Vulkan swapchain. Fixes the CreateAndroidSurfaceKHR null-pointer crash on some devices.
  • DXVK allocator isolation — DXVK's internal allocations now use standard malloc/free instead of the engine's custom memory pool, preventing free-list corruption. Survival time before the DXVK crash increased from ~10s to ~39s.
  • Audio backend — OpenAL now uses the Oboe audio backend (AAudio/OpenSL ES) with PerformanceMode::None to avoid OEM audio policy denials. FFmpeg is integrated for audio file decoding. (Audio is still being tested — let us know if you hear sound!)

Known issues

  • 🔄 DXVK rendering crash — after ~30-40 seconds of gameplay or menu interaction, DXVK may crash in DxvkResourceAllocationPool::alloc(). This is a Vulkan memory management issue under investigation. The game auto-restarts.
  • Samsung/Exynos (Scudo) — the engine's memory allocator still probes memory in a way that triggers Scudo's "invalid chunk state" abort on Samsung devices (#4). Working on a fix.
  • 🔄 High RAM usage — the engine uses 2-3GB RAM due to the legacy memory pool design (#3).

Requirements

  • arm64-v8a Android tablet (Android 7.0+, API 24+)
  • Vulkan-capable GPU (Adreno 7xx+, Mali-G77+)
  • ~3GB free RAM
  • Your own copy of C&C Generals Zero Hour (Steam ~$5)

How to install

  1. Download GeneralsZH-full.apk below
  2. adb install GeneralsZH-full.apk (uninstall v0.1 first if installed)
  3. Copy your game's .big files to /sdcard/Android/data/me.generalsx.zh/files/GameData/Data/
  4. Launch "Generals Zero Hour"

See the README for detailed instructions.

Legal

No game assets are distributed. You must own a legal copy of the game.

v0.1 — Android Alpha

Choose a tag to compare

@tarek369 tarek369 released this 07 Jul 10:32

v0.1 — Android Alpha

First public build of C&C Generals Zero Hour running natively on Android.

What works

  • ✅ Full engine initialization (all 30+ subsystem stores)
  • ✅ DXVK D3D8→Vulkan rendering on Adreno/Mali GPUs
  • ✅ Main menu renders with text
  • ✅ Touch input: tap (left-click), long-press (right-click), drag (selection box), two-finger pan/pinch zoom
  • ✅ Font extraction from APK (automatic on first launch)
  • ✅ Full gameplay session — skirmish tested and working

What's not ready yet

  • Audio playback — OpenAL initializes but no sound is produced yet
  • 🔄 Performance optimization

⚠️ Re-uploaded July 7 — fixed two launch bugs

The first APK uploaded earlier had two bugs: (1) it was the wrong binary entirely
(the early DXVK test spike — "DXVK d3d8 spike" in the launcher, crashes on
startup), and (2) even after fixing that, a missing libglm.so caused
dlopen failed on launch, and AGP's release symbol-stripping broke DXVK's
Vulkan dispatch tables causing a SIGSEGV during rendering. All three are
fixed.
If you downloaded before this fix, re-download GeneralsZH-full.apk.

The correct build shows as "Generals Zero Hour" in your launcher. If you
see "DXVK d3d8 spike" instead, you have the old broken APK.

If it still crashes after re-downloading, please grab a logcat:

adb logcat -c   # clear old logs
# launch the game, let it crash
adb logcat -d | grep -iE "generals|dxvk|sdl|openal|FATAL|signal|crash" > crash.log

and post the output. It really helps.

Requirements

  • arm64-v8a Android tablet (Android 7.0+, API 24+)
  • Vulkan-capable GPU (Adreno 7xx+, Mali-G77+)
  • ~3GB free RAM
  • Your own copy of C&C Generals Zero Hour (Steam ~$5)

How to install

  1. Download GeneralsZH-full.apk below
  2. adb install GeneralsZH-full.apk (uninstall the old "DXVK d3d8 spike" app first if you have it: adb uninstall me.generalsx.spike)
  3. Copy your game's .big files to /sdcard/Android/data/me.generalsx.zh/files/GameData/Data/
  4. Launch "Generals Zero Hour"

See the README for detailed instructions.

Legal

No game assets are distributed. You must own a legal copy of the game.