SamiEnazi Vulkan Port Setup, PGO & Graphics

SamiEnazi/infamous2-port (v0.5.7) compiles your legally owned PS3 copy of inFAMOUS 2 into a standalone Vulkan executable for Windows 10/11 (and Linux via ./setup.sh). It requires zero admin privileges, installs nothing into Windows registry keys, and reaches 99 to 166 fps at native 1080p.

+14-26% FPSNative AVX2 C kernels for heavy SPU jobs
+5-11% PGOAutomated 6-minute profile-guided training
720p to 4KFull-res fire/smoke & 70-130% FOV slider
PlayStation 3 Slim console and DualShock 3 controller hardware
Users supply their own legally owned PS3 disc (BCUS98125, BCES01143, BCES01229 + 1.04) or PSN digital 01.03 copy prepared in RPCS3 with Sony PS3 system software.

Prerequisites & one-click Setup.exe build stages

Before running Setup.exe, launch your legally owned copy once in RPCS3 to the main menu so the game creates its 2.4 GB HDD data cache, and ensure update 1.04 (or PSN 01.03) is installed.

~3 min First, fetch 40 MB port & 1.3 GB portable LLVM/MSVC tools
~5 min Second, decrypt 1.04 EBOOT via RPCS3 & lift PPU/SPU to C++
15-45 min Third, compile native x64 binary + AVX2 SPU Edge kernels
10-25 min Fourth, optional PGO 6-min auto-run & optimized re-link

Internal NTFS folder & PSN 01.03 layout

Place Setup.exe inside an internal NTFS drive folder such as C:\Games\inFAMOUS2 with at least 15 GB free during build (~7 GB retained afterward so future F2 -> Update patches compile in minutes). Avoid exFAT or FAT32 USB drives: Windows cannot create directory links there, forcing fallback to %LOCALAPPDATA%\inFAMOUS2-port.

If you own the PSN digital edition (NPUA80638 or NPEA00318 version 01.03), create a folder containing a PS3_GAME subfolder, copy PARAM.SFO, ICON0.PNG, and USRDIR from RPCS3's dev_hdd0\game\<ID> into PS3_GAME, and select that folder in Setup.

How Optimise for this PC (PGO) & SPU jobs work

By default, Optimise for this PC is ticked in Setup. After the initial compile, the game opens muted and plays a scripted benchmark loop on your hardware for roughly six minutes while collecting branch and cache-miss telemetry, then re-links a faster executable (+5% to +11% higher city FPS).

Combined with native AVX2 C ports of Sucker Punch's heaviest SPU jobs (Edge geometry skinning, culling, vertex decompression, BSP polygon clipping, and render-list building in natives/spu/), slow frames above 16.6 ms in the opening battle dropped from 770 to 121 on a 4-core CPU cap.

Vulkan graphics, F2 overlay & hotkeys reference

Press F2 (or hold L3+R3 on any gamepad) at any moment to tune rendering, remap controls into input.toml, or switch between Hero (blue) and Infamous (red) UI themes.

FeatureMenu Path / ShortcutTechnical Behavior
Internal ResolutionF2 -> Graphics -> Internal resolution720p, 1080p (default), 1440p, or 4K (~66 fps on RTX 2070 Super; glow/blur preserved above 720p)
Triangle Culling FixF2 -> Graphics -> Triangle cullingAt the render resolution prevents mesh holes on faces above 720p without disabling Edge culling
Field of View & AspectF2 -> Display -> Camera / Aspect ratio70%-130% FOV slider (aiming & cutscenes preserved); Auto, 21:9, 32:9 (5120x1440), 16:10
Depth of FieldF2 -> Graphics -> Game effectsOn (PS3 look), Off in gameplay (keeps cinematic cutscene focus), or Off everywhere
Enhanced Lighting & F3F2 -> Lighting / press F3 liveSoft sun shadows, full-res SSAO, de-banded gradients, Kuo dock shadow-offset fix; F3 flips to PS3 look
HD Fire, Smoke & PacksF2 -> EffectsReplaces PS3 512x288 quarter-res fire/sparks with full render resolution + loads PNG/DDS texture packs
Direct Mouse CameraF2 -> Controls -> Mouse cameraDirect 1:1 mouse turn (bypasses PS3 virtual stick speed cap) with separate hip & aiming sensitivity

