PS2 Web Recomp runs Gran Turismo 4 for the first time — 50 FPS on integrated graphics

The PS2 Web Recomp project has for the first time gotten a sixth-generation Sony game running without traditional emulation — that game was Gran Turismo 4. Emotion Engine code is converted to C++ in advance, and the game itself maintains the standard 50 FPS even on a laptop with integrated graphics.
First result
Authors of PS2 Web Recomp reported the first successful launch of a PlayStation 2 game via static recompilation, and that game turned out to be Gran Turismo 4. The approach differs from conventional emulators: instead of synchronous hardware substitution in real time, the Emotion Engine machine code is converted entirely into C++ in advance, and then this code is built into WebAssembly or a native binary on top of SDL and Vulkan.
Why GT4 specifically
The choice fell on the heaviest option for testing the tools. Gran Turismo 4 actively loads both PS2 vector units, relies on specific floating-point arithmetic, and uses non-standard tricks when rendering the image. If the recompiler handles such a set, other games should have a much easier path.
What already works
- Loading and interface: the game loads, shows the intro video and menu.
- Races: races run fully, not as a test scene.
- Sound: music and sound effects are present.
- Saves: writing to a virtual memory card is supported.
The PAL version delivers its proper 50 FPS even when the internal resolution is doubled — and all of this on a laptop without a discrete graphics card.
How to get it
There is no separate port build yet: the author does not distribute it. Those interested need to prepare their own disc image and process it themselves with PS2 Web Recomp tools; after local recompilation, the game can be run either as a WebAssembly version or natively via an SDL/Vulkan runner. Neither the game files nor the code generated from them end up in the project repository.
Follow emulation and retro racing news together with nfs.com.ru — share your opinion in the comments!
👉 Source: PlayGround.ru