A playable preview of Forza Horizon static recompilation
See the code
The Xbox 360 release of Forza Horizon, recompiled to run natively on Windows, Linux, the Steam Deck and Apple silicon Macs, with an Android alpha.
Built on your own PC from your own disc, with internal resolutions up to 4K.
Download the launcher · Documentation · How to play · Roadmap · Support development
Pinyon Shift is not an emulator. The game's PowerPC code is translated ahead of time into C++ with ShiftGlue, our fork of ReXGlue, and compiled on your computer. A renderer written for Forza Horizon runs the game's GPU commands on Vulkan.
This repository holds the launcher, build tools, host code and configuration. It does not contain the game, its assets, generated translations or a prebuilt executable: you build the game from a disc you own.
Playable preview. Expect some rendering bugs and slowdowns. The 0.5.0 release notes list what the latest release contains and its known limitations.
On an RTX 4080 the scripted race runs at a median of 119 fps at 1x and 2x (with the game's 4x MSAA), and 102 fps at 3x (3840×2160). On the console the game runs at 30 fps. The Low-spec 60 preset holds 60 fps on 4 CPU cores in simulated runs and needs about 1.1 GB of graphics memory. Android handhelds with a Snapdragon 8 Gen 2 hold about 60 fps with the SMOOTH 60 preset.
Methods, the comparison with Xenia, and the full tables are in Performance.
PinyonShift-Launcher.zip from the
latest release.PinyonShiftLauncher.exe.Your disc image and game files stay on your machine; the launcher only downloads build tools and the ShiftGlue source. The launcher is not code-signed yet, so Windows may warn about it: download it only from this repository's releases.
On Linux or a Steam Deck, download
PinyonShift-Launcher-linux-x86_64.tar.gz instead, extract it and run
PinyonShiftLauncher; after the build, Add to Steam puts the game in
Game Mode. The steps are in Linux and Steam Deck.
On a Mac, download PinyonShift-Launcher-macos-arm64.zip; see
macOS.
To install on another drive, make a portable install, change the language, or read the launcher's settings, see Installing and setup. If something goes wrong, see Troubleshooting.
MS-2505, title ID 4D5309C9.The Android build is the same recompiled game, cross-compiled for arm64 on your PC from your own disc and installed on your own device. It needs Android 13 or later and Vulkan 1.3, and is tuned for Snapdragon 8 Gen 2 or newer with 8 GB of memory.
No USB debugging is needed. The bundled Mesa Turnip driver is selected automatically on Adreno 7xx, and the in-game SMOOTH 60 and QUALITY 30 presets cover the common setups. USB and command-line installs, drivers and saves are covered in docs/ANDROID.md.
Keep the launcher open while playing. If the game exits unexpectedly, the launcher creates a sanitized diagnostic ZIP and opens a prefilled GitHub issue; attach the ZIP it selects and the shortest steps that reproduce the problem. For other bugs use Report a problem in the launcher. Reports never include the game, your saves or local paths. Please don't attach game files or generated code.
From PowerShell in a repository checkout:
.\tools\setup-preview.ps1 -IsoPath C:\path\to\your-disc.iso
.\tools\launch-preview.ps1
See Building for details and the tools/pinyon.py
command line.
In progress: crash, stutter and rendering fixes, faster Android rendering on tiled GPUs, and documenting the game's code. Next: AMD and Intel qualification, and draw distance and world detail settings. The full list, with what's done, is in the roadmap.
Only independently authored project files are licensed under the BSD 3-Clause License. Microsoft, Xbox, Turn 10 Studios, Playground Games, Forza Horizon, and third-party dependencies remain the property of their respective owners. Pinyon Shift is not affiliated with or endorsed by them. See Legal and distribution and Third-party notices.
Start with CONTRIBUTING.md. Repository checks reject disc images, executables, generated translations, extracted assets, build products, and other machine-local material.
Pinyon Shift is and will remain free. Every release, feature and setting is public on the same day for everyone. There are no supporter builds, early access, paid features or paid mods, and there never will be.
If you would like to support continued development, you can sponsor arcanite24 on GitHub or buy me a coffee on Ko-fi. Contributions pay for development time and test hardware, such as Android devices and lower-end GPUs. They do not buy builds, game content, priority support or influence over the roadmap. Support is for the work on this project, not for Forza Horizon, which remains the property of its owners.
Sharing the project, reporting bugs with a diagnostic ZIP and contributing code help just as much. Come say hi, ask for help or report bugs on the Discord server.
75 followers · starred Aug 2026
A playable preview of Forza Horizon static recompilation
See the code
The Xbox 360 release of Forza Horizon, recompiled to run natively on Windows, Linux, the Steam Deck and Apple silicon Macs, with an Android alpha.
Built on your own PC from your own disc, with internal resolutions up to 4K.
Download the launcher · Documentation · How to play · Roadmap · Support development
Pinyon Shift is not an emulator. The game's PowerPC code is translated ahead of time into C++ with ShiftGlue, our fork of ReXGlue, and compiled on your computer. A renderer written for Forza Horizon runs the game's GPU commands on Vulkan.
This repository holds the launcher, build tools, host code and configuration. It does not contain the game, its assets, generated translations or a prebuilt executable: you build the game from a disc you own.
Playable preview. Expect some rendering bugs and slowdowns. The 0.5.0 release notes list what the latest release contains and its known limitations.
On an RTX 4080 the scripted race runs at a median of 119 fps at 1x and 2x (with the game's 4x MSAA), and 102 fps at 3x (3840×2160). On the console the game runs at 30 fps. The Low-spec 60 preset holds 60 fps on 4 CPU cores in simulated runs and needs about 1.1 GB of graphics memory. Android handhelds with a Snapdragon 8 Gen 2 hold about 60 fps with the SMOOTH 60 preset.
Methods, the comparison with Xenia, and the full tables are in Performance.
PinyonShift-Launcher.zip from the
latest release.PinyonShiftLauncher.exe.Your disc image and game files stay on your machine; the launcher only downloads build tools and the ShiftGlue source. The launcher is not code-signed yet, so Windows may warn about it: download it only from this repository's releases.
On Linux or a Steam Deck, download
PinyonShift-Launcher-linux-x86_64.tar.gz instead, extract it and run
PinyonShiftLauncher; after the build, Add to Steam puts the game in
Game Mode. The steps are in Linux and Steam Deck.
On a Mac, download PinyonShift-Launcher-macos-arm64.zip; see
macOS.
To install on another drive, make a portable install, change the language, or read the launcher's settings, see Installing and setup. If something goes wrong, see Troubleshooting.
MS-2505, title ID 4D5309C9.The Android build is the same recompiled game, cross-compiled for arm64 on your PC from your own disc and installed on your own device. It needs Android 13 or later and Vulkan 1.3, and is tuned for Snapdragon 8 Gen 2 or newer with 8 GB of memory.
No USB debugging is needed. The bundled Mesa Turnip driver is selected automatically on Adreno 7xx, and the in-game SMOOTH 60 and QUALITY 30 presets cover the common setups. USB and command-line installs, drivers and saves are covered in docs/ANDROID.md.
Keep the launcher open while playing. If the game exits unexpectedly, the launcher creates a sanitized diagnostic ZIP and opens a prefilled GitHub issue; attach the ZIP it selects and the shortest steps that reproduce the problem. For other bugs use Report a problem in the launcher. Reports never include the game, your saves or local paths. Please don't attach game files or generated code.
From PowerShell in a repository checkout:
.\tools\setup-preview.ps1 -IsoPath C:\path\to\your-disc.iso
.\tools\launch-preview.ps1
See Building for details and the tools/pinyon.py
command line.
In progress: crash, stutter and rendering fixes, faster Android rendering on tiled GPUs, and documenting the game's code. Next: AMD and Intel qualification, and draw distance and world detail settings. The full list, with what's done, is in the roadmap.
Only independently authored project files are licensed under the BSD 3-Clause License. Microsoft, Xbox, Turn 10 Studios, Playground Games, Forza Horizon, and third-party dependencies remain the property of their respective owners. Pinyon Shift is not affiliated with or endorsed by them. See Legal and distribution and Third-party notices.
Start with CONTRIBUTING.md. Repository checks reject disc images, executables, generated translations, extracted assets, build products, and other machine-local material.
Pinyon Shift is and will remain free. Every release, feature and setting is public on the same day for everyone. There are no supporter builds, early access, paid features or paid mods, and there never will be.
If you would like to support continued development, you can sponsor arcanite24 on GitHub or buy me a coffee on Ko-fi. Contributions pay for development time and test hardware, such as Android devices and lower-end GPUs. They do not buy builds, game content, priority support or influence over the roadmap. Support is for the work on this project, not for Forza Horizon, which remains the property of its owners.
Sharing the project, reporting bugs with a diagnostic ZIP and contributing code help just as much. Come say hi, ask for help or report bugs on the Discord server.
75 followers · starred Aug 2026