Launcher tip: To add the built game to Steam or Playnite with working Steam Input and overlay (#29), point your launcher to work\port\build\Infamous2Recomp.exe inside the port directory. Create an empty portable.txt file in the port folder if you want settings.ini, mods.ini, and spots.ini kept alongside the game rather than in %APPDATA%\inFAMOUS2-port.

Generate settings.ini & RPCS3 save copy commands

Select your disc ID and GPU vendor below to copy PowerShell commands for migrating saves and enabling Playnite/RPCS3 trophy sync.

Verified INI settings & directory paths
# SamiEnazi/infamous2-port (Vulkan v0.5.7)
# Settings Path: %APPDATA%\inFAMOUS2-port\settings.ini (or portable.txt in port root)
Disc / Edition:   BCUS98125 + Update 1.04
Saves Directory:  <port>\game\gamedata\dev_hdd0\home\00000001\savedata\
Trophies JSON:    <port>\game\gamedata\trophies\NPWR01730.json
RPCS3 Trophies:   <port>\game\gamedata\dev_hdd0\home\00000001\trophy\NPWR01730_00\TROPUSR.DAT
Mods Directory:   <port>\mods\<mod_name>\mod.json

# settings.ini (Desktop Vulkan 1080p / 1440p / 4K)
Internal Resolution: 1080p / 1440p / 4K (F2 -> Graphics)
Soft Shadows & AO:   Full-Res SSAO + HD Fire/Smoke (F3 compares PS3)
PS3_TROPHY_RPCS3_DIR=C:\Emulators\RPCS3
PowerShell, Bash & CLI helper commands
# Copy existing RPCS3 inFAMOUS 2 save folders into SamiEnazi port:
$rpcs3 = 'C:\Emulators\RPCS3\dev_hdd0\home\00000001\savedata'
$port  = 'C:\Games\inFAMOUS2\game\gamedata\dev_hdd0\home\00000001\savedata'
Copy-Item "$rpcs3\BCUS98125*" -Destination $port -Recurse -Force

# Sync earned trophies back into RPCS3 & Playnite Achievements:
Add-Content "$env:APPDATA\inFAMOUS2-port\settings.ini" 'PS3_TROPHY_RPCS3_DIR=C:\Emulators\RPCS3'

SamiEnazi backs up saves before every launch and writes TROPUSR.DAT.port-backup once before syncing NPWR01730 trophies into your RPCS3 folder.

Controllers for native PC, Deck & Mac builds

All four recompilation ports support hot-plugged USB and Bluetooth gamepads, dynamic PlayStation or Xbox button prompts, and virtual-pad deduplication when Steam Input or DS4Windows is active.

8BitDo Ultimate 2C Wireless Controller

Hall-effect sticks and analog triggers with low-latency 2.4G dongle and Bluetooth, auto-detected in SDL_GameControllerDB and XInput for New Marais aiming.

Check on Amazon

GameSir Super Nova Hall-Effect Gamepad

Drift-free Hall sensors, swappable face layout, and Switch/XInput modes supporting six-axis motion sensors and hotplug in bhuiyah D3D12 and SamiEnazi Vulkan.

Check on Amazon

8BitDo Pro 2 Bluetooth Gamepad

Symmetrical PlayStation-style dual sticks matching DualShock 3 thumb placement, plus rear paddles ideal for Static Thrusters hovering and Kinetic Pulse.

Check on Amazon

GuliKit KK3 Max Wireless Controller

TMR electromagnetic sticks and 1000 Hz polling rate built for 120+ FPS rooftop traversal across Windows 11, SteamOS Linux, and Apple Silicon macOS.

Check on Amazon

Affiliate disclosure: As an Amazon Associate, infamous2recomp.wiki earns from qualifying purchases at no added cost to you.

SamiEnazi Vulkan setup questions

Incremental updates, pipeline prewarming, and portable mode.

How do in-game updates work when a new release like v0.5.7 comes out?

At startup (at most once every six hours), the port checks GitHub's public API. When a newer tag exists, F2 -> Update lets you pick Update when I quit or Quit and update now. Because Setup retains the 2.6 GB build cache, incremental updates recompile only changed files in a few minutes while backing up saves to %LOCALAPPDATA%\inFAMOUS2-port\save-backups.

Why did first-session shader stutters disappear in v0.5.4+?

Earlier builds compiled uncached Vulkan pipelines synchronously on the render thread. Starting in v0.5.0 and expanded in v0.5.4, pipelines prewarm at the title screen (pipelines.rcp) and compile asynchronously on worker threads, cutting >50 ms first-session hitches from 13-25 per scene down to one.

Can I remove RPCS3 after Setup.exe finishes building?

Yes. Setup uses RPCS3 once to decrypt your 1.04 EBOOT.BIN and three PS3 system modules, copying the needed font and HDD files into the port folder. Keep your game disc folder in place (game\disc links to it), or keep RPCS3 if you sync trophies via PS3_TROPHY_RPCS3_DIR.