Skip to content
/ Junie Public

Libretro frontend that runs entirely in your browser!

License

Notifications You must be signed in to change notification settings

Namaneo/Junie

Repository files navigation

Junie

Junie is a libretro frontend that aims to run entirely in your browser, desktop or mobile!

  • No installation on the end-devices.
  • Near-native performances thanks to WebAssembly.
  • Wide range of supported/compatible cores (... soon).
  • Progressive Web Application entirely accessible offline.

Junie currently runs on most recent browsers, but your experience will probably be better on Chrome and Safari.

Try it here!

Disclaimer: development is still in progress. I'll try my best not to break anything between releases (especially regarding local save files), but it's probably a good idea for you to backup your saves before each update.

Supported features

  • All the systems described in the Folder structure.
  • Save files and cheats (stored inside your browser's storage).
  • Core-specific configurations override.
  • Multi-touch controller with either a D-pad.
  • Touch inputs for the Nintendo DS, when the gamepad is hidden.
  • Save and restore states, backup and restore save files.
  • Fast-forward up to 4 times the original speed.
  • Minimalistic platform-specific user interface.
  • Entirely running offline from your homescreen.

Folder structure

Games must be organized as follows, inside a games folder next to the application binaries:

games
├── Game Boy
├── Game Boy Color
├── Game Boy Advance
├── Nintendo DS
├── Master System
├── NES
├── SNES
├── Mega Drive
├── Nintendo 64
└── PlayStation

Build & Run

Build

Install the following dependencies: yarn, make and zip, and build the application:

make       # Build cores, libraries and the application
make pack  # Same as `make`, but also outputs binaries in a zip file
make watch # Same as `make`, but also rebuild on source file changes

# Additional flags:
# * DEBUG=1   : build app and ui in debug mode
# * UI_ONLY=1 : rebuild only on UI changes when watching
# * QUIET=    : enable verbose build mode

Docker

If you prefer to use Docker, no need for any local dependencies:

docker run \
    -d --rm \
    --name junie \
    -p 8000:8000 \
    -v /path/to/games:/junie/games \
    namaneo/junie

Credits

License

Junie is licensed under the GNU General Public License v3.0.