github YuutaTsubasa/Free-Riders-Recompiled v0.6.11
v0.6.11 — A race crash on 4-core PCs

3 hours ago

Changes

  • A race crash on 4-core PCs (#93, Issue #64): part of each race frame runs on three of the game's job threads, and the game waited only 16 ms for them before going on to the next step. On an Xbox 360 they always finish in time; on a slower PC a job could still be reading the list of racers when the game moved on and changed it, so the job read an empty racer slot and the game crashed. The game now waits for those jobs (up to 1 s, SFR_RACE_JOB_WAIT_MS), and game.log reports GAME_PATCH race_job_wait_timeout if one takes longer.

Validation

  • The crash records: both reports in Issue #64 (course 7 and course 1, 4-core PCs) stopped in two different functions that read that racer list. A traced race showed both run only on those job threads.
  • On a desktop limited to 4 processors: the original 16 ms wait still ran out once or twice per race. With the change it never did, and the race stayed at the 60 fps cap (55.0 s for the same 3,300 race frames either way, two runs each).
  • Not reproduced here: the crash itself did not happen on this PC, even with the wait shortened to 1 ms, so whether this removes it completely needs the reporter's confirmation.
  • Unit tests: CTest passed on Windows (144) and Linux (136); GitHub Actions builds passed (Windows, Linux, macOS, Android).
  • Windows package: completed race checks on D3D12 and Vulkan, every pipeline prepared and the save left unchanged.
  • Linux package: passed a Vulkan startup smoke test in WSL (all 455 pipelines prepared).
  • This release's Android 10+ APK on an AYN Thor: all 455 Vulkan pipelines prepared, the change active (race_job_wait ms=1000, no timeouts), 59.1 fps while racing without frame metrics.
  • 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: 36. 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

  • Being investigated: the start-up crash on Vulkan 1.1 phones (Issue #88; waiting for a report on v0.6.8 or later); a crash at start on a Galaxy Tab A9 (Mali-G57, Issue #1); a character occasionally saying a winning line after losing (Issue #47).
  • Relay Race: 2P vs 2P is not supported yet.
  • 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.