FH2 Recomp phone requirements

What FH2 Recompiled needs from your phone’s chip, GPU driver, memory and storage, how Adreno, Mali and Xclipse fare, and what frame rates have been measured.

  • Android 8.0+ ARM64
  • Vulkan 1.1
  • 4 GB RAM (6 GB rec.)
  • ~8 GB storage
A grey Lamborghini Huracán Super Trofeo race car parked on grass
Lamborghini Huracán Super Trofeo
Advertisement

FH2 Recompiled runs the game’s own code natively, but the Xbox 360 GPU is still the heavy part, so the graphics chip decides most of what you get. These numbers come from the project’s README, the measured tables in its release notes up to v0.4.5 and user reports in its issue tracker.

Minimum requirements for Android

ComponentRequirement
AndroidAndroid 8.0 or later on a 64-bit ARM (ARM64) processor. There is no 32-bit build.
GraphicsA GPU with Vulkan 1.1 or later. Adreno phones can load a Turnip driver; Mali and Xclipse run with more open reports.
Memory4 GB of RAM or more, 6 GB or more recommended. The vertex cache grows to 192 MB on phones with 8 GB or more.
StorageAbout 8 GB for the game files, plus 109.5 MB for the APK. A disc image can be read in place, with no extraction.
GameYour own Forza Horizon 2 for Xbox 360, USA edition (Title ID 4D530AA4), from your own disc. Other editions are untested.
Native rendererThe translated shader library fh2_shaders.nfsp, built on a Linux PC from your own game files. Without it, use the emulated renderer.

The launcher tests an imported GPU driver with Vulkan before it can be chosen, and warns before playing when the GPU cannot run the emulated renderer.

Snapdragon, Turnip and Adreno drivers

