FH2 Recomp for Android & Linux
Forza Horizon 2 for Xbox 360, recompiled from PowerPC into a native ARM64 Android app, with a Linux build from source. Latest release v0.4.5, November 5, 2026.
- Latest releasev0.4.5November 5, 2026
- Android APK109.5 MB
FH2-Recompiled-0.4.5.apk - Linux x86-64build from sourceClang 20 · CMake
Which file do I download?
Pick your device. The button goes straight to the file on the project’s GitHub Releases page (v0.4.5, November 5, 2026).
This site hosts no files and gives no help getting game files: the port needs your own Forza Horizon 2 disc.



Check an APK’s SHA-256
Drop the .apk you downloaded. Your browser calculates its SHA-256 with WebCrypto and compares it with all 9 APKs published in the project’s GitHub releases. The file never leaves your device, phone included.
Linux: sha256sum FH2-Recompiled-0.4.5.apk · Windows: certutil -hashfile FH2-Recompiled-0.4.5.apk SHA256 · macOS: shasum -a 256 FH2-Recompiled-0.4.5.apk
Forza Horizon 2’s own code
runs as ARM64 on your phone, and its roads
reach the screen through Vulkan.
A recompiled port, not an emulator
Forza Horizon 2 shipped on Xbox 360 in 2014, set across southern France and northern Italy. FH2 Recompiled translates the PowerPC code of its executable into C++ ahead of time and compiles it for ARM64 Android and x86-64 Linux. This guide tracks every GitHub release: which file to get, what its SHA-256 should be, what your phone needs and how to set it up.
| Part | How it runs |
|---|---|
| Game code (CPU) | Recompiled ahead of time: the PowerPC instructions of default.xex become C++, built into a native library. No interpreter, no JIT. |
| Xbox 360 kernel | Reimplemented by the ReXGlue SDK, derived from the Xenia project. |
| GPU, emulated | The Xenos command stream is interpreted, EDRAM reproduced with Vulkan render targets, shaders translated to SPIR-V while you play. |
| GPU, native | Draws the same commands straight in Vulkan with shaders translated ahead of time into fh2_shaders.nfsp. Much faster, some image errors left. |
| Audio, input, video | ReXGlue SDK, SDL3 and FFmpeg. |
Since it started on October 8, 2026, the project has shipped 9 releases, gathered 190 stars and been downloaded 26,016 times on GitHub (November 9, 2026). It is licensed GPL-3.0 (the SDK BSD-3-Clause) and is maintained by Gabrick75, building on ReXGlue, Xenia, NFSMW Recompiled, nfsmw-nx, nfsmw-android and NFSMW-Recompiled-Mobile.


