timboat/demons-souls-recomp
GamesNative Windows port of Demon's Souls built from your own PS3 disc image via static recompilation.
What it is
This project statically recompiles the PS3 version of Demon's Souls (USA, BLUS-30443) from PowerPC and SPU code into C/C++ using ps3recomp, then builds a native x64 Windows program with a Direct3D 12 renderer. It is not an emulator, and no game files are included: you supply your own disc dump, and the setup extracts, decrypts and compiles everything on your PC.
It targets players who own the USA disc and want to run the game natively on Windows, plus users willing to build it and report performance issues. A Linux/Steam Deck path exists through an AppImage that builds the same port and runs it under Proton.
Quick start
Requirements: Windows 10/11 x64, a Direct3D 12 GPU, about 14 GB free space, and a disc image of the USA release (.iso, Redump .zip, or a disc folder with PS3_GAME). An encrypted image without a .dkey needs the public disc key from Redump's page for this disc.
- Download the newest release ZIP from Releases and unpack it into a plain path without
[ ]or&, e.g.C:\Games\DemonsSouls. - Run
DemonsSoulsLauncher.exeand press PLAY; it offers to runSETUP.batwhen nothing is built yet. Alternatively drag your image ontoSETUP.bat. - Answer the setup prompts: disc image path, disc key if needed, permission to download RPCS3 (used once to decrypt
EBOOT.BIN), portable Python/Git/LLVM toolchain if not installed, and acceptance of Microsoft's runtime/SDK license for xwin. - Wait for All done, then press PLAY.
The setup extracts game files to game/, decrypts EBOOT.BIN, fetches ps3recomp at its tested commit, recompiles about 94,000 PPU functions and 12 SPU programs into port/, applies the port's patches, and compiles the result with clang-cl. The first compile takes roughly 10–30 minutes on a fast 16-core machine. A development log records fixes and measurements.
Playing and options
The launcher groups frame rate, internal resolution, game variant, fullscreen, movies, god mode, frame-timing recording, texture dumping and CPU affinity in one window, saved to launcher.ini. PLAY.bat alone starts at 60 fps (or 50 on a ~100 Hz screen); the same options can be set with environment switches such as DES_FPS=, DES_RES_SCALE= and DES_GAME=. Mouse and keyboard or an XInput controller are supported, and button icons switch to match the last input device.
Optional add-ons include the fromsoftserve PC Remaster mod (installed from its own zip with tools\install_remaster.py), texture replacement via dumped PNGs in textures\replace\, and model export/import to glTF through tools\flver_tool.py, which edits a hard-linked game_mod/ copy and leaves game/ untouched.
Constraints
- Only the USA disc (BLUS-30443) is supported; other regions or updated
EBOOT.BINversions need different patches. - Above 60 fps there are known issues such as audio drift and wrong run speed; 60 fps (or 50 on a 100 Hz screen) is the recommended setting. Online play is not implemented yet.
- Windows Sandbox and virtual machines can make RPCS3 crash before decrypting; decrypting on another PC and copying
EBOOT.elfis the documented workaround. - Game logs grow by about 600 MB per hour and frame-timing recordings by about 25 MB per hour; recording can be disabled.
- Built game files, saves and logs must not be committed or shared. The project's own code and patches are MIT-licensed, but the game assets belong to Sony Interactive Entertainment / FromSoftware and are not distributable with the repo.
HotRepo's take
On 2026-11-04 the project appeared on HotRepo's new-project list for Python with a net gain of 17 stars across a four-hour window, reaching 117 stars. That is an early signal from a niche port rather than a stability claim: the README itself describes an in-progress full playthrough, known frame-rate bugs above 60 fps and ongoing low-end performance work. The project's real value is the reproducible toolchain — extraction, decryption, static recompilation and patch application wrapped in SETUP.bat and a launcher — not a prebuilt game download.
Written by AI from the project's README, updated . The project's own docs are the source of truth.