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)

Searching Database…

3.4K ·GitHub
这是什么?这是《战神 III 高清版》(God of War III Remastered,一款 PlayStation 4 游戏)在 Windows(以及实验性 Linux)上的移植版,让你用自己的正版游戏拷贝在 PC 上运行,并配有启动器、游戏内菜单、作弊功能和性能补丁。
这是模拟器吗?不是,CPU 部分并没有被模拟:由于 PS4 和 PC 都使用 x86-64 架构,原始的 PS4 可执行文件直接在 PC 的 CPU 上运行,由一个自研运行时来替代 PS4 的系统库。只有图形部分需要转换,即用 shadPS4 的视频核心把 PS4 的 GPU 命令和着色器转换成 Vulkan。
我怎么把它跑起来?从 Releases 页面下载 gow3-windows.zip,解压到某个文件夹,运行 God of War III.exe,然后点击“Choose the game folder(选择游戏文件夹)”,选中包含 eboot.bin 的文件夹。等封面图出现后点击 PLAY 即可。
游戏文件需要我自己提供吗?需要,项目本身不包含任何游戏文件。你得有自己导出的《战神 III 高清版》数据(一个包含 eboot.bin、scemodule 和 scesys 的文件夹),已在 CUSA01623 和 CUSA01715 的 01.00 和 01.02 版本上测试通过。
随便一台 Windows 电脑都能跑吗?不行,你需要一颗支持 PS4 所用指令集(AVX、F16C、BMI1、MOVBE、LZCNT)的 64 位 CPU,也就是 Intel Haswell 或更新的型号,或者 AMD Ryzen 或更新的型号,另外还要一块 Vulkan 1.3 驱动保持最新的显卡。此外,原生 1080p 以外的部分渲染分辨率仍存在纹理错误,目前还在修复中。
在 Linux 上也能用吗?可以,有一个以 AppImage 形式发布的实验性 Linux 版本,使用相同的原生运行时和启动器;已在 Arch Linux 上搭配 AMD Radeon RX 7800 XT 并在 Wayland 下测试过。
这个项目在法律上有什么说法?仓库采用 GPL-2.0 许可证,但项目明确声明与 Sony Interactive Entertainment 或 Santa Monica Studio 没有任何关联,也不会随项目分发任何受版权保护的游戏文件。
玩游戏的时候能用作弊功能吗?可以,游戏内菜单(Insert 键或 R3+L2)提供无限生命/魔法等作弊选项、0.1x 到 100x 的经验球和伤害倍率,以及敌人血条显示。
支持哪些手柄?DualSense、Xbox 及其他手柄通过 SDL3 工作,可以和键盘同时使用,两种输入方式都能在启动器的 Controls(控制)页面重新映射。
实际性能怎么样?在使用 RX 6700 XT 和 Ryzen 5 5600X 的测试机上,启用 240 FPS 补丁后 1080p 下平均 144 FPS,4K 下使用 FSR 1 放大可达 108 FPS。
启动时出问题怎么办?启动时黑屏通常可以在 Advanced(高级)菜单里清除着色器缓存来解决;其他问题可以通过启动器的 Log(日志)页面排查,或者把 user/lastrun.log 文件分享出来求助。
Size
6.2 MB
Stars
3.4K
Age
11d
Commits · 90 Days