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 MBFH2-Recompiled-0.4.5.apk
  • Linux x86-64build from sourceClang 20 · CMake
  • Gabrick75/fh2-recompiled · 190 stars · 26,016 downloads · GPL-3.0

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).

Your device

This site hosts no files and gives no help getting game files: the port needs your own Forza Horizon 2 disc.

A straight country road between a wheat field and rows of lavender in Provence under a cloudy sky
An old road cut into a cliff face high above Lake Garda, with a low stone wall on the lake side
A sailing boat on the blue bay of Villefranche-sur-Mer with hillside villas behind it
Southern France and northern Italy, where Forza Horizon 2 is set: road D8 through the lavender of Provence, the old cliff road above Lake Garda, the bay of Villefranche-sur-Mer.
Advertisement

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

Waiting for a file.

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.

PartHow 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 kernelReimplemented by the ReXGlue SDK, derived from the Xenia project.
GPU, emulatedThe Xenos command stream is interpreted, EDRAM reproduced with Vulkan render targets, shaders translated to SPIR-V while you play.
GPU, nativeDraws the same commands straight in Vulkan with shaders translated ahead of time into fh2_shaders.nfsp. Much faster, some image errors left.
Audio, input, videoReXGlue 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.

A white Xbox 360 console standing upright with a white wireless controller in front of it
Xbox 360 and its wireless controller: Forza Horizon 2 shipped on this console in 2014.
Rooftops of Sisteron and the Durance valley seen from the walls of the citadel
Sisteron from its citadel, Provence

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

Advertisement

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.

FileReleaseSizeBytesSHA-256
FH2-Recompiled-0.4.5.apkv0.4.5109.5 MB109,493,4724e6cf0cad1187c42631ffb51690e9b9101a30531b69716dc4a0d7ad01d0ef09bGitHub
FH2-Recompiled-0.4.4.apkv0.4.4109.5 MB109,456,7324c43e50f1d947693e62b4823fa566993e040c44a4aad0f8b43ab025d981cc80cGitHub
FH2-Recompiled-0.4.3.apkv0.4.3108.3 MB108,341,9929621eeb4a6d654279062cdd4e9a776a40849b9c367a374947ac3b1bdbad0ab8dGitHub

All 9 releases with exact byte sizes

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.toml and the floating-point mode the game runs with.
  • No new shader library needed: the fh2_shaders.nfsp built 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

  1. Download FH2-Recompiled-0.4.5.apk on the phone and check its SHA-256 with the checker above.
  2. Install it, allowing apps from unknown sources if Android asks. A build signed with a different key (your own build) must be uninstalled first.
  3. 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.
  4. Choose a renderer and tap Play. Native needs your fh2_shaders.nfsp next 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.

GPUStatusNotes
Qualcomm Adreno 7xxBest testedThe 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 6xxPlayable, low FPSThe 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 MaliWorks, more reportsThe 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 XclipsePlayableAn 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-64Source onlyBuilt 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

A grey Lamborghini Huracán Super Trofeo race car parked on grass
Lamborghini Huracán Super Trofeo
Advertisement

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.