github YuutaTsubasa/Free-Riders-Recompiled v0.6.7
v0.6.7 — Starts on Vulkan 1.1 phones

latest release: v0.6.8
3 hours ago

Changes

  • Starts on Vulkan 1.1 phones (#86, Issues #80, #85, #61): on phones whose GPU driver offers Vulkan 1.1, the game crashed at its first frame every time, for example a Motorola Edge 30 Pro (Snapdragon 8 Gen 1, Adreno 730). The crash records that v0.6.6 added to the diagnostic ZIP showed the cause: a GPU function such a driver provides only under its extension's name was called by its Vulkan 1.2 name, which is empty there. It is now called by whichever name the driver has. game.log also records the device's Vulkan version (NATIVE_VULKAN).
  • Index buffers kept on the GPU (#81, Issue #65; in the v0.6.5 test build): an index buffer the game leaves unchanged is decoded once into a GPU buffer, and later draws use it as it is. Every draw no longer decodes its indices and copies them into the upload ring (about 3 MB a frame), which on a PC with a small CPU cache also pushed out the game's own data. SFR_INDEX_CACHE=0 turns this off.
  • Crash records in the Android diagnostic ZIP (#83; in the v0.6.6 test build): on Android 11 and later, the ZIP says how the app's last five processes ended. When one crashed in native code, the system's crash record (tombstone) is included. If the game closes on its own, export the diagnostic ZIP afterwards and attach it to an issue.

Validation

  • The Vulkan 1.1 fix: on a desktop with the Vulkan 1.2 name of that function emptied by hand (as on the reported phone), the game took the extension's name and rendered a whole Vulkan race. The fix has not run on a Vulkan 1.1 phone yet; please tell us in Issue #85 if your phone still closes.
  • Index cache: per frame on a desktop (RTX 4090), drawing took 1.91 and 1.84 ms against 2.01 and 2.03 ms without it, and recording 0.38 against 0.44 ms. All indexed draws used kept indices on D3D12 and on Vulkan.
  • Unit tests: the full CTest suite (143) passed on Windows, including the diagnostic archive test; GitHub Actions builds passed.
  • Windows package: completed race checks on D3D12 (Frozen Forest) and Vulkan (Dolphin Resort), both with kept indices, every pipeline prepared and the save left unchanged.
  • Linux package: passed a Vulkan startup smoke test in WSL (all 455 pipelines prepared).
  • Android: the APKs keep the existing signing certificate.

Downloads

  • Windows x64: download and extract the Windows ZIP; run FreeRidersRecompiled.exe.
  • Linux x64: download and extract the Linux archive; run FreeRidersRecompiled.
  • Android 10 or later: prefer android10-arm64.apk.
  • Android 9: use android-arm64.apk.
  • Android version code: 32. The companion licence archive applies to both APKs.
  • Checksums: SHA256SUMS.txt.

Use your own game disc image. No game data, private saves or test overrides are included.

Known limitations

  • Index cache: checked on two courses on Windows; other courses, the World Grand Prix story and Android devices haven't been played with it. If geometry looks wrong, set SFR_INDEX_CACHE=0 and tell us.
  • Being investigated: a crash at start on a Galaxy Tab A9 (Mali-G57, Issue #1), which needs a diagnostic ZIP from this version; a crash in a race on a 4-core PC (Issue #64); a character occasionally saying a winning line after losing (Issue #47).
  • Relay Race: 2P vs 2P is not supported yet.
  • Mali GPUs: only the graphics start-up has been checked on Mali GPUs.
  • From v0.5.0: lighting has not been compared with the Xbox 360; no camera motion inference on Linux or Android; performance varies by device.

Don't miss a new Free-Riders-Recompiled release

NewReleases is sending notifications on new releases.