Your own disc and a Vulkan phone
- Android
- Android 8.0 or later on a 64-bit ARM (ARM64) processor. There is no 32-bit build.
- Graphics
- A GPU with Vulkan 1.1 or later. Adreno phones can load a Turnip driver; Mali and Xclipse run with more open reports.
- Memory
- 4 GB of RAM or more, 6 GB or more recommended. The vertex cache grows to 192 MB on phones with 8 GB or more.
- Storage
- About 8 GB for the game files, plus 109.5 MB for the APK. A disc image can be read in place, with no extraction.
- Game
- Your own Forza Horizon 2 for Xbox 360, USA edition (Title ID
4D530AA4), from your own disc. Other editions are untested. - Native renderer
- The translated shader library
fh2_shaders.nfsp, built on a Linux PC from your own game files. Without it, use the emulated renderer.
This site does not explain how to obtain game files. Use a copy you legally own; the APK contains no game data.
Download v0.4.5: APK and SHA-256
Published November 5, 2026, 17:01 UTC. Every release so far is a single APK, marked pre-release on GitHub. Upgrading from v0.4.4 keeps your settings.
| File | Release | Size | Bytes | SHA-256 | |
|---|---|---|---|---|---|
FH2-Recompiled-0.4.5.apk | v0.4.5 | 109.5 MB | 109,493,472 | 4e6cf0cad1187c42631ffb51690e9b9101a30531b69716dc4a0d7ad01d0ef09b | GitHub |
FH2-Recompiled-0.4.4.apk | v0.4.4 | 109.5 MB | 109,456,732 | 4c43e50f1d947693e62b4823fa566993e040c44a4aad0f8b43ab025d981cc80c | GitHub |
FH2-Recompiled-0.4.3.apk | v0.4.3 | 108.3 MB | 108,341,992 | 9621eeb4a6d654279062cdd4e9a776a40849b9c367a374947ac3b1bdbad0ab8d | GitHub |
What’s new in v0.4.5
- Fill the screen without distortion (Display > Image > Stretch to the whole screen): on phones wider than 16:9 the world is now drawn at the screen’s own aspect, so cars and buildings keep their shape and you see more at the sides. The HUD and minimap stay 16:9 in the middle; menus, the map and loading screens are still stretched.
- Wheels and trim no longer flicker in the chase cameras: the v0.4.4 change that flushed tiny floating-point results (denormals) to zero is undone, and if anything turns that mode back on during a session it is caught and switched off again.
- Better logs: each session log starts with the settings left in the app’s
fh2.tomland the floating-point mode the game runs with. - No new shader library needed: the
fh2_shaders.nfspbuilt for v0.4.2 still works. - Known: one report says the wider image is cropped with Stretch to the whole screen on a 3200×2136 tablet (#105). Turn the option off for the 16:9 image with black bars.
Before that: 0.4.4 (November 3, 2026) added frame generation (beta), power draw on the overlay and fixed cars thrown after collisions; 0.4.3 (October 27, 2026) gave phones with two big CPU cores their speed back; 0.4.2 brought HDR, steering arrows and smooth motion. Full changelog
Install in four steps
- Download
FH2-Recompiled-0.4.5.apkon the phone and check its SHA-256 with the checker above. - Install it, allowing apps from unknown sources if Android asks. A build signed with a different key (your own build) must be uninstalled first.
- Add the game. In Game and saves, choose your own disc image (.iso), or put the extracted files in
Internal storage/jogos/ForzaHorizon2. Grant the file access the launcher asks for. - Choose a renderer and tap Play. Native needs your
fh2_shaders.nfspnext to the game; otherwise pick Emulated. Start at 50% render resolution with anti-aliasing off.
The first start takes longer while shaders are prepared. The full install guide covers the folder layout, the shader library, GPU drivers and updating.
What runs well today
The README’s summary: the game boots and plays its menus and races, but it is far from the console’s frame rate on phones. On the native renderer the developer’s Galaxy S23 Ultra reaches about 46 FPS (v0.4.2) and frame generation can show 30 FPS as 60; the GPU emulation is the usual limit, and the ring thread that turns GPU commands into Vulkan is busy almost all the time.
| GPU | Status | Notes |
|---|---|---|
| Qualcomm Adreno 7xx | Best tested | The developer’s Galaxy S23 Ultra (Adreno 740). A Turnip driver is often faster than the phone’s own on 6xx and 7xx. Open: a freeze at the driving tutorial on an Adreno 735 (#78). |
| Qualcomm Adreno 6xx | Playable, low FPS | The Moto G9 Play (Adreno 610) is the second test phone: about 14–17 FPS. A user report puts an Oppo A78 (Adreno 610) at about 23 FPS with Turnip and low settings (#99). |
| ARM Mali | Works, more reports | The image freeze after ~20 s was fixed in 0.4.1. Black screens and car-select freezes are still reported on some Dimensity and Tensor phones (#87, #80, #95); FSR on the output costs a lot on weaker Mali GPUs. |
| Samsung Xclipse | Playable | An Exynos 1480 (Xclipse 530) report shows 27–30 FPS with shader-compile stutter and HUD icons turning into black boxes after a while (#57, #82). |
| Linux x86-64 | Source only | Built from source with Clang 20; used by the developer for the code generator and the shader library. No ready-made download. |
Known in the README: collisions are not perfect (the car can pass through some objects), the car picture on the paint shop’s Designs card is stretched, the native renderer has image errors in some places, and some menu options are not implemented yet. More on the troubleshooting page.
What the port adds
Picture
- Render resolution in percent, down to 12%
- MSAA 2x/4x, FXAA, FSR 1.0 and CAS scaling
- HDR output on HDR10 phones, up to the screen’s peak
- Fill a wide screen without stretching (since v0.4.5)
Speed
- Native renderer with shaders translated ahead of time
- Frame generation (beta): 30 FPS shown as 60
- Custom Vulkan drivers such as Turnip via adrenotools
- FPS limit from 30 to unlimited, smooth motion below 30
Controls
- Touch controls with a layout editor and steering arrows
- Bluetooth and USB gamepads, phone vibration
- Keyboard and mouse, found on their own
- Every key rebindable in game with F4
Game
- Plays straight from your disc image, no extraction
- Achievements page with the date each was earned
- World detail sliders from 0.25x to 4x
- Overlay with FPS, GPU, CPU, RAM and power draw
Guides: phone requirements and FPS · best settings · controllers and touch · vs Xenia · fixes · En español: guía de FH2 Recomp · Em português: guia do FH2 Recomp

Frequently asked questions
What is FH2 Recomp?
FH2 Recomp is the short name for FH2 Recompiled (Gabrick75/fh2-recompiled), an open-source project that runs Forza Horizon 2 for Xbox 360 natively on Android phones, with a Linux x86-64 build from source. The PowerPC code of the game’s executable is translated to C++ ahead of time and compiled into a native program; the Xbox 360 kernel and the Xenos GPU come from the ReXGlue SDK on Vulkan. The latest release is v0.4.5, published November 5, 2026.
Is FH2 Recompiled an emulator?
Not for the game code. A static recompilation translates the game’s instructions once, before the game runs, so there is no interpreter or JIT for them. The graphics are a different matter: by default the Xbox 360 GPU is still emulated on Vulkan, which is why phones fall short of the console’s frame rate. An experimental native renderer draws the game’s GPU commands straight in Vulkan and is much faster. The comparison with Xenia goes into more detail.
Where do I download FH2 Recompiled?
Only from the project’s GitHub Releases page, github.com/Gabrick75/fh2-recompiled/releases. The current file is FH2-Recompiled-0.4.5.apk (109.5 MB, SHA-256 4e6cf0cad1187c42…). The buttons on this site link to that exact file; nothing is mirrored here.
Does the APK include the game?
No. The APK contains no game data and does nothing on its own. You need your own copy of Forza Horizon 2 for Xbox 360, USA edition: either its disc image (.iso), which the launcher reads in place, or the extracted files (default.xex, XMediaFacade_default.xex, SpeechFacade_default.xex and the media folder). This site does not explain how to obtain game files.
Is there a Linux or Steam Deck download?
No ready-made one. The Releases page has Android APKs only. Linux x86-64 is built from source with Clang 20, CMake and Ninja, following the README; the project has published no Steam Deck test. There is no Windows, iOS or macOS build.
Which phones can run FH2 Recompiled?
Android 8.0+ on ARM64 with a Vulkan 1.1 GPU and 4 GB of RAM (6 GB recommended). Speed depends mostly on the GPU: the developer’s Galaxy S23 Ultra (Adreno 740) reaches about 46–50 FPS in a parked scene with the native renderer, while a Moto G9 Play (Adreno 610) runs at around 14–17 FPS. Details are on the requirements guide.
Do I need the shader library?
Only for the native renderer, which is the default and the faster one since 0.4.0. The library, fh2_shaders.nfsp, is made from your own game files, so it cannot ship in the APK: build it on a Linux PC with tools/xenos/biblioteca.sh and copy it next to the game files or the .iso. The emulated renderer needs no library. The v0.4.2 library still works with v0.4.5.
Does it play like the console?
It boots and plays menus, the festival and races with sound, achievements and saves. It is a work in progress: frame rates are lower than the console’s on most phones, collisions are not perfect yet, and the native renderer still has image errors in places. The troubleshooting guide lists the open reports.