Adreno is the best-tested family. On Adreno 6xx and 7xx a Mesa Turnip build loaded through Performance > GPU driver is often faster than the phone’s own driver; the Moto G9 Play figures use Turnip “Mr. Purple T30”, the S23 Ultra ones the Qualcomm 840 driver. 0.4.2 fixed striped cockpit cameras and faceted car paint on Adreno with the native renderer. One Poco F6 (Adreno 735) player got a black screen after the intro with the system driver and could play with Turnip Gen8 (#2).

Measured frame rates

The release notes measure the same scene before and after each change on the two test phones:

ReleaseTestResultNote
0.1.0Snapdragon 8 Gen 2 phone, racesabout 5–17 FPSFirst preview, emulated GPU
0.3.0S23 Ultra (Adreno 740), parked, 100%~21–26 → ~48–61 FPS (avg ~53)No small read-backs, vertex cache
0.4.0S23 Ultra, parked, uncapped48.4 → 49.8 FPS; ~69 after a camera changeRing cost per draw −18%
0.4.0Moto G9 Play (Adreno 610), Turnip, 12%13.8 → 14.1 FPS33% + FSR gives the same FPS with a better image
0.4.2S23 Ultra, native renderer43.4 → 46.1 FPS (~+6%)Recycled textures, lighter ring thread
0.4.2Moto G9 Play, nativemedian 16.4 → 17.1 FPS (~+4%)Draw recording −21%

Phones reported so far

Advertisement

From the release notes and user reports; your settings and driver change the numbers a lot.

PhoneChip · GPUFPSSource
Galaxy S23 UltraSnapdragon 8 Gen 2 · Adreno 740~46–53 FPS parkedDeveloper test phone
Moto G9 PlaySnapdragon 662 · Adreno 610~14–17 FPSDeveloper test phone, Turnip
Oppo A78 4GSnapdragon 680 · Adreno 610~23 FPSUser report, Turnip T30, 50% and low detail (#99)
Exynos 1480 phoneXclipse 53027–30 FPSUser report with shader stutter (#57)
Galaxy A17Mali-G57 MC2CPU fix in 0.4.3FSR on the output costs ~30 ms a frame here
Poco X6 ProDimensity 8300 · Mali-G615Freeze fixed in 0.4.1Image froze after ~20 s before

Mali, Xclipse and two-big-core chips

Mali phones received most of the fixes: the frozen image after ~20 s (0.4.1, Poco X6 Pro), reflection-cube passes that cost 8–30 ms a frame (0.4.2), and the core layout of chips with two big cores, where v0.4.2 had squeezed the whole game onto one core (0.4.3: Helio G85–G99, Snapdragon 765G, Dimensity 700/810, Exynos 1280). On weaker Mali GPUs such as the Mali-G57 MC2, FSR scaling on the output can cost about 30 ms a frame: try scaling Off or Bilinear.

Linux and Steam Deck

The Linux x86-64 build has no download; you build it from source. The build machine needs Linux (developed on Ubuntu and Pop!_OS), Clang 20, CMake 3.25+, Ninja, Python 3.8+ and Git, about 20 GB of free disk and 12 GB of RAM or more, because the generated code is large. To make the Android APK as well: Java 17+, the Android SDK with NDK 28.2.13676358 and CMake 3.30.5. The project has published no Steam Deck results.

A controller to play with

Touch controls work, but racing is easier with a pad. Any Bluetooth or USB gamepad is read as an Xbox 360 pad: an Xbox Wireless Controller matches the game’s own button prompts, a DualSense pairs over Bluetooth, and the 8BitDo Ultimate 2 Wireless and GameSir Cyclone 2 work as standard pads. See controller and touch setup.

As an Amazon Associate, this site earns from qualifying purchases. Controller links go to Amazon; this site is not connected with the project or the controller makers.

Advertisement
A straight country road between a wheat field and rows of lavender in Provence under a cloudy sky
Road D8 through the lavender, Provence
Rooftops of Sisteron and the Durance valley seen from the walls of the citadel
Sisteron from its citadel, Provence
A sailing boat on the blue bay of Villefranche-sur-Mer with hillside villas behind it
Villefranche-sur-Mer, Côte d’Azur

Frequently asked questions

What are the FH2 Recompiled requirements?

Android 8.0 or later on an ARM64 processor, a GPU with Vulkan 1.1 or later, 4 GB of RAM (6 GB or more recommended) and about 8 GB of free storage for your game files, plus your own Forza Horizon 2 for Xbox 360, USA edition.

Will it run on my Snapdragon phone?

Adreno GPUs are the best tested: the developer uses a Galaxy S23 Ultra (Adreno 740) and a Moto G9 Play (Adreno 610), and Adreno phones can load faster Turnip drivers. Expect playable but low frame rates on 6-series chips and 40–50 FPS on flagship 8-series ones with the native renderer.

Does it work on Mali (MediaTek, Tensor) GPUs?

Yes, with more open reports. 0.4.1 fixed the image freezing after about 20 seconds on Mali, and 0.4.3 fixed slow phones with two big CPU cores such as Helio G85–G99 and Dimensity 700/810. Black screens and freezes when picking the first car are still reported on some Dimensity 7300 and Tensor phones. Turnip drivers do not apply to Mali.

Is it limited by the CPU or the GPU?

Mostly by the GPU emulation. The release notes show the ring thread, which turns the game’s GPU commands into Vulkan, busy 94–100% of the time, with resolve copies a large share of it; the native renderer and the 0.4.x performance work target exactly that. The recompiled game code itself is native ARM64.

Can I run it on a Steam Deck or Linux PC?

Only by building it yourself: the Linux x86-64 version has no download. Building needs Linux with Clang 20, CMake, Ninja, about 20 GB of disk and 12 GB of RAM. No Steam Deck test has been published.

How much storage does it need?

About 8 GB for the game files, plus 109.5 MB for the APK and room for the pipeline cache and logs. Reading the .iso in place avoids keeping a second, extracted copy.