This script creates a RetroArch add-on for Kodi from Lakka sources for CoreELEC (Amlogic-ng devices).
Resulting builds have been tested on following ARM devices:
with CoreELEC 19 and 20 versions.
Core list included by default is same as Lakka.
//server_IP/path_to_roms_folder
retroarch.cfg
to defaults and addon to first run conditionThe addon uses an internal resources
folder as well as one external local folder /storage/.config/retroarch
. Internal folder will be wiped on addon removal/update.
/storage/.config/retroarch
should include the retroarch.cfg
main configuration file and following subfolders. If not there, empty folders and default retroarch.cfg
will be created automatically.
savestates
savefiles
(e.g. memory card files)remappings
to store remapped controlsplaylists
to store RetroArch playlists - lists of games per emulated systemthumbnails
Boxarts / Screenshots / Title screens will be stored hereassets
wallpapers, themes, icons, fonts, etc. will be stored heredatabase
contains subfolders cht
(cheats), cursors
(saved searches) and rdb
(games databases for scanning your files)joypads
configuration files for autoconfiguration of attached joysticks and gamepads will be stored hereoverlays
on screen overlays will be stored hereshaders
shaders to enhance the visuals of the emulated systems on current display devices will be stored heresystem
cores additional system files (e.g. BIOS) will be stored hereThe internal resources
folder includes:
audio_filters
various audio filters from relevant repositoriesvideo_filters
various video filters from relevant repositoriessystem
includes contents from relevant repositories per build configured core list.Depending on build configuration (not by default) also the following may be included in the internal folder, with the content from relevant repositories:
assets
database
joypads
overlays
shaders
In case same subfolder is present both in external and internal resource folders, external will be used and internal content will be merged as needed.
Default ROM folder is /storage/roms
. This folder can be mapped to a remote location using addon settings.
Cores are stored in lib/libretro
internal subfolder (removed on addon removal).
Screenshots are stored in /storage/screenshots
.
Lakka repository is included as a submodule by default. To build the addon with default settings type the following:
git clone --recursive https://github.com/spleen1981/retroarch-kodi-addon-CoreELEC
cd retroarch-kodi-addon-CoreELEC
./build.sh
Extra dowloadable contents as retroarch-assets retroarch-joypad-autoconfig retroarch-overlays libretro-database glsl-shaders
are not included by default to reduce addon size, but can be included setting INCLUDE_DLC="Y"
(or can be downloaded from RetroArch online updater otherwise).
Default core list can be customized setting LIBRERETRO_CORES_ADD
and LIBRERETRO_CORES_RM
variables.
Refer to the script source for all other configuration parameters.
First time the building/compiling process will take a lot of time (the whole toolchain will be compiled with the first package).
Addon zip file will be placed in build
subfolder.
New languages for the addon frontend can be added by modifying this file.
The new language code is to be added in the following variable, separated by space (adding italian language in the following examples, coded it_it):
LANG_list="en_gb it_it"
and the new translations for each string are to be added as follows, as per existing structure:
LANG_32001_en_gb="Stop Kodi service before launching RetroArch"
LANG_32001_it_it="Ferma il servizio Kodi prima di lanciare RetroArch"
All language files needed by Kodi will be generated at build time.
Thanks to Lakka and CoreELEC for their work.
Also thanks to ToKe79 - This work has been developed starting from his.