Inspired by RetroPie/recalbox/Lakka, I've modified LE to allow for proper emulator gaming without any addons. I've focused on picking the best cores for each system and optimizing them as much as possible. I don't care to include every emulator under the sun, only the most popular ones that perform good. I prefer libretro cores, but if the standalone version is much better I will use that instead.
* Based on LibreELEC (somewhere around 9.2)
* Kodi GL/GBM on Generic, otherwise GLES/GBM
* Sway tiling compositor
* Linux 5.3
* Built with GCC 9.2 using -O2, LTO and target optimization
* F2FS/BTRFS/XFS support
* Emulationstation (RetroPie fork)
* Libretro cores: desmume, dolphin (generic), dosbox-svn, fbalpha, mame2003-plus, mame2016, mgba, mupen64plus, pcsx_rearmed (rpi2/xu4), ppsspp, puae, quicknes, flycast, scummvm, snes9x, snes9x2010, vice_x64, yabasanshiro (xu4), beetle-psx (generic)
* Standalone emulators: RPCS3 (Qt 5.14), PCSX2 (Arch docker container)
* Plymouth boot splash
* Pulseaudio/BlueZ set up to accept A2DP (works in-game!)
* Utilities: scraper tcpdump rsync unrar p7zip cgroup-tools sdl-jstest mediainfo file chdman strace screen
* Services: Docker, Transmission, SABnzbd, ttyd, Plex, AutoFS
Odroid XU3/XU4 specific features:
* Uses Weston instead of Sway
* Odroid WiFi/Bluetooth module works out of the box
* USB IRQs assigned to big cores
* htop enhanced with big.LITTLE support
* big.LITTLE cgroups (emulators are run exclusively on the big cores)
Default root password is "retroelec".
How to ask for support:
Make sure your issue is reproducible on a clean install then post the zip file from the logshare together with information about your hardware.
Note to anyone cloning my project: I like to rebase my changes from time to time to get a clean history. This means your local clone will be out of sync when I do. In that case you can do "git fetch origin && git reset --hard origin/emu" to update, but stash any local changes you have first if any.
Accessing NFS/SMB shares have never been easier. Mounting and unmounting is no longer necessary, simply access your shares like so:
# ls -l /auto/nfs/server/share/
Point your Emulationstation or Kodi sources to the corresponding directory in /auto and the rest is taken care of by the AutoFS daemon.
RA will run in KMS mode by default if your GPU supports it. To disable it do this in a terminal:
# touch /storage/.cache/services/kms.disabled
To start them do "systemctl enable service ; systemctl start service" in SSH, where service is either "transmission", "sabnzbd", "plex" or "ttyd-oem"
Out of the box it will look for roms in /storage/roms. BIOS files are under /storage/roms/bios. Configured input controllers are DS4 (bluetooth) and keyboard, others can be configured from the menu (right ctrl).
Keyboard bindings for Emulationstation
Run Docker ARM containers on x86_64
How to build through Docker
My build container is built from base/archlinux with the minimal package set needed for building.