Skip to content

Releases: hy300leosquizz-ctrl/XenDroid-ZeroFG

XenDroid-ZeroFG v1.0.2

Choose a tag to compare

@github-actions github-actions released this 09 Oct 21:28

Steadier frame generation when the game's frame rate wanders, and a frame rate cap for games that keep the GPU busy.

  • The output follows the game's real rhythm. Many 360 games wait for the console's 60 Hz vblank, so a frame that misses one waits for the next: the game alternates 33 and 50 ms frames and never settles. ZeroFG's clock only moved in big confirmed steps and could stay faster or slower than the game; in Batman: Arkham City the delay grew to about half a second for seconds at a time. It now follows the average of the game's last frames and drains any extra delay. Nothing is skipped.
  • Late game frames go out sooner. With ZeroFG on, a game frame already late for its vblank gets it at once instead of waiting up to 16 ms. The game still sees 60 vblanks a second, so it never speeds up.
  • Fewer stutters when the frame rate changes. In Modern Warfare 3's heavy scenes the frames held too long on screen fell from about 3 % to under 1 %.
  • Game frame rate cap (Settings → ZeroFG, or per game in the game's own settings). For a game that keeps the GPU at 100 %, a cap a little below its usual rate gives frame generation room: Modern Warfare 3 at 40 keeps about 80 fps on screen with less lag (70 → 55 ms) and almost no missed refreshes; Halo 3 at 20 halves its lag. A game whose logic runs per frame (Rayman Origins) plays slower under a cap below its own rate.
  • The cap and the vblank help switch off when ZeroFG does, so a game that falls back to the normal path runs natively.

Tested on an Adreno 840 (POCO, Turnip) with Halo 3, Modern Warfare 3, Batman: Arkham City and Rayman Origins, and on an Adreno 650 (Galaxy S20 FE) with ReallyZero.

Install: download XenDroid-ZeroFG-1.0.2.apk below. It updates 1.0.x in place. See the README for tips and known issues.

Engine and reference presenter: ZeroFG 1.0.2.

Contact: fgzerofg@gmail.com.

XenDroid-ZeroFG v1.0.1

Choose a tag to compare

@github-actions github-actions released this 09 Oct 03:32
XenDroid-ZeroFG 1.0.1

XenDroid-ZeroFG v1.0.0

Choose a tag to compare

@hy300leosquizz-ctrl hy300leosquizz-ctrl released this 08 Oct 01:49

Frame generation for Xbox 360 emulation on Android: a 60 fps game reaches 120 frames per second on a 120 Hz screen, and a 30 fps game reaches 60.

ZeroFG 1.0

  • Two modes: Zero (best image) and ReallyZero (lighter, for weaker GPUs). Settings → ZeroFG.
  • ZeroFG has its own Vulkan device and presents straight onto the game's screen at the display's full rate. It never makes the game wait for the screen, and every frame gets its own display refresh.
  • ZeroFG requests a higher GPU scheduling priority, so its short frame-generation work is not stranded behind the game's on a saturated GPU. Under saturation this may trade some game throughput for much lower frame-generation latency.
  • If anything goes wrong, ZeroFG hands the screen back and the game carries on without it.

Also in this app

  • Qualcomm's Snapdragon Game Super Resolution (SGSR 1, plain and edge direction) in the scaling options.
  • Fixes to XenDroid's presentation: the native presenter painted one frame at a time, and some GPU completion checks could block.
  • Two guest frames in flight with ZeroFG off, three with it on.

Install

  • Download XenDroid-ZeroFG-1.0.0.apk below. It is its own app (xendroid.zerofg) and installs next to XenDroid, with its own settings.
  • It needs Vulkan 1.3 with synchronization2. It was validated on an Adreno 840 with a custom Turnip driver.

Measured on an Adreno 840 phone at 120 Hz:

  • Rayman Origins at 60 fps showed about 120 frames on screen.
  • In Batman: Arkham City with the GPU 95–99% busy, every generated frame reached the screen.

Read the README for how it works, what was measured and the limits.

The engine and its integration notes are released as ZeroFG v1.0.0 in the ZeroFG repository.

Contact: questions, bug reports and collaboration at fgzerofg@gmail.com.

ZeroFG V1 Functional POC — Experimental

Choose a tag to compare

@hy300leosquizz-ctrl hy300leosquizz-ctrl released this 13 Aug 14:38
4be0bbe

⚠️ EXPERIMENTAL PROOF OF CONCEPT

This release preserves the first functional public ZeroFG V1 implementation and its XenDroid reference integration.

Frame generation was observed working at runtime during V1 development: the integration generated and presented real synthetic midpoint frames. This APK is provided solely for technical demonstration and historical preservation. It is not recommended for normal gameplay.

Severe limitations

  • severe ghosting;
  • heavy smearing during motion;
  • prominent motion and edge artifacts;
  • poor disocclusion handling;
  • high GPU overhead;
  • possible performance regressions;
  • visual output can be dramatically worse than native rendering.

This build is effectively unusable as a normal gameplay enhancement. Its purpose is to demonstrate that the V1 frame-generation path works.

Build details

  • Source commit: 4be0bbe48db9f5b46addff09f0a53d51b73cd6c9
  • APK type: Android debug APK (arm64-v8a native build)
  • Artifact: XenDroid-ZeroFG-v1-poc-debug.apk
  • SHA-256: E3DFA96D2D74274111F3CA902A7259E1A1A2521EF9C3C5D550CD1A22D30ACC4B
  • Build command: gradlew.bat :app:assembleDebug

The APK compiled successfully from the runtime-validated V1 implementation. It was not installed or runtime-retested after this build, so build success must not be interpreted as a new runtime-validation result.

Source licensing: the ZeroFG-specific engine is licensed under Apache-2.0; XenDroid/Xenia and third-party components retain their respective licenses.