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.2K ·GitHub
Что это такое?Порт God of War III Remastered — игры для PlayStation 4 — на Windows (и экспериментально на Linux). Он позволяет запустить вашу собственную легально приобретённую копию игры на ПК, причём есть лаунчер, внутриигровое меню, читы и патчи для повышения производительности.
Это эмулятор?Нет, процессор не эмулируется: оригинальный исполняемый файл PS4 выполняется на процессоре ПК напрямую, поскольку оба используют x86-64, а вместо системных библиотек PS4 работает собственная среда выполнения. Переводится только графика: видеоядро shadPS4 преобразует команды и шейдеры GPU от PS4 в Vulkan.
Как его запустить?Скачайте gow3-windows.zip со страницы Releases, распакуйте в папку, запустите God of War III.exe, затем нажмите 'Choose the game folder' и укажите папку с файлом eboot.bin. Когда появится обложка игры, нажмите PLAY.
Игровые файлы нужно приносить самому?Да, игровых файлов в комплекте нет. Нужен ваш собственный дамп God of War III Remastered (папка с eboot.bin, scemodule и scesys); проверены версии 01.00 и 01.02 для CUSA01623 и CUSA01715.
Это запустится на любом ПК с Windows?Нет, нужен 64-битный процессор с наборами инструкций PS4 (AVX, F16C, BMI1, MOVBE, LZCNT) — то есть Intel Haswell или новее, либо AMD Ryzen или новее, а также видеокарта со свежими драйверами Vulkan 1.3. Кроме того, у некоторых разрешений рендера, отличных от родных 1080p, пока бывают глюки с текстурами, которые всё ещё исправляют.
А на Linux это работает?Да, есть экспериментальная сборка для Linux в виде AppImage, с тем же нативным рантаймом и лаунчером; её проверяли на 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 в среднем 144 FPS в 1080p с патчем на 240 FPS и 108 FPS в 4K с апскейлингом FSR 1.
Что делать, если на запуске что-то пошло не так?Чёрный экран при запуске обычно лечится очисткой кэша шейдеров в меню Advanced; другие проблемы можно диагностировать на странице Log в лаунчере или по файлу user/lastrun.log.
Size
5.1 MB
Stars
3.2K
Age
10d
Commits · 90 Days