github YuutaTsubasa/Free-Riders-Recompiled v0.5.0
v0.5.0 Preview - Unleashed/Marathon-style architecture

2 hours ago

Changes

This release moves the runtime to the way Unleashed Recompiled and Marathon Recompiled are built. Every step keeps a switch for comparison; docs/architecture-migration.md records each phase, its measurements and a row-by-row comparison with both projects.

  • Rendering: one host render target per guest surface, with deferred, aliased resolves and depth resolves. Race shadows now appear. Race lighting is darker and higher in contrast around spotlights than in v0.4.7. It has not been compared with Xbox 360 captures.
  • Memory: generated code reads and writes guest memory directly. The title's heap and its physical (GPU) memory come from o1heap, as in Unleashed and Marathon.
  • Threads: every guest thread runs in parallel. Imports and hooks take locks for the subsystem they touch instead of one global lock. Over a whole race, no thread returns to a global lock.
  • Recompile-time patches: the job-dispatch fixes are mid-asm hooks in the recompiler configuration.
  • Defaults: the render thread is on for every graphics backend, Windows Vulkan included (SFR_RENDER_THREAD=0 turns it off). Races step by elapsed time on every platform (SFR_REALTIME_RACE=0 turns it off).

Performance and validation

  • AYN Thor (Vulkan): a Dolphin Resort race went from about 25 FPS with v0.4.7 to about 49–50 FPS. The GPU frame time fell from about 39 ms to about 16.5 ms.
  • Desktop (i9-14900KF, RTX 4090): races are capped at 60 FPS, as before. At a 120 FPS cap the race clock keeps real time.
  • Windows package: the packaged build completed race checks on D3D12 (Frozen Forest) and Vulkan (Dolphin Resort), with isolated saves and the shipped defaults.
  • Linux package: passed a Vulkan startup smoke test in WSL.
  • Android: the APKs keep the existing signing certificate and 16 KB-compatible libraries. The Android 10+ native library was raced on the Thor.
  • Tests: 141 CTest tests and 299 Python tests pass. The 11 skipped Python tests need game files.

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 for native thread-local storage.
  • Android 9: use android-arm64.apk.
  • Android version code: 18. 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

  • The new lighting and shadows have not been compared with the Xbox 360 version.
  • Split-screen two-player races and full Grand Prix progression have not been verified with this runtime.
  • Physical memory peaked at 411 of 509 MiB in a race; longer or two-player sessions have not been measured.
  • Linux and Android prebuilt releases do not include camera motion inference.
  • Performance still varies by device.

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

NewReleases is sending notifications on new releases.