LibreELEC-RR 9.x [ Emulationstation | Retroarch | Pegasus | DolphinQT | Moonlight | Chrome | Spotify ]

  • I. Introduction

    This fork comes with all stock LibreELEC 9.x features but also with 3 different emulation frontends which were integrated into the Kodi Estuary theme. They allow you to run several libretro & standalone emulation cores to play basically all games of the common home consoles, arcade & home computer systems of the last decades.

    There are several Linux distributions available like Lakka, Retropie, Recalbox or else but all of them are focused on either a single emulation frontend, come with a full featured (somewhat bloated) Linux system or lack standalone emulators for Generic systems.


    I really enjoyed Escalades LE 8.0 Remix which was an attempt to melt all good stuff into a single system but if you look into detail the 8.2.x base is pretty outdated. I've felt it's time to rebase the Remix build. The LE team overhauled the build system and there are pretty usefull features like git handler scripts that make it easier to build stuff without downloading the source everytime. I also wanted to take advantage of new Kodi 18 features and finally beeing able to watch my Amazon Prime VOD without using Chrome.


    I know there is ongoing work to integrate RetroPlayer but IMHO this Kodi feature will never be able to compete with standanlone emulation frontends like Emulationstation, Retroarch or Pegasus-Frontend. Also since the develeopers dropped DolphinWX support I had to find a solution for this problem. So here we are, I rebased, updated and adjusted the packages for LibreELEC 9.x, added Qt 5.x support for Dolphin, Citra etc. and fixed some non working stuff. Also you will find several tweaks and added cores to cover systems like the Atari ST, you'll be able to use the Vulkan API if your system supports it and you will enjoy nice additions like video previews and the ability to use themes for all frontends.

    II. Currently supported & unsupported devices

    Supported:

    • Generic AMD & Intel systems with IGP and/or discrete AMD or Nvidia GPU
    • Generic AML S905 devices
    • Khadas Vim (Amlogic S905X)
    • Odroid C2 (Amlogic S905)
    • Raspberry Pi 2B, 3B, 3B+

    Unsupported:

    • Amlogic S912
    • Rockchip based devices -> need a testing device first

    III. Important Notes

    • Read the FAQ
    • You'll need a system partition size of >512MB - you need to clean install my LibreELEC 9.x RR image!
    • Updating from any other LE8.x or LE9.x official or community build is not supported!
    • You can always downgrade to vanilla LibreELEC 9.x or try one of Milhouses builds if you run into basic, non-emulation related, problems.
    • This fork is focused on Emulationstation & Retroarch, not Retroplayer, Kodi-Game add-ons, Kodi-Game frontends nor any other stuff that is created for Kodi. You can still download and install them but they are not supported by me.
    • You can use Retroarchs online updater for assets like overlays, databases or controller configs etc. You can still download cores but don't expect them to run since the lakka buildbot/buildsystem is pretty dated.
    • All included emulators are tested on generic Intel i3-6100 & J3455, Raspberry Pi 3B & Khadas VIM(S905X) systems with at least one game and run fine. So read the FAQ

    IV. Bug reports / How to ask for support:

    If your problem exists on regular LibreELEC then create a new thread. That means you should compare with regular LE9.x if possible. Please include a debug log with all bug reports as this greatly increases your chances of anyone taking an interest in your issue.

    If you get me log files either share a complete logfile .zip or get me a specific emulation related log file. So if Retroarch crashes get me a Retroarch log file and if Amiberry crashed an Amiberry log.


    Bug reports without a suitable log will often be ignored - no debug log, no issue - or at best will take much longer to be investigated. I'm not a prophet nor do I own a magic glass sphere which helps me to figure out what's wrong on your device.

    giphy.gif


    V. Downloads

    You need the .img.gz file to create an usb-bootstick or a sd-card.

    VI. Installation & Updates

    You can install LibreELEC 9.x RR the same way as you would install vanilla LibreELEC. You download the .img.gz file which matches your device and burn it to an usb-drive or sd-card for example with the LibreELEC USB-SD Creator. Also check out the Wiki for further information Installation [LibreELEC.wiki]


    You can use the Custom Update Channel in LibreELEC settings

    • set Automatic Updates to manual
    • disable Show Update Notifications
    • enable Show Custom Channels
    • change a Custom Channel to http://5schatten.libreelec.tv/builds/
    • change the Update Channel to LibreELEC-9.1-RR (9.x = depending on minor version!)

    Now use Available Versions and choose the latest version. The name scheme is RR-YYYYMMDD-git so RR-20190201-9e3c253 means it's a build compiled on 01.02.2019 and is based on commit 9e3c253. You still have to manually check for new builds but this should be more convenient than using third party hosts and manually sideloading the updates.


    The update packages are still manually downloadable from this repo Index of /builds/ or check the Changelog or Nightly section for the latest builds.

    VII. Donations

    RkuxoMM.pngIf you like to say thanks or want to support my build feel free to do so, also I would gratefully accept hardware donations. For example the usual controller, TV-Box or generic hardware stuff would be useful for testing purposes or to iron out problems and preconfigure the emulators. ?key=4c6762065ab9d0257f02c2e2da3d7b85cd547765968650bd47d6d1d2154eb8bf-aHR0cHM6Ly93d3cucGF5cGFsLmNvbS9lbl9VUy9pL2J0bi9idG5fZG9uYXRlX1NNLmdpZg%3D%3D










    VIII. Project

    GitHub - 5schatten/LibreELEC.tv: Just enough OS for KODI

    IX. Note of thanks

    Well I highly appreciate the effort and work of the LE team, escalade, the guys behind all the libretro cores, Retroarch and emulators, the team that forked and updated Emulationstation and all that I forgot. If you like my builds feel free to drop me a line and or donate some bucks to a project you prefer to keep things going!

    X. Some impressions

    1m0TN03.jpg

    pSHuOXK.jpg

    theming_system.png

    maxresdefault.jpg

    s0.jpg

    7r0yx8K.png

  • Features of LibreELEC 9.x RR 1

    Addons & tools included in generic x86-64

    Minor features

    Milhouse Patches

    • Include [env] patch: kodi: remove annoying, excessively repetitive addon logging
    • Include [env] patch: rev hack for kodi
    • Include [env] patch: Add kodi binary addons (pvr, adsp, inputstream, vfs, other)
    • Include [env] patch: HACK: Disable multiple PVR addons during migration. Always enable inputstream.* and os.*

    Updated driver versions

    Updated daemons & components

    Sysutils

    Emulator Frontends

    Emulators included in all builds

    Emulators included in generic x86-64 builds

    Emulators included in Amlogic S905 | Khadas Vim | Odroid C2 builds

    Emulators included in RPi2 & RPi3 builds

    1 might be outdated since I update the versions here just once in a while so expect newer versions

    2 Alternative emulator for low-end generic systems and/or default for ARM systems.

    3 It can be very laggy and buggy on ARM based systems, but some games work.

  • Changelog:

    Note: The alpha|beta|rc status is refering to Kodi not to the LibreELEC 9.x base.


    LE 9.0 | Kodi 18 Alpha builds:

    LE 9.0 | Kodi 18 Beta builds:

    LE 9.0 | Kodi 18 RC builds:

    LE 9.0 | Kodi 18.0 builds:

    LE 9.1 | Kodi 18.1 builds:

    LE 9.1 | Kodi 18.2 builds:

    LE 9.80 | Kodi 18.3 builds:

    LE 9.80 | Kodi 18.4 builds:

  • Emulator section | How to's | Frequently Asked Questions [FAQ]

    Standalone Emulators


    Amiberry - Home · midwan/amiberry Wiki · GitHub

    Citra - Home - Citra

    Dolphin - index.php?title=main_page

    DosBox-SDL2 - DOSBoxWiki

    FS-UAE - Documentation | FS-UAE Amiga Emulator

    Hatari - Hatari documentation

    moonlight-embedded - Usage · irtimmer/moonlight-embedded Wiki · GitHub

    mupen64plus/m64p - m64p by m64p

    PCSX2 - PCSX2 - The Playstation 2 emulator - Guide

    PPSSPP - Home · hrydgard/ppsspp Wiki · GitHub

    VICE - VICE Manual - Table of Contents

    Libretro Cores:

    libretro-2048 - GitHub - libretro/libretro-2048: Port of 2048 puzzle game to the libretro API. http://gabrielecirulli.github.io/2048/

    libretro-atari800 - Atari - 5200 (Atari800) - Libretro Docs

    libretro-bsnes-mercury (balanced|accuracy) - Nintendo - SNES / Famicom (bsnes-mercury Accuracy) - Libretro Docs

    libretro-beetle-pce-fast - NEC - PC Engine / CD (Beetle PCE FAST) - Libretro Docs

    libretro-beetle-psx - Sony - PlayStation (Beetle PSX HW) - Libretro Docs

    libretro-beetle-saturn - Sega - Saturn (Beetle Saturn) - Libretro Docs

    libretro-beetle-wswan - Bandai - WonderSwan/Color (Beetle Cygne) - Libretro Docs

    libretro-blueMSX - MSX/SVI/ColecoVision/SG-1000 (blueMSX) - Libretro Docs

    libretro-chailove - ChaiLove - Libretro Docs

    libretro-citra - Nintendo - 3DS (Citra) - Libretro Docs

    libretro-desmume - Nintendo - DS (DeSmuME) - Libretro Docs

    libretro-dolphin - Nintendo - GameCube/Wii (Dolphin) - Libretro Docs

    libretro-dosbox - DOS (DOSBox) - Libretro Docs

    libretro-fbalpha - https://retropie.org.uk/docs/finalburn-alpha/

    libretro-fceumm - Nintendo - NES / Famicom (FCEUmm) - Libretro Docs

    libretro-fuse - ZX Spectrum (Fuse) - Libretro Docs

    libretro-gambatte - Nintendo - Game Boy / Color (Gambatte) - Libretro Docs

    libretro-genplus - Sega - MS/GG/MD/CD (Genesis Plus GX) - Libretro Docs

    libretro-kronos - Introducing Kronos: a new Sega Saturn/ST-V emulator

    libretro-mame2003-plus - Arcade (MAME 2003-Plus) - Libretro Docs

    libretro-mame2016 - GitHub - libretro/mame2016-libretro: Late 2016 version of MAME (0.174) for libretro. Compatible with MAME 0.174 romsets.

    libretro-mesen - Nintendo - NES / Famicom (Mesen) - Libretro Docs

    libretro-mgba - Nintendo - Game Boy Advance (mGBA) - Libretro Docs

    libretro-mrboom - Mr.Boom (Bomberman) - Libretro Docs

    libretro-mupen64plus - Nintendo - Nintendo 64 (Mupen64Plus) - Libretro Docs

    libretro-nestopia - Nintendo - NES / Famicom (Nestopia UE) - Libretro Docs

    libretro-parallel-n64 - ParaLLEl – Libretro

    libretro-pcsx-rearmed - Sony - PlayStation (PCSX ReARMed) - Libretro Docs

    libretro-ppsspp - Sony - PlayStation Portable (PPSSPP) - Libretro Docs

    libretro-prboom - Doom (PrBoom) - Libretro Docs

    libretro-reicast - Sega - Dreamcast (Reicast) - Libretro Docs

    libretro-scummvm - ScummVM - Libretro Docs

    libretro-snes9x - Nintendo - SNES / Famicom (Snes9x) - Libretro Docs

    libretro-snes9x2010 - Nintendo - SNES / Famicom (Snes9x 2010) - Libretro Docs

    libretro-stella - Atari - 2600 (Stella) - Libretro Docs

    libretro-tyrquake - Quake 1 (TyrQuake) - Libretro Docs

    libretro-vice - https://retropie.org.uk/docs/commodore-64-vic-20-pet/

    libretro-yabause - Sega - Saturn (Yabause) - Libretro Docs

  • Frontend section | How to's | Frequently Asked Questions [FAQ]

    Check out Addons -> My add-ons -> Services -> RR Configuration to configure Audio, Video and Emulation stuff. Reboot your system once you've changed your audio output device!

    EuYV7iY.jpg

    I. Keyboard buttons in different apps

    • Kodi shutdown menu = S
    • Kodi context menu = C
    • Spotify exit = Alt+Esc
    • Emulationstation menu = Alt
    • Emulationstation options = AltGR
    • Emulationstation exit = Alt+F4
    • Retroarch menu = F1
    • Retroarch exit = AltGR
    • Dolphin exit = Alt+Esc
    • PCSX2 exit = Alt+Esc
    • Amiberry menu = F12
    • Amiberry joystick/mouse switch = F11
    • FS-UAE menu = F12
    • Hatari menu = F12
    • Hatari floppy menu = AltGR+D
    • Hatari quit = AltGR+Q
    • VICE menu = F12

    II. Emulationstation | Pegasus-Frontend | Retroarch

    Once I've added new cores to my build you have to update your es_systems.cfg! The easiest way to do this is to delete the old file and apply the new update (again). Then the latest file version will be installed.


    Themes:

    You can download your favorite emulationstation themes and extract them to \\your-device\Configfiles\emulationstation\themes\ check out the RetroPie wiki for further details.


    Pegasus-Frontend also supports themes for example gameOS so extreact them to \\your-device\Configfiles\pegasus-frontend\themes\

    to be able to use them afterwards.


    ROMS:

    Out of the box Emulationstation will look for roms in /storage/roms so place your roms according to the emulator in the subfolders:

    III. Kernel mode setting (KMS):

    In KMS mode games have less input lag which might improve your overall experience. By default libretro-cores (Retroarch) won't run in KMS mode on generic systems. You can enable it in the RR-Config Addon this should work for Intel & AMD based GPUs at the moment.

    IV. Sound & Audio configuration

    Before you try to run any emulators make sure your Kodi audio configuration works! So have a look at https://kodi.wiki/view/settings/system/audio or Audio quickstart guide - Official Kodi Wiki first, play some media and double check that your Kodi settings are correct.


    After your Kodi audio output works check out the RR Configuration addon and select a proper audio output device. If you want FluidSynth MIDI support & use video previews in Emulationstation or Pegasus you have to select PulseAudio as backend. If autoconfigure fails disable it & PulseAudio uses the same device you've selected before.


    If you use PulseAudio and experience glitches, skips or crackling then disable timer-based audio scheduling (tsched) in the audio menu.


    If your sound output is missing on recent Intel systems & builds that use Linux Kernel 5.0+ then enter this in a terminal & reboot.

    Code
    echo "blacklist snd_soc_skl" >>/etc/modprobe.d/blacklist.conf

    Don't change audio backends in your emulators because this is done automatically to match the audio backend configuration in RR-Config if you still change the audio backend in an emulator it will most likely crash or you will have no sound output at all.

    V. Kodi Themes & Custom Skins

    If you prefer a custom skin and want to start the apps & emulator frontends you'll have to find a way to execute the following scripts. Confluence users can uses this to include the emulation frontends.

    For example frontend-emulationstation.py runs these commands:

    Python
    #!/usr/bin/python
    import subprocess
    subprocess.call("systemd-run /usr/bin/emulationstation.start", shell=True)

    You should also check out Waspoeders Github repo for his script addons GitHub - Waspoedertje/Kodiaddon: KodiAddons to start python apps for 5schatten/LibreELEC.tv which allow you to start the apps & frontends by using Kodi addons.

    VI. Qt5 environment vars

    The included Pegasus frontend, Dolphin, Citra & Mupen64plus use Qt5 as framework so you might have to change some variables to achieve an optimal experience.


    For generic systems Qt is set to automatic screen scale which means it should set the fontsize according to your monitor/tv size. If your menus are still too big or small disable Qt AUTO SCREEN SCALE & adjust the Qt SCALE FACTOR until your menus have a proper size.


    All ARM based builds come with a preset for a 26 inch television and adjust the dpi according to this. So if you have a screen which is smaller or bigger adjust your QT_QPA_EGLFS_PHYSICAL_HEIGHT and QT_QPA_EGLFS_PHYSICAL_WIDTH in RR-Config to the physical dimensions of your screen.

    VII. Mesa 3D & Vulkan tools

    On generic systems you can run the following commands in a terminal to test your 3D capabilities and gather information. If you ran into issues like not working Vulkan API or else first run these commands and test if basic programs that utilize those 3D APIs run fine.


    Mesa 3D (OpenGL)

    glxinfo

    glxgears


    Vulkan

    vulkaninfo

    vkcube

    VIII. AMD GPU Driver

    If you own a card based on CGN 1.0 or later you can try to use the amdgpu driver instead of radeonsi. Log into your system using a terminal and run these commands. See https://wiki.archlinux.org/index.php/amdgpu#enable_southern_islands_(si)_and_sea_islands_(cik)_support for further details.

    Code
    mount -o remount,rw /flash
    nano /flash/syslinux.cfg

    Search for the line APPEND boot=... depending on your card and add the following to the kernel command line:

    Code: CGN 1.0 cards:
    radeon.si_support=0 amdgpu.si_support=1
    Code: CGN 1.1 cards:
    radeon.cik_support=0 amdgpu.cik_support=1

    IX. Configuring a Custom xorg.conf

    When you can't select a desired resolution or some emulator menus of Dolphin, Citra or Mupen64plus that use Qt5 as framework are wrong sized you may need to create a custom xorg.conf for you system. This is something you've to individually adjust to your system and can't be set at default for all systems because the variety of hardware configurations.

    Before you proceed make sure you know what your doing, using an incorrectly formatted xorg.conf can cripple your system and should be avoided.


    To use a custom xorg.conf you simply have to access the configfiles samba share and save a text file named xorg.conf


    If your machine doesn't boot after you have done this. Simply delete the file and reboot.


    Please select one of the following xorg.conf based on which GPU your machine has.

    Sources:

    Xorg - ArchWiki

    https://openelec.tv/documentat…xorg-conf#nvidia-graphics


    X. Fix tearing on Generic systems

    If you encounter tearing in emulation frontends or Chrome you should have a look at section IX how to set up and configure a xorg.conf file and create one or change it to match the following options to fix tearing. All configs have been tested on several platform and were approved.

    XI. Enabling the RAM disk

    Compressed rom files will be extracted to /tmp/emulation by the start scripts of Amiberry, FS-UAE, Hatari, m64p and als Retroarch so for example if you run N64 games of the max cartridge size of 512 Mibit then 64MiB will be written on your drive everytime you run this game.


    If you play a lot of compressed games you might want to save some wear and tear of your SD card or SSD. Check out the template file in \\yourdevice\configfiles\system.d\tmp-emulation.mount search for Options=size=256m and adjust the size according to your system.


    For example ~70MB should be enough for N64 games and is probably suitable for RPi but the default size of 256MB shouldn't hurt your RAM on Generic systems as well. Enable it by running this command in a terminal:


    cd ~/.config/system.d && systemctl enable tmp-emulation.mount then reboot your system once.

  • I'm sorry, but maybe RPI does not support the applications mentioned, but it would be very cool if it were possible.
    Thank you.

  • 5schatten


    Thank you for doing this! Is it quite usable yet with PVR (tvheadend) and Blu-ray playback? Can I use the MakeMKV addon from your LibreELEC-8.2-Remix?

  • andersos


    The Generic build works quite fine. I've tested it today and made a clean installation on my Apollo Lake based HTPC. All emulators work fine as far as I can tell, Chrome & Spotify work and should update now automatically, TVheadend+HTS client works and the inputstream.adaptive based Amazon VOD addon too.


    I've built and uploaded MakeMKV but I'm not sure if it will work. Looks like the MakeMKV source needs an update since LE9.0 uses ffmpeg v4.0 and that version has some more ore less incompatible changes included. But you can give it a try.


    www.makemkv.com • View topic - Build failure with GCC 8? (Fedora 28)


    Right now I'm ironing out the last bugs of the RPi build but beside some emulator quirks this mostly works too.

  • Wow, this looks awesome. Big thanx for keeping LE Remix alive!


    Just a question, could Dolphin be easily exchanged with Ishiiruka?
    Would it make sense to drop Dolphin and build Ishiiruka in LE Remix?

    Since it is faster and less cpu consuming.


    Will test it soon by myself... but have anyone installed MakeMKV 9.0.0, does it work?
    Would like to watch BluRays inside Kodi.

    Update:

    Really cool build, fixed two bugs for me at once. Always had problems with my Harmony 700 remote (and used my wireless keyboard instead), when I clicked on up down left right buttons, the cursor skipped one menue point and jumped already to the second. Now the problem is gone.
    Finally TVHeadend is working! Tried everything to get it working, always got the error TVheadend client is not reachable. Now it works out of the box.

    What is definitly not working is MakeMKV, tried to play a Bluray: Kodi reboots.

    Hope this can be fixed.


    Also my favourite Skin is not working with Leia anymore. Is there any skin avaible for Leia which supports customisation of the menue?

    Had used Estuary v2 Extended Shortcuts before, now it's incompatible.

    Edited once, last by FalconX ().

  • Looks amazing! thank you!

    Everything seem to work great, besides citra, which is unable to find the system files. (files placed under ~/roms/citra)

    Looking at the logs, i'm thinking it might be the double slash ("/storage/roms/n3ds//Citra"), but not sure how to update this path.


  • For makemkv there is a fix in the makemkv forum. Search in the Linux section from the forum. I have a working version on my HTPC with one of the latest Milhouse Builds. Maybe 5schatten can bring it inside the build as an addon like escalade.

  • For makemkv there is a fix in the makemkv forum. Search in the Linux section from the forum. I have a working version on my HTPC with one of the latest Milhouse Builds. Maybe 5schatten can bring it inside the build as an addon like escalade.

    I already patched the MakeMKV addon but I haven't tested it.


    ytwig

    Look at the how-to / faq section bios. You need to dump some 3DS system files first, or at last for certain games.


    Dumping System Archives and the Shared Fonts from a 3DS Console - Citra


    FalconX


    Well it should be possible though I'm not sure if it's reasonable. As far as I understand Ishiiruka was forked to avoid shader stuttering in the past. Since Ubershaders and Vulkan renderer work pretty fine and fast it shouldn't be necessary IMHO. But sure you can replace the sources and adjust cmake opts and it should compile.

    What kind of hardware do you use?


    escalade

    Great thx for your help! I'll add the patch and upload a new version soon. I'm struggling to get all RPi emulators working. I already replaced vice for RPi by libretro-vice because of some SDLvideo GLES quirks. Just wondering if currently uae4arm & reicast work fine on your 8.2 build since those just won't work as expected.