- What is this?
- Why does this exist?
- Comparison vs Xenia and the Xbox 360
- Screenshots
- What you need before playing
- How to install and play
- Default controls
- Runtime configuration
- Frequently asked questions
- Building from source
- Technical deep-dives
- Acknowledgements
- Legal
DownpourRecomp is a native Windows port of Silent Hill: Downpour (Konami / Vatra Games, Xbox 360, 2012). The original Xbox 360 game is converted into a regular Windows program — once and for all, at build time — so it runs on your PC the same way as any other Windows app.
If you've used Xenia or RPCS3 before, this is not that. There is no emulator, no JIT translator running on every CPU instruction, no per-frame interpretation overhead. The PowerPC code in the original Xbox 360 binary is translated into native x86-64 C++ code ahead of time, and then linked against a small host runtime that handles the Xbox-specific parts (input, kernel calls, GPU command processor, EDRAM). The result is a real downpour.exe that boots like any other game.
This technique is called static recompilation. It's the same idea behind:
- N64: Recompiled (the project that started the trend),
- Sonic Mania: Recompiled,
- Skate 3 Recomp,
- DPRecomp (the same author's Deadly Premonition port).
DownpourRecomp uses the ReXGlue SDK — a Xenia-derived Xbox 360 host runtime — as the foundation, and adds the Silent Hill: Downpour-specific glue and a narrow GPU fix that makes the fast render path produce a clean image.
Note
You provide your own legally-owned copy of the game. The release zip is the host shell only (~27 MiB). It does not contain default.xex, game data, music, or any Konami / Vatra assets. See What you need before playing.
Silent Hill: Downpour never received an official PC release. On modern hardware your three options are:
- Real Xbox 360 hardware. Works, but ageing — disc reads fail, HDMI is 720p tops, no improvements over 2012.
- Xenia emulator (xenia-canary). Works for Downpour visually but with the overhead of dynamic translation and the dependency on Xenia's evolution.
- DownpourRecomp (this project). A native Windows process, full mouse + keyboard support, the chromatic-noise artifact on the fast render path fixed, and the entire CPU side running natively at x86-64 speed.
Option 3 is what this project exists to be.
| Xbox 360 (original) | Xenia emulator | DownpourRecomp | |
|---|---|---|---|
| Resolution | 720p (HDMI) | up to 4K (DSR) | up to 4K, native 1080p default |
| Frame rate | 30 FPS | 30 FPS (UE3 cap) | 30 FPS (UE3 cap)* |
| Input | Xbox 360 controller only | XInput controllers | XInput + native mouse & keyboard |
| Disc / file requirement | Original disc | Dumped XEX + game data | Dumped XEX + game data |
| GPU rendering | Xbox 360 GPU | Xenia D3D12 / Vulkan | Xenia D3D12 backend (ported) |
| CPU execution | PowerPC native | Dynamic recompiler (JIT) | Statically recompiled to native x86-64 |
| CPU overhead | none | per-frame translation | none |
| Chromatic-noise bug | n/a (clean) | clean | fixed (see docs) |
| Modding hooks | none | limited | C++ source-level hooks |
| Install size | disc only | ~80 MiB + your dump | ~110 MiB + your dump |
* The 30 FPS cap is inside the recompiled game logic (UE3 fixed tick rate). Lifting it requires patching the game's tick code, not the runtime — see Frequently asked questions.
The download is the application only. You bring the game. To play, you need:
- A legally-owned copy of Silent Hill: Downpour for Xbox 360 — disc, digital download, or backup of either. Region USA or EUR (
title id 4B4E0823, base XEX hash7A3D5809776EE6AB). Other regions are untested. - Your own dumped
default.xexextracted from that copy. - The full game data tree —
nxeart,SHGame/,AvatarAssetPack/, and the rest of the disc's files. The game streams content (audio, levels, scripts) from disk at runtime, so the XEX alone is not enough. - A modern Windows PC: Windows 10 or 11 (x86-64), a D3D12-capable discrete GPU (RTX 30-series or equivalent, 6+ GB VRAM recommended).
Important
Do not ask in the issue tracker or anywhere else where to get the XEX. Bring your own legally-acquired copy.
-
Download the latest release zip: DownpourRecomp v0.1.1 →
-
Extract the zip somewhere with read/write access (e.g.
C:\Games\DownpourRecomp\). -
Put your game files into an
assets/folder next todownpour.exe. The expected layout:C:\Games\DownpourRecomp\ downpour.exe rexruntimerd.dll TracyClientrd.dll downpour.toml ← rename from downpour.toml.sample start.bat assets\ default.xex ← your XEX, from your dumped copy nxeart SHGame\ AvatarAssetPack\ -
Rename
downpour.toml.sample→downpour.toml. It already enables the chromatic-noise fix and sensible defaults. -
Double-click
start.bat, or open a terminal and run:downpour.exe --game_data_root assets
-
The game launches in fullscreen 1080p. Press F4 in-game to open the settings overlay (cvars, keybinds, mouse sensitivity, render scale). Press ` (backtick) for the console.
That's it — you're playing Silent Hill: Downpour natively on PC.
| Action | Key / Button |
|---|---|
| Move | W A S D |
| Camera | Mouse |
| Interact / fire | Space / LMB |
| Aim / look | RMB |
| Run | Shift |
| Crouch | C |
| Reload | R |
| Menu | Esc |
| Pause / Map | Tab |
| Settings overlay | F4 |
| Console | ` |
All bindings are remappable live via F4 → Input → Keybinds.
The recompiled binary reads downpour.toml from its working directory. The sample shipped with the release already has these defaults set:
# Chromatic-noise fix on the fast RTV path. Safe to leave enabled for Downpour.
# Details: docs/chromatic-noise-fix.md
skip_depth_color_7e3_aliasing_transfers = true
# Render path: "rtv" = fast HostRenderTargets, "rov" = slower correctness fallback
render_target_path_d3d12 = "rtv"
# Native 1080p
window_width = 1920
window_height = 1080
fullscreen = true
video_mode_width = 1920
video_mode_height = 1080
# Soft present-rate cap
d3d12_present_frame_limiter = true
# Keyboard + mouse mode (hot-reloadable via F4)
mnk_mode = true
# mnk_sensitivity = 1.0 # raise for faster mouse, lower for slower
# Path to your game files (relative to this folder)
game_data_root = "./assets"
[log.levels]
gpu = "info"Tip
For internal supersampling (sharper at the cost of GPU time), open F4 → GPU and raise draw_resolution_scale_x / draw_resolution_scale_y to 2. That renders internally at 2160p and downscales to your output — similar to NVIDIA DSR or AMD VSR. Heavy on mid-range cards; leave at 1 for default 1080p.
Is this an emulator?
No. An emulator runs the original Xbox 360 instructions on a virtual CPU at runtime. DownpourRecomp converts the Xbox 360 instructions into native x86-64 code at build time, so what you run on your PC is a real Windows executable. Think of it as the game being "re-translated" once, not interpreted on every frame.
Why isn't the game executable included? Where do I get it?
Including the game's binary or any of its data files would be copyright infringement. You need to obtain the XEX and game data from your own legally-owned copy of the Xbox 360 release. We will not tell you where to download a copy, and asking will get your issue closed.
Can I unlock the frame rate above 30 FPS?
Not at runtime in this version. The 30 FPS cap is baked into the game's UE3 tick loop in the recompiled code. The community-known Xenia patch (xenia_patches.toml in this repo, "Unlock FPS") is a guest-memory byte patch — it works under Xenia because Xenia reads guest code on every frame, but in a static recomp the relevant instructions are already translated to native code, so writing bytes to that guest address does nothing.
True 60+ FPS support would require either (a) regenerating the recomp against a pre-patched XEX, or (b) hand-patching the corresponding native function. Neither is done in v0.1.1. The "Camera movement slows down over 60 FPS" warning from the Xenia patch description still applies to this game engine.
Does mouse and keyboard work?
Yes — Silent Hill: Downpour never had an official PC port, so this is the first time the game can be played with a mouse and keyboard. The ReXGlue SDK ships a mouse-to-right-stick mapping with smoothing (rewritten in v0.1.1 for clean continuous mouse motion). All controller buttons are remappable to keyboard keys via F4 → Input.
What about ultrawide, HDR, ray tracing?
The game is a 2012 UE3 title — no native HDR or RT support. Ultrawide is not automatically letterboxed; you'll get a stretched 16:9 image at 21:9 unless you cap your window/output to 16:9. Aspect-correct ultrawide support would require a UE3 FOV patch (similar to Skate 3 Recomp's approach) and is not implemented in v0.1.1.
Do achievements unlock?
No. There is no Xbox Live backend, so any code path that submits an achievement is stubbed out. Saves work; achievements don't.
Will the save files transfer to/from a real Xbox 360?
The save layout matches the Xbox 360 format, so in principle yes — but no one's verified a round-trip yet. If you do, please open an issue with the result.
Why does GitHub call this a "native PC port" and not an "emulator"?
Because the file you run, downpour.exe, is a normal Windows executable produced by Clang from C++ source code. There is no virtual CPU. The CPU instructions that used to live in the Xbox 360 binary have been translated to C++ at build time. That's what "static recompilation" means.
I'm getting a crash / artefact / weird behaviour. What do I do?
Open an issue on GitHub Issues with:
- The exact symptom and the scene where it happens.
- A screenshot or short video if visual.
- The
logs/folder next todownpour.exe(text logs, not too large). - Your
downpour.tomlso we know your configuration. - GPU model and driver version.
Do not attach any game files or binaries that link against game data.
Click to expand — full build instructions
- Windows 10/11 x86-64 with up-to-date GPU drivers (D3D12 + DXIL/DXBC).
- A discrete GPU. RTX 30-series or equivalent (≥ 6 GB VRAM) for 1080p; RTX 40-/50-series for headroom on 1440p / 2160p downscale.
- Visual Studio 2022 (17.8+) with the "Desktop development with C++" workload, Windows 10 SDK, and CMake/Ninja components.
- CMake ≥ 3.25 and Ninja ≥ 1.11.
- LLVM/Clang-cl is used by ReXGlue for the recompiled translation units; install LLVM and put
clang.exe/clang-cl.exeonPATH. - The ReXGlue SDK installed somewhere on disk.
- A legal copy of Silent Hill: Downpour (
title id 4B4E0823, hash7A3D5809776EE6AB).
DownpourRecomp consumes the SDK as an installed CMake package. One-time, ~10 minutes:
git clone https://github.com/rexglue/rexglue-sdk.git
cd rexglue-sdk
cmake --preset win-amd64-relwithdebinfo
cmake --build out/build/win-amd64 --config RelWithDebInfo --target installThe install prefix defaults to out/install/win-amd64/.
DownpourRecomp/
assets/
default.xex ← your XEX, not in this repo
.gitignore blocks accidental commits of *.xex, *.iso, *.god, *.dlc, etc.
rexglue codegen --manifest downpour_manifest.tomlTranslates the PPC code into C++ under generated/default/ (~280 MB, excluded from git).
cmake --preset win-amd64-relwithdebinfo \
-DREXGLUE_DIR="<path-to-rexglue-install>/lib/cmake/rexglue"
cmake --build out/build/win-amd64 --config RelWithDebInfo --target downpourProduces downpour.exe. Copy rexruntimerd.dll from the SDK install next to it.
The runtime needs the full game file tree (the XEX alone is not enough). Point at it via game_data_root in downpour.toml or --game_data_root CLI.
- 📜 Chromatic-noise fix — full RenderDoc Pixel History backward trace from the noisy swapchain pixel to the divergent depth → 7e3 ownership transfer (EID 9506), the narrow one-direction cvar that resolves it, and a "what NOT to retry" dead-ends list.
This repository contains:
- Recompiled game codegen output: function tables, vtable address fix-ups, indirect-call targets discovered at runtime (
downpour_config.toml). - A thin
DownpourAppshell that overrides ReXApp hooks for Downpour-specific behaviour. xenia_patches.toml— optional game patches (Unlock FPS, force 16x AF, disable FXAA, show FPS counter — reference-only in this port; see FAQ).
- The Xenia team — the entire D3D12 GPU backend that ReXGlue derives from is their work.
- The ReXGlue SDK maintainers for the static recomp tooling.
- The static-recomp recipe pioneered by N64: Recompiled and followed by Sonic Mania: Recompiled, Skate 3 Recomp, and Deadly Premonition Recomp (DPRecomp).
This repository contains no Konami or Vatra Games assets, no game code, no game data, no game audio. It is original code (build configuration, codegen metadata, application shell) that targets a separately-supplied legally-owned copy of Silent Hill: Downpour for personal use under the user's own jurisdiction's fair-use / private-copy provisions.
Do not distribute the game executable, game data, or any binary that links against game data. Pull requests that include game content will be rejected.
Code under this repository is released under the BSD 3-Clause license — see LICENSE.
The license applies only to the host-side source under src/, build scripts, CMake files, TOML configs, and documentation. The recompiled game code produced at build time (generated/default/) is derived from the copyrighted Silent Hill: Downpour binary and is not covered by this license.
Related projects by the same author: DPRecomp — Deadly Premonition (PC port)


