Fix FH2 Recomp problems
Black screens, freezes, crashes, low frame rates and glitches, with what the project has fixed and what is still open.
- v0.4.5 fixes
- Black screen
- Low FPS
- Diagnostics report

FH2 Recompiled is a work in progress, and most problems depend on the phone’s GPU, its driver and whether the native renderer has a proper shader library. This page collects what the README, the release notes and the project’s issue tracker say, checked November 9, 2026 (27 open issues). Update to v0.4.5 before anything else.
Before anything else
- Check the APK’s SHA-256 on the download page; reinstall from GitHub if it does not match.
- Confirm the game: Forza Horizon 2 for Xbox 360, USA edition (
4D530AA4), complete, from your own disc. - Switch renderer: Emulated if Native fails, and the other way round.
- Try another GPU driver on Adreno (Performance > GPU driver), or go back to the system one.
- Restore defaults at the foot of Graphics and Performance.
Black screen
| Symptom | What to do |
|---|---|
| Black screen with sound right after start (native renderer) | The shader library is missing, old or from elsewhere. Build fh2_shaders.nfsp from your own files and put it next to the game, or switch Graphics to Emulated. Reported on a Snapdragon 845 (#6) and Snapdragon 8 Gen 1 (#3). |
| Black screen after the intro (Adreno) | Try another GPU driver under Performance > GPU driver: a Poco F6 (Adreno 735) went black with the system driver and played with Turnip Gen8 (#2). Go back to the system driver if a Turnip build is the problem. |
| Black screen on Mali / Dimensity phones | Still open on some phones: Dimensity 7300 (#87), Dimensity 9300+ (#30), Realme 6 (#68). Update to v0.4.5, try Emulated, save a diagnostics report and add it to the matching issue. |
| Image freezes after ~20 s while sound continues (Mali) | Fixed in 0.4.1 (Poco X6 Pro, Mali-G615, other Xiaomi phones). Update to the latest release. |
| 3D world black with the “Free” FPS limit | Fixed in 0.4.0: Free now equals 120 FPS. |
Crashes, freezes and endless loading
| Symptom | Status |
|---|---|
| Crash entering the paint shop | Fixed in 0.4.0. If you build the APK yourself, regenerate the code first (the fix is in app/overrides.toml). |
| Garage stuck under the loading screen | Fixed in 0.4.0. |
| Freeze after picking the first car at the festival | Open on a Pixel 7 Pro, Tensor/Mali, Android 17 beta (#80); a Mali-G615 report was closed earlier (#53). Save a diagnostics report. |
| Crash when buying a car (LaFerrari and others) | Open (#91); also reported with lag in the garage on a Dimensity 7400 (#95). |
| Freeze at the driving tutorial | Open on an iQOO Z9 Turbo, Adreno 735, 0.4.0 and 0.4.1 (#78). |
| Endless loading when a race starts | Open on a Retroid Pocket 5, Snapdragon 865 (#104). |
| “Could not find that ISO’s path” | Fixed in 0.4.0 for ISOs picked through Downloads, media categories or other file managers. |
Low FPS and stutter
- Native renderer with your own library is much faster than emulated.
- Render resolution 50% or lower and anti-aliasing off. Lower than needed gains little: the GPU command thread is the limit.
- FPS limit 30 + frame generation (0.4.4, beta) for 60 on the screen.
- World detail: crowd off removes ~17% of the festival’s draws; grass and shadows off help weak GPUs.
- Mali-G57 class: scaling Off or Bilinear instead of FSR (FSR cost ~30 ms a frame on a Galaxy A17).
- Two-big-core phones: use 0.4.3 or later and keep Pin threads to cores on.
- Shader stutter fades as the pipeline cache fills; a library found online is incomplete (#57), build your own.
Graphics glitches and gameplay bugs
| Symptom | Status |
|---|---|
| Cars thrown or jumping sideways after hitting another car | Fixed in 0.4.4. |
| Wheels and trim flicker in the chase cameras | Fixed in 0.4.5 (introduced by 0.4.4). |
| Car passes through objects, invisible obstacles | Known in the README: collision is not perfect yet (#77). |
| Map icons and menu buttons turn into black boxes after ~20 min | Open on Exynos 1480 (#82); opening and closing the map clears the minimap for a while. |
| Striped cockpit camera or faceted paint (Adreno, native) | Fixed in 0.4.2; rebuild the shader library for the paint fix. |
| Image cropped with Stretch to the whole screen | Open on 0.4.5 on a 3200×2136 screen (#105); turn the option off. |
| Car picture stretched on the paint shop’s Designs card | Known in the README. |
| Robotic or stuttering sound | Fixed in 0.4.0: leave background audio decoding off. |
Install and update problems
- “App not installed” when updating: the installed app was signed with a different key (for example your own build). Uninstall it first; back up saves from the launcher.
- Launcher cannot see the files: grant the file access it asks for when you pick the ISO, folder or save.
- Achievement pop-ups in the wrong script: fixed in 0.4.0 for Japanese, Korean, Chinese, Cyrillic and Polish.
Reporting a bug the useful way
Use the launcher’s diagnostics report: describe the problem first, then save. Rooted phones can add crash files, the kernel log, the full logcat and a one-shot performance profile. Open an issue on GitHub with your phone model, GPU and Android version, attach the zip, and never attach or link game files, dumps or builds other than the official ones.



Frequently asked questions
Why do I get a black screen in FH2 Recompiled?
Most often the native renderer has no shader library, an outdated one or one from elsewhere: build fh2_shaders.nfsp from your own files, or switch to the emulated renderer. On Adreno, try a different GPU driver. Some Mali and Dimensity phones still have open black-screen reports.
Why is the frame rate so low?
The Xbox 360 GPU emulation is the limit, not the recompiled game code. Use the native renderer, lower render resolution to 50% or less, keep the FPS limit at 30 with frame generation, lower the world detail sliders, try Turnip on Adreno, and avoid FSR output scaling on weak Mali GPUs.
Why does the game stutter at first?
Shaders are compiled the first time each one is needed, more on the emulated renderer. The pipeline cache is kept between sessions, so stutter fades. A complete shader library built from your own files reduces it on the native renderer.
How do I report a bug?
In the launcher, describe the problem and save a diagnostics report; the zip carries the last two sessions’ logs, the exact build, an FPS summary, the driver and the device. Open an issue on the project’s GitHub with your phone model, GPU and Android version. Never attach or link game files, and do not ask for them: such issues are closed.
My FPS dropped after updating to 0.4.2. What happened?
On phones with two big CPU cores (Helio G85–G99, Snapdragon 765G, Dimensity 700/810, Exynos 1280) v0.4.2 put most of the game on one core. 0.4.3 fixed it; if you turned off Pin threads to cores as a workaround, turn it back on.