gow3_pc README

The project's README from github.com/FelipePrado0/gow3_pc. As one markdown file: README.md.

God of War III Remastered for PC

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.

What works

Download and play

You need

Steps

  1. Download gow3-windows.zip from the Releases page.
  2. Extract it to a folder of your choice, for example C:\Games\gow3-windows. Do not run it from inside the zip.
  3. Open God of War III.exe. If Windows shows "Windows protected your PC", click More info, then Run anyway: the program is not digitally signed.
  4. Click Choose the game folder. It takes you to the Game page. Next to Game folder, click Browse… and select the folder with eboot.bin.
  5. Back on Home, the cover art and "CUSA01623 · version 01.02" appear. Adjust Quick settings if you like: display mode, frame rate limit, render resolution and engine frame rate.
  6. Click PLAY. The first start takes a little longer while the game image is prepared. The next starts are quick.

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

If something goes wrong

Linux (AppImage, experimental)

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.

Requirements

Building from source

Development happens on the gow3 branch; main receives tested merges.

  1. Install MSYS2 (winget install MSYS2.MSYS2) and, in the MSYS2 CLANG64 shell, the packages listed in packaging/windows/README.md.

  2. 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
    
  3. Start the launcher (in PowerShell, in the project folder):

    python launcher/gow3_launcher_win.py
    
  4. 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.

Keyboard controls

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.

Tests

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

How it works

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.

Credits

This project is a fork of Supermedo's Windows port, which builds on deadinside28's original:

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.

License

GNU GPL v2 or later (LICENSE). Third-party components keep their own licenses.

gow3_pc (FelipePrado0/gow3_pc)

patcher
Searching Database…

3.2K ·GitHub
What is this?A Windows (and experimental Linux) port of God of War III Remastered, a PlayStation 4 game, that lets you run your own legally-owned copy of the game on a PC with a launcher, in-game menu, cheats and performance patches.
Is this an emulator?No, the CPU side is not emulated: the original PS4 executable runs directly on the PC CPU since both use x86-64, with a custom runtime replacing PS4 system libraries. Only the graphics side is translated, using shadPS4's video core to convert PS4 GPU commands and shaders to Vulkan.
How do I get it running?Download gow3-windows.zip from the Releases page, extract it to a folder, run God of War III.exe, then click 'Choose the game folder' and select the folder containing eboot.bin. Click PLAY once the cover art appears.
Do I need to provide the game files myself?Yes, no game files are included. You need your own dump of God of War III Remastered (a folder with eboot.bin, scemodule and scesys), tested with CUSA01623 and CUSA01715, versions 01.00 and 01.02.
Will this run on any Windows PC?No, you need a 64-bit CPU with the PS4's instruction sets (AVX, F16C, BMI1, MOVBE, LZCNT), meaning Intel Haswell or newer, or AMD Ryzen or newer, plus a GPU with up-to-date Vulkan 1.3 drivers. Some render resolutions other than native 1080p also have texture glitches that are still being fixed.
Does this work on Linux too?Yes, there's an experimental Linux build distributed as an AppImage, using the same native runtime and launcher; it has been tested on Arch Linux with an AMD Radeon RX 7800 XT under Wayland.
What are the legal terms around this project?The repository is GPL-2.0 licensed, but the project explicitly states it is not affiliated with Sony Interactive Entertainment or Santa Monica Studio, and no copyrighted game files are distributed with it.
Can I use cheats while playing?Yes, the in-game menu (Insert key or R3+L2) offers infinite health/magic cheats, orb and damage multipliers from 0.1x to 100x, and an enemy health bar.
What controllers are supported?DualSense, Xbox and other controllers work through SDL3 alongside the keyboard at the same time, and both input methods are remappable from the launcher's Controls page.
How well does it perform?On a test rig with an RX 6700 XT and Ryzen 5 5600X it averages 144 FPS at 1080p with the 240 FPS patch, and 108 FPS at 4K using FSR 1 upscaling.
What happens if something goes wrong at startup?A black screen at launch is usually fixed by clearing the shader cache from the Advanced menu; other issues can be diagnosed from the launcher's Log page or by sharing the user/lastrun.log file.
Size
5.1 MB
Stars
3.2K
Age
10d
Commits · 90 Days