Skip to content

LibertyRecompAndroid 0.5.9.2

Pre-release
Pre-release

Choose a tag to compare

@vaduur vaduur released this 13 Oct 18:37

A pre-release with fixes for vehicle damage and the Display menu, plus power management options. Install over the previous version; your saves are kept.

Fixed

  • Vehicle damage (#46). Cars showed only the first impact; later dents never appeared or showed up much later, sometimes on the wrong side. The game stores deformation in small textures that it rewrites in place, and the renderer kept its first copy of them. These textures are now re-read every frame when they change. There is no measurable frame rate cost.
  • Crash in the safehouse and other random crashes on older phones (#58). On Linux kernels older than 4.17 (for example Snapdragon 855 phones on Android 10/11), a memory call could silently return the wrong address, and the next thread the game created crashed.
  • In-game Display menu settings now apply. Resolution, upscaler (FSR), VSync, frame limit, anti-aliasing, draw distance, shadows, reflections and motion blur were overridden by args.txt on every launch. The defaults now live in the game itself, and the old default lines are removed from your args.txt on the first start (lines you edited yourself are kept). An old 720p output cap saved in the config is removed too.
  • Very low FPS with high shadow settings. On the first start of this version, the saved shadow map size and reflection resolution are reset once to the defaults. The highest shadow map setting is a 5120x5120 shadow atlas that runs at about 10 FPS on a Snapdragon 865. You can raise them again in the Display menu.

New in the launcher

  • Sustained performance mode: asks Android for clocks the device can hold without overheating. Steadier frame rate on long sessions, lower peaks.
  • Thermal guard: lowers the draw distance when the device gets hot and restores it when it cools down. Off by default.
  • Safe mode (for bug reports): turns off every renderer and timing optimization at once. If a bug goes away in safe mode, please mention it in your issue. Expect a lower frame rate.

Under the hood

  • The game tells Android which threads carry each frame (Android performance hints), so the scheduler can keep them on fast cores at the right clocks.
  • The main game thread sleeps instead of spinning while it waits for the next frame: the frame rate is the same, but the game uses noticeably less CPU at idle moments (about 1.4 cores instead of 2.2 at the starting save point).
  • Textures are now untiled on the GPU instead of the game thread, and shader constants shared by many draws go through a uniform buffer.
  • Short locks between game threads are cheaper: three game threads spent about a quarter of their time waiting on one internal lock.
  • Built-in Android defaults: 720p, 30 FPS limit, FXAA, shadow map base 256, original reflection resolution, draw distance 1.0, motion blur off.

Known issues

  • Heavy scenes (under the bridge, many shadows) are still limited by the CPU at about 28 to 31 FPS on a Snapdragon 865.