PS2

PS2 Web Recomp Games List: What Runs Today

The project brings games up one at a time through its scripted pipeline. Two titles are verified playable in the browser so far — chosen because they’re among the most demanding games on the system, which makes them the hardest possible early proving ground.

Verified playable games

Gran Turismo 4

Playable — full speed
Frame rate
50 fps (PAL release)
Resolution
2× native
Test hardware
Laptop integrated GPU (Chrome)

The first title brought up this way, and a deliberate stress test: it leans on both vector units, on exact floating-point behavior for replays and license tests, and on graphics tricks that read rendered images back as palettes.

It plays from boot through the opening movie, the menus and races, with music and sound effects — and it saves to a memory card kept in the browser.

God of War II

Playable — 60 fps combat
Frame rate
60 fps in heavy combat (native res)
Resolution
Native; 48–60 at 2×
Porting effort
Same script, no game-specific code

The second title went through the same pipeline with only generic changes — each problem it hit was a bug or gap the first game had simply never triggered: a recompiler bug in branch handling at unit boundaries, vector-unit timing precision, and missing parts of the I/O processor.

It now plays from the menus through its cutscenes into combat, holding 60 fps in heavy combat at the PS2’s resolution. At twice the resolution it runs at 48–60, limited by the laptop’s integrated GPU.

Game Status Frame rate Notes
Gran Turismo 4 Playable 50 fps (PAL) Boot → movie → menus → races, audio + browser saves
God of War II Playable 60 fps (native) Menus, cutscenes, combat; generic port, no game-specific code
Your game Try it — Most likely stops at an unimplemented syscall or graphics feature — see troubleshooting

Why so few games?

Static recompilation has to be done per game: the recompiler follows one executable’s control flow. Two factors decide how smoothly a new title comes up:

The good news: every gap a new game finds gets implemented once, for everyone. The pipeline itself — explore, discover entry points, translate, rebuild — is already automated, and a known game recompiles in minutes.

How to test your own game

You don’t wait for a compatibility list update: the pipeline runs on any disc image you own. The full walkthrough is in the step-by-step tutorial, and the quick version is:

scripts/port.sh mygame "My Game.iso"
python3 scripts/serve.py build/web-mygame games/mygame/disc.iso

Screenshots from the discovery runs land in games/mygame/shots, so you can see exactly how far your game gets.

Download & setup

Get the toolchain, understand what you’re downloading (and what you’re not), and check the requirements table.

Download page →