JavaScript is required

Building RetroArch Cores

Instructions have only been confirmed working for Debian and Fedora. Ubuntu, and Ubuntu based distros are often iffy.

Debian:

Bash
$sudo apt install -y binutils-mips-linux-gnu build-essential pkgconf python3 git p7zip-full
Click to copy

Fedora:

Bash
$sudo dnf groupinstall "Development Tools" "Development Libraries"
Click to copy


Note: On debian/debian based distros, it is highly recommended to add this debian repository, this repository contains the newest verision of emscripten that is confirmed to work with EmulatorJS. After adding the repository, you can install by running sudo apt install emscripten.

To install emscripten, run this command. Note this will only temporarily add emscripten to your path. Follow the on screen directions when it finishes to make this permanent.

cd; && \
git clone https://github.com/emscripten-core/emsdk.git .emsdk && \
cd .emsdk && ./emsdk install latest && ./emsdk activate latest && source ./emsdk_env.sh


It is highly recommended to use this script to compile the cores. It will compile every core and package them for you.



LibRetro "Cores"

  1. Clone the repository.
    git clone https://github.com/libretro/libretro-fceumm.git
    

  1. The next steps depend on whether or not you have a Makefile.libretro file.
    • Navigate to the folder with the makefile. If it is not in the base directory, look for a folder named libretro.

    With

    • Build with:
      emmake make -f Makefile.libretro platform=emscripten
      

    Without

    • Build with:
      emmake make platform=emscripten
      

  1. Copy the .bc file to the RetroArch /dist-cores/ directory and continue to build the wasm files.


WASM

  1. Clone the repository.
    git clone https://github.com/EmulatorJS/RetroArch.git
    

  1. Navigate to /dist-scripts/

  1. Build with:
    emmake ./dist-cores.sh emscripten
    

  1. Builds will appear in ../EmulatorJS/data/cores.

Table of Contents