LibreELEC 9.0 Reborn Remix [ Emulationstation | Retroarch | DolphinQT | Moonlight | Chrome | Spotify | MakeMKV ]

  • 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.0, 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 >512MB - to avoid conflicts you need a clean install.
    • Updating escalades or any other community LE8.2.x build might work but is not supported nor recommended.
    • 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.0-devel 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.


    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.

    giphy.gif


    V. Downloads

    You can use both image types for updates but you need the .img.gz file if you want to create an usb-bootstick or a sd-card.

    VI. 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. The LibreELEC team already supplied me with a Khadas VIM that made my S905X builds possible. Since I already own a lot of input & HTPC stuff I would only get stuff based on demand by the community otherwise the WAF would be to low for more hardware laying around. So if you have something in your mind that should work and needs support drop me a line. Depending on your support I would probably get some of this stuff:

    • a larger & dedicated SSD that allows more parallel builds
    • Amlogic S905 / S912 devices
    • Rockchip RK3328 & RK3399 devices
    • PS4 controller / Xbox controller / Nintendo Pro Controller / 8bitdo controller / *insert_brand* controller
    • AMD Ryzen 3 stuff with IGP / a Nvidia card ⇒ this would allow me to test all the usual generic hardware configs without screwing up the living room HTPC while my gf uses it :angel:

    ?key=4c6762065ab9d0257f02c2e2da3d7b85cd547765968650bd47d6d1d2154eb8bf-aHR0cHM6Ly93d3cucGF5cGFsLmNvbS9lbl9VUy9pL2J0bi9idG5fZG9uYXRlX1NNLmdpZg%3D%3D

    VII. Project

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


    1m0TN03.jpg

    pSHuOXK.jpg

    theming_system.png

    maxresdefault.jpg

    s0.jpg

    7r0yx8K.png

    VIII. 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!


  • Features of LibreELEC 9.0 Reborn Remix 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.*
    • Include [env] patch: Bump included addon versions to prevent online updates

    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 18 not to the LibreELEC 9.x base.


    Kodi Alpha builds:

    Kodi Beta builds:

    Kodi RC 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-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-fbalpha2018 - 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-ishiiruka - Nintendo - GameCube/Wii (Ishiiruka) - Libretro Docs

    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]

    I. Keyboard buttons in different apps

    • Kodi shutdown menu = S
    • Kodi context menu = C
    • Spotify exit = Alt+Esc
    • Emulationstation menu = 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.


    You want to test the frontends? You've got no games around?

    Well there are 2 "built-in" games that should work out of the box. A Bomberman clone & 2048 are included in Retroarchs playlist and can be found in Emulationstation too.

    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. If you want to enable it edit the file \\your-device\Configfiles\rr-config\advanced.conf and set RR_KMS=true 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.


    Amlogic & RPi devices should work out of the box if not check this out. Nevertheless to have proper sound output in emulators, chrome or spotify you'll need a correct configured asound.conf config file. A script handles the output device and uses the same device you've set in Kodi audio settings so if you have proper sound output in Kodi emulators should be fine too. If autoconfig fails edit the file \\your-device\Configfiles\rr-config\advanced.conf and set RR_AUTOCONFIG_SOUND=false then follow the steps below.

    You can chose between ALSA & PulseAudio afterwards in your advanced.conf but make sure ALSA has proper sound output before you try PulseAudio which is needed to use FluidSynth MIDI support in DOSBox or Retroarch and is also necessary for sound output i.e. video previews in Pegasus-Frontend or Emulationstation.


    Don't change audio backends in your emulators because this is done automatically to match the audio backend configuration in advanced.conf 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.

    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 edit the file \\your-device\Configfiles\rr-config\advanced.conf and set RR_QT_AUTO_SCREEN_SCALE_FACTOR=false afterwards adjust RR_QT_SCALE_FACTOR by adding a number then restart the program and see if the menus fit now.


    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 edit the file \\your-device\Configfiles\rr-config\advanced.conf and set RR_QT_QPA_EGLFS_PHYSICAL_HEIGHT and RR_QT_QPA_EGLFS_PHYSICAL_WIDTH to the physical dimensions of your screen. You can use this tool to calculate your measurments or refer to the technical specs of your monitor/tv device.

    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
    1. mount -o remount,rw /flash
    2. 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:
    1. radeon.si_support=0 amdgpu.si_support=1
    Code: CGN 1.1 cards:
    1. 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. Enabling RAM disk

    Compressed files will be extracted to /tmp/emulation by the start scripts of Amiberry, FS-UAE, Hatari & m64p so for example if you run N64 games of the max cartridge size 64MB will be written on your drive everytime you run this game. So if you play a lot of Amiga, Atari or N64 games you might want to save some wear and tear for 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.

  • 5schatten

    Changed the title of the thread from “LibreELEC 9.0 Reborn Remix” to “LibreELEC 9.0 Reborn Remix (WIP!)”.
  • Google-Chrome / Spotify enable in RPI2/3 ?

    Only for generic builds right now. I'm not sure but Chrome isn't available for raspberry only chromium?

    But I can have a look into this.

  • 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

    Changed the title of the thread from “LibreELEC 9.0 Reborn Remix (WIP!)” to “LibreELEC 9.0 Reborn Remix [Emulationstation|Retroarch|DolphinQT |Chrome|Spotify] (WIP!)”.
  • 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.