### DISTRO INFORMATION ### # Name of the Distro to build (full name, without special characters) DISTRONAME="Lakka" # short project description DESCRIPTION="Lakka is a fast and user-friendly retroarch turnkey distribution" # Homepage DISTRO_WEBSITE="https://www.lakka.tv/" # Do not add version to the build folder name BUILD_NO_VERSION="yes" ### USER INTERFACE SETTINGS ### # Welcome Message for e.g. SSH Server (up to 5 Lines) GREETING0="###########################################" GREETING1="# Lakka - The DIY retro emulation console #" GREETING2="# ...... visit http://www.lakka.tv ...... #" GREETING3="###########################################" GREETING4="" # Root password to integrate in the target system ROOT_PASSWORD="root" # Partition labels for USB/SD installation media DISTRO_BOOTLABEL="LAKKA" DISTRO_DISKLABEL="LAKKA_DISK" ### BUILDSYSTEM SETTINGS #### # LTO (Link Time Optimization) support LTO_SUPPORT="yes" # GOLD (Google Linker) support GOLD_SUPPORT="yes" # HARDENING (security relevant linker and compiler flags) support HARDENING_SUPPORT="no" # Default supported get handlers (archive, git, file etc.) GET_HANDLER_SUPPORT="archive git" ### OS CONFIGURATION ### # Install glibc locales to the build (yes / no) GLIBC_LOCALES="yes" # additional drivers to install: # for a list of additional drivers see packages/linux-drivers # Space separated list is supported, # e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2" ADDITIONAL_DRIVERS="RTL8192DU RTL8812AU" # Default size of system partition, in MB, eg. 512 SYSTEM_SIZE=2048 # Default system partition offset, in sectors, eg. 2048 SYSTEM_PART_START=8192 # build with swap support (yes / no) SWAP_SUPPORT="yes" # swap support enabled per default (yes / no) SWAP_ENABLED_DEFAULT="no" # swapfile size if SWAP_SUPPORT=yes in MB SWAPFILESIZE="128" # debug tty path DEBUG_TTY="/dev/tty3" ### LAKKA SETTINGS ### # Mediacenter to use (kodi / no) MEDIACENTER="lakka" # build and install ALSA support (yes / no) ALSA_SUPPORT="yes" # build and install PulseAudio support (yes / no) PULSEAUDIO_SUPPORT="no" # build and install bluetooth support (yes / no) BLUETOOTH_SUPPORT="yes" # build and install Avahi (Zeroconf) daemon (yes / no) AVAHI_DAEMON="yes" # Distribution Specific source location DISTRO_MIRROR="http://sources.libreelec.tv/mirror" DISTRO_SRC="http://sources.libreelec.tv/$LIBREELEC_VERSION" # wireless daemon to use (wpa_supplicant/iwd) WIRELESS_DAEMON="wpa_supplicant" # build and install iSCSI support - iscsistart (yes / no) ISCSI_SUPPORT="yes" # build with NFS support (mounting nfs shares via the OS) (yes / no) NFS_SUPPORT="yes" # build with Samba Client support (mounting samba shares via the OS) (yes / no) SAMBA_SUPPORT="yes" # build and install Samba Server (yes / no) SAMBA_SERVER="yes" # build and install SFTP Server (yes / no) SFTP_SERVER="yes" # build and install OpenVPN support (yes / no) OPENVPN_SUPPORT="yes" # build and install WireGuard support (yes / no) WIREGUARD_SUPPORT="yes" # build and install diskmounter support (udevil) # this service provide auto mounting support for external drives in the # mediacenter also automount internally drives at boottime via udev (yes / no) UDEVIL="yes" # Support for partitioning and formating disks in initramfs (yes / no) # This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage INITRAMFS_PARTED_SUPPORT="no" # build and install NTFS-3G fuse support (yes / no) NTFS3G="yes" # build and install hfs filesystem utilities (yes / no) HFSTOOLS="yes" # build and install nano text editor (yes / no) NANO_EDITOR="yes" # cron support (yes / no) CRON_SUPPORT="yes" # build with installer (yes / no) INSTALLER_SUPPORT="yes" # Windowmanager to use (fluxbox / none) WINDOWMANAGER="none" # Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia) # Space separated list is supported, # e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia" GRAPHIC_DRIVERS="crocus r300 r600 radeonsi iris i915 nouveau freedreno" # build and install Joystick support (yes / no) JOYSTICK_SUPPORT="yes" # OEM packages for OEM's (yes / no) OEM_SUPPORT="no" # additional packages to install: # Space separated list is supported, # e.g. ADDITIONAL_PACKAGES="PACKAGE1 PACKAGE2" ADDITIONAL_PACKAGES="rsync xpadneo" # Lakka specific mirror LAKKA_MIRROR="http://sources.lakka.tv" # Do not build the OVA image SKIP_VIRTUAL_APPLIANCE="yes" # PINN group for the distro DISTRO_PINN_GROUP="Games" # List of optional RetroArch / libretro packages LIBRETRO_OPTIONAL=""\ " retroarch_assets "\ " retroarch_overlays "\ " retroarch_joypad_autoconfig "\ " libretro_database "\ " core_info "\ "" # List of libretro cores LIBRETRO_CORES="\ 2048 \ 81 \ a5200 \ atari800 \ beetle_bsnes \ beetle_lynx \ beetle_ngp \ beetle_pce \ beetle_pce_fast \ beetle_pcfx \ beetle_psx \ beetle_saturn \ beetle_supafaust \ beetle_supergrafx \ beetle_vb \ beetle_wswan \ blastem \ bluemsx \ bnes \ boom3 \ bsnes \ bsnes2014 \ bsnes_hd \ bsnes_mercury \ cannonball \ cap32 \ chailove \ citra \ craft \ crocods \ daphne \ desmume \ desmume_2015 \ dinothawr \ dolphin \ dosbox_pure \ dosbox_svn \ emux_sms\ ecwolf \ fake_08 \ fbalpha2012 \ fbneo \ fceumm \ flycast \ fmsx \ freechaf \ freeintv \ fuse_libretro \ gambatte \ gearboy \ gearsystem \ genesis_plus_gx \ genesis_plus_gx_wide \ gme \ gpsp \ gw_libretro \ handy \ hatari \ higan_sfc \ higan_sfc_balanced \ jumpnbump \ kronos \ lowres_nx \ lutro \ mame \ mame2000 \ mame2003_plus \ mame2010 \ mame2015 \ melonds \ meowpc98 \ mesen \ mesen_s \ mgba \ mojozork \ mrboom \ mu \ mupen64plus_next \ neocd \ nestopia \ np2kai \ nxengine \ o2em \ openlara \ opera \ parallel_n64 \ pcsx2 \ pcsx_rearmed \ picodrive \ play \ pocketcdg \ pokemini \ potator \ ppsspp \ prboom \ prosystem \ puae \ puae2021 \ px68k \ quasi88 \ quicknes \ race \ reminiscence \ retro8 \ same_cdi \ sameboy \ sameduck \ scummvm \ snes9x \ snes9x2002 \ snes9x2005 \ snes9x2005_plus \ snes9x2010 \ stella \ stella2014 \ superbroswar \ swanstation \ tgbdual \ theodore \ tic80 \ tyrquake \ uae4arm \ uzem \ vbam \ vecx \ vice \ virtualjaguar \ vitaquake3 \ wasm4 \ xmil \ xrick \ yabasanshiro \ yabause \ " # disable some cores if [ "${PROJECT}" = "RPi" ]; then EXCLUDE_LIBRETRO_CORES+=" yabasanshiro" if [ "${DEVICE}" = "RPi" -o "${DEVICE}" = "GPICase" ]; then EXCLUDE_LIBRETRO_CORES+="\ beetle_bsnes \ beetle_psx \ beetle_saturn \ beetle_vb \ bk_emulator \ bsnes \ bsnes2014 \ bsnes_hd \ bsnes_mercury \ citra \ desmume \ desmume_2015 \ dolphin \ dosbox \ dosbox_pure \ dosbox_svn \ fbneo \ flycast \ genesis_plus_gx \ higan_sfc \ higan_sfc_balanced \ kronos \ lr_moonlight \ mame \ mame2003_plus \ mame2010 \ mame2015 \ melonds \ meowpc98 \ mesen \ mesen_s \ mupen64plus_next \ openlara \ opera \ parallel_n64 \ play \ ppsspp \ puae \ same_cdi \ snes9x \ snes9x2005_plus \ snes9x2010 \ swanstation \ uae4arm \ vbam \ virtualjaguar \ yabause \ " elif [ "${DEVICE}" = "RPi2" ]; then EXCLUDE_LIBRETRO_CORES+=" play" elif [ "${DEVICE}" = "Pi02GPi" ]; then EXCLUDE_LIBRETRO_CORES+=" kronos lr_moonlight melonds openlara play" fi elif [ "${PROJECT}" = "Amlogic" -o "${PROJECT}" = "Rockchip" -o "${PROJECT}" = "Allwinner" ]; then EXCLUDE_LIBRETRO_CORES+=" yabasanshiro" elif [ "${PROJECT}" = "Generic" -a "${ARCH}" = "i386" ]; then EXCLUDE_LIBRETRO_CORES+=" lr_moonlight openlara" elif [ "${PROJECT}" = "Ayn" -a "${DEVICE}" = "Odin" ]; then EXCLUDE_LIBRETRO_CORES+=" picodrive lr_moonlight kronos same_cdi" elif [ "${PROJECT}" = "L4T" -a "${DEVICE}" = "Switch" ]; then EXCLUDE_LIBRETRO_CORES+=" picodrive kronos" fi if [ "${OPENGLES_SUPPORT}" = "yes" ]; then #Core doesnt work with OPENGLES builds, as nanogui doesnt have support for that #Mental note fix OPENGLES in moonlight core gui/renderer. EXCLUDE_LIBRETRO_CORES+=" lr_moonlight" fi # disable cores that are only for specific targets # fbalpha2012 and mame2000 only for RPi/GPICase if [ "${PROJECT}" != "RPi" ]; then EXCLUDE_LIBRETRO_CORES+=" fbalpha2012 mame2000" elif [ "${DEVICE}" != "RPi" -a "${DEVICE}" != "GPICase" ]; then EXCLUDE_LIBRETRO_CORES+=" fbalpha2012 mame2000" fi # boom3 and vitaquake for now only for Switch if [ "${PROJECT}" != "L4T" -a "${DEVICE}" != "Switch" ]; then EXCLUDE_LIBRETRO_CORES+=" boom3 vitaquake3" fi # exclude some cores at build time if [ -n "${EXCLUDE_LIBRETRO_CORES}" ]; then for core in ${EXCLUDE_LIBRETRO_CORES} ; do LIBRETRO_CORES="${LIBRETRO_CORES// ${core} /}" done fi # override above with custom list if [ -n "${CUSTOM_LIBRETRO_CORES}" ]; then LIBRETRO_CORES="${CUSTOM_LIBRETRO_CORES}" fi