Skip to content

Instantly share code, notes, and snippets.

@joeldenning
Last active December 17, 2022 21:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joeldenning/5b9ce00567edb3996c9114a4b41341dd to your computer and use it in GitHub Desktop.
Save joeldenning/5b9ce00567edb3996c9114a4b41341dd to your computer and use it in GitHub Desktop.
K Rule Odroid Steps

Steps to create offline emulator with Odroid

This gist assumes you have an odroid n-2, micro sd card, usb keyboard/mouse, power cable, wired internet, HDMI cable, computer monitor, and a Windows computer (with some way to connect the micro sd card).

Part 1 - On another computer (I use Windows)

(See https://ameridroid.com/blogs/ameriblogs/flashing-emmc-or-microsd-card for instructions)

  1. Download and install balenaEtcher - https://www.balena.io/etcher/
  2. Download Ubuntu operating system image for odroid. The MATE desktop lets you use a mouse. The file you download should have a .img.xz extension. https://wiki.odroid.com/odroid-n2/os_images/os_images
  3. Insert SD card. Use balenaEtcher to flash the drive with the ubuntu image.

Part 2 - On the odroid itself

  1. Verify the odroid can boot up ubuntu. To do this, insert the microSD card and then the power cable. The LED lights on the odroid will be red/blue when it works.
  2. Connect keyboard/mouse via usb. Connect ethernet cord.
  3. The default username and password for this Ubuntu image is odroid / odroid.
  4. Open MATE Terminal by clicking on top left menu and searching for it.
  5. Update all dependencies.
sudo apt update && sudo apt upgrade
  1. Create a directory where you will compile things. I call it code
mkdir ~/code
cd ~/code
  1. Install dependencies required by GLide64. https://github.com/gonetz/GLideN64/wiki/Build-From-Source-(Linux)
# Note that GLide wiki encourages libpng16-dev but that one is deprecated and replaced by libpng-dev
sudo apt install git gcc g++ cmake build-essential libpthread-stubs0-dev libgl1-mesa-dev libx11-dev libfreetype6-dev zlib1g-dev libpng-dev
  1. Clone the libretro repo:
git clone https://github.com/smash64-dev/mupen64plus-libretro-nx.git
cd mupen64plus-libretro-nx
  1. Change to the raphnetraw branch
git checkout raphnetraw
  1. Modify Makefile so that HAVE_RAPHNET_INPUT ?= 1. I do this with vi Makefile but if you don't know vim maybe try a different text editor. Also, change GL_LIB to -lGLESv2 rather than -lGLESv3 within the ODROID section. FOr me rn this is line 249 of the Makefile
  2. Build mupen64plus-libretro-nx. Note that this can take 10+ mins. Do make clean after changing any build configuration (makes it a slower build, but more likely to work).
make clean
make BOARD=N2 platform=odroid64
  1. Install retroarch
sudo add-apt-repository ppa:libretro/stable && sudo apt-get update && sudo apt-get install retroarch
  1. Download the .info file that helps RetroArch know about Mupen as a "core"
wget -O mupen64plus_next_libretro.info https://raw.githubusercontent.com/smash64-dev/SmashELEC/smashelec/packages/smashelec/mupen64plus-nx-se/config/mupen64plus_next_smash_libretro.info
  1. Download the ROM(s) you want to play. I like putting them in google drive and then typing in the link manually in odroid firefox to do this. They can be stored anywhere.
  2. Plug in raphnet adapter.
  3. See if the game loads and controller functions
retroarch -L mupen64plus_next_libretro.so ~/Downloads/ROMNAME.z64
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment