Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

gamboozino/ng2recomp

Games

A native Linux and Windows port of Ninja Gaiden II, statically recompiled and rendered with Vulkan.

116
0
C++
GPL-3.0
7 days old

Project overview

This is a native Linux and Windows port of Ninja Gaiden II (Xbox 360, 2008), produced by statically recompiling the game's PowerPC code to run directly on a PC rather than through an emulator. It is built on the ReXGlue SDK, and a custom Vulkan renderer takes over the game's Direct3D calls instead of emulating the Xbox 360 GPU README lines 3–20.

The project ships none of the game's data. On first start it asks for your own copy of the game — a disc image, a Games on Demand package, or an extracted folder with default.xex — plus the required Title Update 3 544307D5. Mission Mode and costume DLC are optional. It targets the World release, title ID 544307D5.

Beyond fidelity, the port adds PC-oriented options inside the game's own menus: render scale from 1x to 8x, MSAA up to 8x, anisotropic filtering, 16:9 through 32:9 and 4:3 aspect ratios, keyboard and mouse with matching button prompts, input-latency and frame-pacing controls, cheats, cutscene skipping, a mods folder, and a set of options inspired by alicenotmech's Master Edition README lines 21–40. Shaders are translated to SPIR-V at build time; render pipelines are prepared in the background and cached in ng2-pipelines.bin to reduce first-appearance stutter README lines 64–81.

The author reports a Steam Deck LCD benchmark in Chapter 1's first fight: the port held an average of 60.0 fps with a 1% low of 57.4 fps and drew 10 W, against 55.4 fps average, 20.3 fps 1% low and 22 W for Xenia Edge at defaults README lines 41–63. These are the author's measurements on one device, not an independent test.

Getting started

For Linux/Steam Deck, download NinjaGaiden2-x86_64.AppImage from the releases page, make it executable, and run it. On first start it offers portable mode, then asks for the game, Title Update 3, and optionally the DLC folder. On a Steam Deck, add the AppImage as a non-Steam game and choose 16:10 in the in-game RECOMP SETTINGS → Display README lines 104–121.

For Windows, download NinjaGaiden2-windows-x64.zip from the releases page, extract it, and run ng2.exe; the first-start prompts match Linux README lines 122–132.

Both packages include SSE4.2 and AVX2 builds, and the faster one is selected automatically; set NG2_NO_AVX2=1 to force the SSE4.2 build. A copied game, saves and ng2.log go to ~/.local/share/ng2-recomp on Linux or %LOCALAPPDATA%\NinjaGaiden2 on Windows; ng2.toml, the game folder and ng2-pipelines.bin go to ~/.config/ng2-recomp on Linux or the same Windows directory. A portable.txt file next to the binary switches everything to a userdata folder beside it README lines 133–146.

To build from source, you need clang 20+, CMake 3.25+, Ninja, Python 3, Vulkan headers and loader, and FFmpeg libraries. The flow is: clone the ReXGlue SDK at v0.10.0 and apply the port's patches, do the same for XenosRecomp and plume, extract the disc with tools/xdvdfs_extract.py, extract Title Update 3 with tools/stfs_extract.py, then build and run out/build/linux-amd64-release/ng2 --game_data_root=game_files README lines 264–329.

Usage constraints

  • You must own the game and supply the World release and Title Update 3 yourself; the Japanese release's Title Update 3 is refused README lines 84–103.
  • The port needs a 64-bit CPU with SSE4.2 and a GPU with Vulkan 1.3 drivers.
  • Linux needs glibc 2.35+ and Python 3; first-start dialogs use kdialog, qarma or zenity, or fall back to the terminal README lines 104–121.
  • Windows 10/11 64-bit is required.
  • Frame Pacing Auto and Input Latency Low need VK_KHR_present_wait; without it they behave as Timer and Standard. In the Steam Deck's Game Mode, Auto and Low behave as Timer and Standard README lines 147–193.
  • Mods replace files under a mods folder and are read in folder-name order, so two mods replacing the same file come down to the first folder's file README lines 194–222.
  • The project is GPL-3.0-or-later, and bundled third-party parts keep their own licenses README lines 353–359.
  • Known issues include slight audio delays in some cutscenes; testing has covered a Linux desktop, the Steam Deck, Proton, and a Windows 11 VM, with real Windows hardware less covered README lines 246–255.

HotRepo's take

The repository has one HotRepo new-project snapshot on 2026-11-06, in the C++ new list: 107 stars and 7 gained over a two-hour observation window, with no forks. The daily star curve confirms a jump from 100 to 107 within that hour. With no GitHub daily rank recorded and such a short window, the data supports only a one-day observation, not a trend. What stands out is the combination of a usable technical write-up, a measured benchmark against Xenia Edge, source-build instructions, and multiple companion docs — enough for readers to judge the port on its own claims rather than on its stars.

Written by AI from the project's README, updated . The project's own docs are the source of truth.