Pinyon Shift: a static recompilation of the Xbox 360 Forza Horizon that runs natively on PC
A playable preview of Forza Horizon static recompilation
At a glance
- What is it?
- Pinyon Shift translates the PowerPC code of Forza Horizon ahead of time into C++ with a fork of ReXGlue, compiles it on your own machine from a disc you own, and renders the game's graphics through Vulkan. The repository holds the launcher, the build tools and the configuration, and the result runs on Windows, Linux, the Steam Deck, Apple silicon Macs and an Android alpha.
- Who is it for?
- Pinyon Shift fits a player who owns the Xbox 360 disc and wants Forza Horizon running at 60 or 120 fps in 4K on hardware that never existed for it, and who is willing to spend twenty to sixty minutes and 30 GB of disk on the first build. It does not fit anyone without the retail disc, since the repository deliberately ships no game content.
- Can I use it commercially?
- Yes. BSD-3-Clause is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What it is and what is deliberately not in the repository
Pinyon Shift is 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. It is built on your own PC from your own disc, with internal resolutions up to 4K.
The repository holds the launcher, the build tools, the host code and the configuration. It does not contain the game, its assets, generated translations or a prebuilt executable, because the game is built from a disc you own.
That separation is the design. The launcher is a download, the build is something you run once, and the result is a native binary compiled on your machine. The README also warns that the project is a playable preview and that you should expect some rendering bugs and slowdowns, with the 0.6.0 release notes listing what the latest release contains and its known limitations.
The project is BSD-3-Clause licensed, the last push was on 2026-10-21, and the release history shows v0.6.0 on 2026-10-17, v0.5.1 on 2026-10-12 and v0.5.0 on 2026-10-11, so the work is moving quickly at a pre-1.0 version.
Ahead of time translation rather than emulation
Pinyon Shift is not an emulator. The game's PowerPC code is translated ahead of time into C++ with ShiftGlue, the project's fork of ReXGlue, and compiled on your computer. A renderer written for Forza Horizon runs the game's GPU commands on Vulkan.
The distinction matters for performance, and the README states the result plainly. The game's executable is recompiled ahead of time, so nothing is interpreted or JIT-compiled while you play. It runs at 60 and 120 fps at the right game speed instead of the console's 30.
The rendering side is where most of the modern features come from. There is 1x to 4x internal resolution, FSR 1 output scaling, anisotropic filtering, FXAA, ultrawide support, and optional bloom, motion blur and depth of field. On macOS, Vulkan runs on Metal through MoltenVK, built into the game.
The performance section gives the numbers the project is willing to stand behind: 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 which is 3840 by 2160, while 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. The methods, the comparison with Xenia and the full tables are in the performance document.
The six step build from your own disc
The play section is a numbered sequence, and the fourth step is the one that distinguishes this from a download.
You download PinyonShift-Launcher.zip from the latest release, extract it to a folder and run PinyonShiftLauncher.exe. You then drop the ISO you dumped from your own disc onto the launcher, or choose it with Choose ISO, and an unmodified extracted folder also works. You confirm ownership, then choose Verify and build.
Then you leave the launcher open while it installs the build tools and builds the game. The first build takes 20 to 60 minutes and needs about 30 GB of free disk space, and nothing needs installing by hand. If Windows must restart, setup continues after you sign in. Finally you choose Play, and F6 in game opens the settings.
The launcher downloads build tools and the ShiftGlue source, and your disc image and game files stay on your machine. The launcher is not code-signed yet, so Windows may warn about it, and the README asks you to download it only from the repository's releases.
On Linux or a Steam Deck you download the linux x86_64 tarball instead and run PinyonShiftLauncher, and after the build, Add to Steam puts the game in Game Mode. On a Mac you download the macos arm64 zip.
What the port adds beyond higher frame rates
The feature list goes well past resolution scaling, and these are the parts a console owner will notice first.
In-game settings are on F6 and a trainer is on F10, covering credits, game speed, time of day and a free camera. There is photo export, save backups and mods support. HDR output with calibration is there, and the camera option reacts to the car rather than being fixed. You can use your own music in game or as custom radio stations.
Your owned Xbox 360 packages are verified and imported, so car packs work, and Rally and 1000 Club run on the optional title update v4 build.
And there is the Treasure Map, which was sold through a service that no longer exists. It is on by default and can be turned off in the launcher. That is a small detail with an interesting shape to it: a piece of paid content that would otherwise be unobtainable, included because the distribution channel is gone.
Linux support is a native build with no Proton, where the project claims 60 fps at 1x on the Steam Deck within its 15 W limit. The Android alpha runs the same recompiled game, cross-compiled for arm64 on your PC from your own disc and installed on your own device, and the README claims 60 fps on Snapdragon 8 Gen 2 handhelds.
Requirements, the Android alpha and the discs you need
The requirements section is specific, which is what you want from a project that needs particular media. The USA retail disc, serial MS-2505, title ID 4D5309C9. Windows 10 or 11 x64, x86-64 Linux including SteamOS on the Steam Deck, or macOS 13 or newer on Apple silicon. A GPU with Vulkan 1.3, with NVIDIA tested and AMD and Intel not yet qualified. And a CPU with 4 cores for the Low-spec 60 preset, noting that the Steam Deck holds 60 fps at 1x while other integrated graphics are not measured yet.
The Android path is described as a developer alpha with its own sequence. The build is the same recompiled game, cross-compiled for arm64 on your PC from your own disc and installed on your own device, needing Android 13 or later and Vulkan 1.3, tuned for Snapdragon 8 Gen 2 or newer with 8 GB of memory.
You choose Android in the launcher and then Build APK, choose Share on Wi-Fi and scan the QR code with the device's camera to install the app. On the device you open Pinyon Shift and enter the six-digit code the launcher shows, and the app copies the game, your DLC and, if you choose, your PC save. 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.
That install path is unusual enough to be worth noting. A QR code and a six-digit code, with no developer mode and no adb, is a decision aimed at people who have never sideloaded anything, which tells you who the project expects to reach.
The build tree and what the repository is made of
The top-level entries describe a large native project. There is a CMakeLists.txt with a CMakePresets.json, a launcher directory, src for the game-side code, include, thirdparty/, tools/, cmake/ and config/, a mods_src directory for the mod system, an android/ directory, a benchmarks/ directory, a tests/ directory, and a site/ directory that serves the documentation.
There are also the governance files you would expect from a project with contributors: a CONTRIBUTING.md, a CODE_OF_CONDUCT.md, a SECURITY.md, a CHANGELOG.md, a GITHUB_ISSUES_BACKLOG.md, a BUGS.md, THIRD_PARTY_NOTICES.md, an AGENTS.md and a CLAUDE.md.
The third party notices file matters more here than it would in most projects. The translation layer is a fork of an existing open source project, and the renderer is a new component, so the licensing of the borrowed code is a genuine question for anyone who wants to understand the provenance of the output.
The documentation links in the README point at several separate files, each covering one area: the roadmap, a modding guide, Linux and Steam Deck notes, macOS notes, a document on extracted game input, an installing and setup guide, a troubleshooting guide, an Android guide, and the performance document with the methods and tables. A project of this kind tends to accumulate documentation as its own complexity, and here that documentation is clearly written for a user rather than a developer.
Editorial conclusion
Pinyon Shift fits a player who owns the Xbox 360 disc and wants Forza Horizon running at 60 or 120 fps in 4K on hardware that never existed for it, and who is willing to spend twenty to sixty minutes and 30 GB of disk on the first build. It does not fit anyone without the retail disc, since the repository deliberately ships no game content. Before starting, check the disc serial and title ID the requirements list, confirm your GPU has Vulkan 1.3, since NVIDIA is the only vendor tested so far, and expect the 0.6.0 release notes to describe rendering bugs that are still open, because the project describes itself as a playable preview rather than a finished port.
Frequently asked questions
What is Pinyon Shift and how does it differ from an emulator?
It is the Xbox 360 release of Forza Horizon recompiled to run natively, where the game's PowerPC code is translated ahead of time into C++ with ShiftGlue, the project's fork of ReXGlue, and compiled on your computer. A renderer written for the game runs its GPU commands on Vulkan, and nothing is interpreted or JIT-compiled while you play.
What do I need to build and play Pinyon Shift?
The USA retail disc with serial MS-2505 and title ID 4D5309C9, Windows 10 or 11 x64, x86-64 Linux including SteamOS, or macOS 13 or newer on Apple silicon, a GPU with Vulkan 1.3 where NVIDIA is tested and AMD and Intel are not yet qualified, and a 4 core CPU for the Low-spec 60 preset.
How long does the first Pinyon Shift build take?
The first build takes 20 to 60 minutes and needs about 30 GB of free disk space, with nothing installed by hand, because the launcher downloads the build tools and the ShiftGlue source and compiles the game on your machine. If Windows must restart during setup, it continues after you sign in.
Does Pinyon Shift ship the game itself?
No. The repository holds the launcher, build tools, host code and configuration, and deliberately does not contain the game, its assets, generated translations or a prebuilt executable, because you build the game from a disc you own. The launcher only downloads the build tools and the ShiftGlue source.
What platforms does Pinyon Shift run on and how does the Android alpha work?
It runs on Windows, Linux natively without Proton including the Steam Deck, macOS on Apple silicon through Vulkan on Metal via MoltenVK, and an Android developer alpha. The Android build is the same recompiled game cross-compiled for arm64 on your PC, and the install uses Share on Wi-Fi with a QR code and a six-digit code, so no USB debugging is needed.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/arcanite24-pinyon-shift)Was this useful?