An Emscripten port of RetroArch has existed for years, but until recently, we never had a good opportunity to launch it in a state we felt comfortable with. Well, until now that is.
Web Player
So what is RetroArch Web Player? It’s a port of RetroArch that runs inside your web browser, powered by emscripten and asm.js. Most modern browsers available today should be compatible. That being said, we strongly recommend you use Google Chrome right now for smooth v-synced gameplay with no audio crackling.
You can check it out right here!
Your browser does not support iframes.
Dropbox support may not work in this embedded-player we added to this post, we haven’t enabled SSL on our main site and Dropbox doesn’t allow any sort of wildcard or regex on web apps.
You can also click on ‘Web Player’ in the top-right corner of the libretro.com website and in our itch.io page in order to use it.
Current state of the port
- Over 40+ libretro cores available
- Gamepad support via SDL2
- Hybrid filesystem including cloud syncing courtesy of BrowserFS. This filesystem stores userdata in one of two backends (browser application storage or Dropbox); assets are loaded synchronously from an online repository and cached by the browser for future usage
Known frontend issues
- Player 1 gamepads can sometimes control both player 1 and 2 at the same time in games that support 2 players.
- Guide button mapping is currently not available. We’re not sure if this is a limitation of the SDL2 input driver.
- Recent History doesn’t work yet.
- GLSL shaders don’t work (yet?).
Known core issues
- BlueMSX (MSX) currently doesn’t work.
- Craft core (Minecraft) currently hangs.
- Desmume core (Nintendo DS) currently doesn’t work.
- EasyRPG core (RPG Maker game engine) currently doesn’t work.
- FFmpeg core (Movie/music player) currently doesn’t work.
- Mupen64plus core (Nintendo 64) currently doesn’t work.
- PicoDrive core (Sega Genesis/32X) currently doesn’t work.
- QuickNES core (Nintendo NES) has slightly distorted graphics.
- Tyrquake core (Quake 1 engine) currently hangs at startup loading screen.
Special thanks
- Jvilk — for his excellent BrowserFS implementation and fixing a few bugs for us immediately when they were reported
- RobLoach — for his work on the template
- Twinaphex — for his tireless work on RetroArch and the cores
- ToadKing — for the initial emscripten port and some fixes he sent on our way recently
- Radius — for something? idk I did some work I think