The project's README from github.com/FelipePrado0/gow3_pc. As one markdown file: README.md.
English | Português (Brasil)
A PC port of God of War III Remastered (PlayStation 4) for Windows 10 and 11.
The CPU side is native: the game's original executable runs directly on the PC's processor (the
PS4 uses the same x86-64 architecture), and a runtime written for this game replaces the PS4
system libraries, so there is no emulator. The graphics are translated: they run on the
shadPS4 video core, which converts the PS4 GPU commands
and shaders to Vulkan, with the God of War III rendering fixes from
cuesta4's eltutz branch. Running the game code
directly on the CPU is also how shadPS4 works; what this project changes is the system layer and
the game-specific work (patches, background shader cache, launcher and in-game menu).
It is a fork of Supermedo's Windows port of
deadinside28's bloodborne_pc (see
Credits).
No game files are included. You need a dump from your own PS4 (tested: CUSA01623 and CUSA01715, versions 01.00 and 01.02). This project is not affiliated with Sony Interactive Entertainment or Santa Monica Studio. God of War is a trademark of Sony Interactive Entertainment.
On the test machine (AMD Radeon RX 6700 XT, Ryzen 5 5600X, 32 GB) the game runs at 144 FPS on average (55 to 240) at 1080p with the 240 FPS engine frame rate, and at 108 FPS on average at 4K with FSR 1.
Tested and playable from start to finish at native 1080p with the 240 FPS engine frame rate. At other render resolutions some textures look broken; a fix is in progress.
Progress is tracked (in Portuguese) in docs/gow3/ROADMAP.md.
You need
eboot.bin,
sce_module and sce_sys. Tested: CUSA01623 (US) and CUSA01715 (EU), versions 01.00 and
01.02 (full update). Other regions and versions may work but are untested: if you try one,
please open an issue with your user/last_run.log. No game files are included in this download.Steps
gow3-windows.zip from the
Releases page.C:\Games\gow3-windows. Do not run it from
inside the zip.God of War III.exe. If Windows shows "Windows protected your PC", click
More info, then Run anyway: the program is not digitally signed.eboot.bin.Patches and fixes are included and applied automatically: texture fix, skip videos with X and 120 FPS are on by default. Change the resolution and frame rate on Home or Performance.
While playing
Next time
Play God of War III.exe starts the game straight away with your saved settings. You can
make a desktop shortcut to it, or add it to Steam with Add a Non-Steam Game.user folder next to God of War III.exe. Keep
that folder when you update.If something goes wrong
user\last_run.log with your report.The Linux build runs the same native runtime and the same launcher. It was tested on Arch Linux with a Radeon RX 7800 XT (RADV) in a Wayland session.
You need: a Vulkan 1.3 driver and your own dump of the game (CUSA01623, version 01.02).
Build and run
bash build.sh
bash packaging/linux/build.sh # needs PyInstaller, Tk and Pillow for Python, plus patchelf and curl
./dist/gow3-x86_64.AppImage
Choose the game folder in the launcher. --play starts the game with the saved options and no
window. From a source tree: GOW3_GAME_DIR=/path/to/CUSA01623 python3 run.py after bash build.sh.
~/.local/share/gow3; the launcher's
own settings in ~/.config/gow3-launcher.~/.local/share/applications/gow3.desktop when it starts, so
the launcher and the game window show their icon in the dock; Advanced → Linux turns it off and
removes the entry.packaging/linux/gow3.png when that
file exists at build time, and launcher/gow3.png otherwise.eboot.bin sha256 6e72330e…) and
the European title (CUSA01715): the patches and cheats find their sites by signature.STOP: this CPU lacks line in the log.eboot.bin, sce_module and sce_sys). Tested:
CUSA01623 and CUSA01715, versions 01.00 and 01.02.tools/make_signatures.py). A site that is not found leaves only that patch or hook off; the
game starts without it, and the log and the menu say why.pip install pillow, used for the game's icon and cover art).Development happens on the gow3 branch; main receives tested merges.
Install MSYS2 (winget install MSYS2.MSYS2) and, in the MSYS2 CLANG64 shell, the
packages listed in packaging/windows/README.md.
Clone the repository with its submodules and build:
git clone --recursive https://github.com/FelipePrado0/gow3_pc
cd gow3_pc
git checkout gow3 # the newest work; skip it to build main
bash build.sh
Start the launcher (in PowerShell, in the project folder):
python launcher/gow3_launcher_win.py
On Game, choose the game folder. Adjust Display, Performance and Patches if you like, then press PLAY.
To play with the saved settings without opening the launcher's window (for a shortcut or Steam):
python launcher/gow3_launcher_win.py --play
Or without the launcher at all:
$env:GOW3_GAME_DIR = 'D:\path\CUSA01623'
python run.py
Settings are kept in gow3.ini (the game and the in-game menu) and in
%APPDATA%\gow3-launcher\settings.json (the launcher). Saves, the shader cache and
last_run.log go to the project's user folder.
On Performance → GPU data → Stream buffer memory, choose System RAM (cached, default),
System RAM (uncached) or GPU memory (previous behavior). System RAM can improve frame
rates on NVIDIA laptops. The choice is saved and applies on the next game launch, including
when using Play God of War III.exe or --play. Choose GPU memory to restore the previous
allocation behavior. For direct launches without the launcher, GOW3_STREAM_MEMORY accepts
cached, host or device; the launcher's saved choice takes precedence when using it.
Defaults; change them on the launcher's Controls page.
| Key | Button |
|---|---|
| WASD | left stick |
| Arrows | right stick (camera) |
| Space | Cross |
| Left Shift | Circle |
| E | Square |
| Q | Triangle |
| 1 and 3 | L1 and R1 |
| R and F | L2 and R2 |
| Z and C | L3 and R3 |
| I, K, J, L | d-pad |
| Enter | Options |
| Tab | left touchpad click (photo mode) |
| Backspace | right touchpad click (pause menu) |
| Insert | the port's menu (R3+L2 on the controller) |
On a controller without a touchpad (Xbox and others), View opens the pause menu (the right touchpad click) and L1 + View opens photo mode (the left click). On a DualSense the touchpad works as on the PS4, and Share/Create works like View.
In the menu: L1/R1 or Q/E switch tabs. In the save list: arrows or the d-pad choose, Enter or Cross confirm, Esc or Circle cancel.
python -m unittest discover -s tests
bash build.sh --test
ninja -C out/gpu stat-multipliers-test perf-overlay-test warmup-inbox-test graphics-settings-test
out/gpu/stat-multipliers-test.exe out/eboot.elf
out/gpu/perf-overlay-test.exe
out/gpu/warmup-inbox-test.exe
out/gpu/graphics-settings-test.exe
The C++ tests are targets in gpu/CMakeLists.txt; the ones that check the
game's code take the prepared executable (out/eboot.elf) as their argument.
To check that every system function the game uses is implemented, without starting the game:
out/gow3-probe.exe out/boot-linked.bin --app0 <game folder> --check-imports
| Part | Where | What it does |
|---|---|---|
| Preparation | scripts/ |
Reads eboot.bin, applies its relocations and links the game's own libc and libSceFios2 into one image |
| Loader | src/probe.c |
Loads the image, installs the validated hooks (cheats, multipliers, health bar) and starts the game's original code |
| Runtime | src/runtime_*.c |
Reimplements the PS4 system functions: memory, threads, files, audio, video, controller, saves and services |
| GPU | gpu/shadps4/ |
The shadPS4 video core, translating the PS4 GPU commands and shaders to Vulkan, with cuesta4's God of War III fixes (eltutz branch) and this port's speed work (background shader cache, deferred readbacks) |
| In-game menu | gpu/shim/gow3_overlay.cpp |
The Dear ImGui menu and performance overlay; settings in gpu/shim/gow3_settings.cpp |
| Patches | patches/God_of_War_III_Remastered.xml, scripts/patches.py |
Applied in memory at start, without changing the game files |
| Launcher | launcher/gow3_launcher_win.py |
Settings, patches, mods, controls and the play button |
More documentation: mods, frame map and upscaler, parallel GPU work and the roadmap.
This project is a fork of Supermedo's Windows port, which builds on deadinside28's original:
eltutz). The game's rendering in this port depends on its fixes: the GNM blend
rewrite, depth/stencil state and image aliasing. cuesta4 is also a co-author of the
resolution, texture fix, 120 FPS and skip videos patches (below). If you play on shadPS4,
this is the build to use for God of War III.Patches: kvicken and cuesta4 (resolution, texture fix, 120 FPS and skip videos, building on the PS3 patches by illusion0001), published for shadPS4 in shadps4-emu/ps4_cheats#145 and adapted to this executable. The 240 FPS patch was adapted by Felipe Prado from the 120 FPS patch. Cheats: adapted from Celogamez's GoldHEN cheats.
Also used: LibAtrac9, FFmpeg, SDL3, Dear ImGui, sirit, magic_enum, miniz, xbyak, Vulkan Memory Allocator, FSR-Vulkan and the AMD FidelityFX SDK, MSYS2, LLVM and Pillow.
GNU GPL v2 or later (LICENSE). Third-party components keep their own licenses.