I’m porting PPSSPP to WebAssembly to test the limits of browser-native apps

Posted by roothunter-dev@reddit | programming | View on Reddit | 2 comments

I’ve been working on an experimental project: running PPSSPP in the browser through WebAssembly.

Demo: https://root-hunter.github.io/ppsspp-web/

Source: https://github.com/root-hunter/ppsspp-web
https://github.com/root-hunter/ppsspp-wasm

The goal is not just “emulation in a tab”, but exploring how far the browser can be pushed as a runtime for complex native-style applications.

This touches several interesting areas:

The project is still experimental and very browser/device dependent, but it’s already useful as a real-world stress test for WebAssembly beyond small demos.

Some of the questions I’m working through:

Important note: this is an unofficial PPSSPP WebAssembly/browser experiment. It does not include or link to games, BIOS files, ISOs, CSOs, ROMs, or copyrighted content. Users provide their own local files.

I’d love feedback from people who have experience with WebAssembly, Emscripten, browser storage, WebGL/WebGPU, or porting native applications to the web.

What would you focus on first to make this kind of browser-native port more stable and performant?