I really enjoyed escalade's work with RetroELEC but I wanted to have my personal touch on the software, so I just ended up doing an Ubuntu 18.04 minimal install and then installed RetroPie (with Pegasus FE) + Kodi on it (can run Steam too, even in BPM). The upside with doing this is that you'll have access to more drivers and aren't limited to what's included in RetroELEC (or LibreELEC for that matter). You'll also be using Ubuntu which is widely supported and discussed in forums should you run into any issues or want to add something of your own.
Here's what I did if anyone is interested in trying:
#! /bin/bash
#this setup script is brought to you by Northbane (c) 2020
#it is known to be very crude and simple
#IMPORTANT: only run it once! or it will most likely fubar your os
#need to install deps for RetroPie and PegasusFE
sudo apt install git dialog unzip xmlstarlet x11-xserver-utils gstreamer1.0-alsa gstreamer1.0-libav gstreamer1.0-plugins-good jq policykit-1
#install basic package in RetroPie or it wont work
cd ~
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
cd RetroPie-Setup
sudo ./retropie_setup.sh
#installing drivers if needed + openbox & lightdm
sudo apt install ubuntu-drivers-common software-properties-common curl lightdm openbox
sudo ubuntu-drivers autoinstall
#disabling power saving mode
echo "#turn off screen saver and power saving" >> ~/.profile
echo "xset s off && xset -dpms" >> ~/.profile
#add USB automount
git clone https://github.com/rbrito/usbmount
sudo apt install debhelper build-essential lockfile-progs
cd usbmount
dpkg-buildpackage -us -uc -b
cd ~ && sudo dpkg -i usbmount*.deb
#create autologin for current user
if [ ! -e "/etc/lightdm/lightdm.conf" ]; then
echo "[SeatDefaults]" >> ~/lightdm.conf
echo "autologin-user=$USER" >> ~/lightdm.conf
echo "autologin-user-timeout=0" >> ~/lightdm.conf
echo "user-session=openbox" >> ~/lightdm.conf
sudo mv ~/lightdm.conf /etc/lightdm/
fi
#install pegasus fe / do this from within retropie setup / experimental packages if scraped videos aren't working
curl https://bintray.com/user/downloadSubjectPublicKey?username=bintray | sudo apt-key add -
sudo add-apt-repository 'deb https://dl.bintray.com/mmatyas/deb testing main'
sudo apt update
sudo apt install pegasus-frontend
#remove password from user sudoers.
#if grep -q "$USER ALL=(ALL) NOPASSWD:ALL" "/etc/sudoers"; then
sudo sed -i -e '$a\$USER ALL=(ALL) NOPASSWD:ALL' /etc/sudoers
#remove user from sudo
sudo gpasswd -d $USER sudo
#set up custom plymouth:
cd ~
sudo apt-get install plymouth plymouth-themes plymouth-x11 -y
git clone --depth=1 https://github.com/HerbFargus/plymouth-themes.git tempthemes
sudo cp -r ~/tempthemes/. /usr/share/plymouth/themes/
rm -r -f tempthemes
sudo update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/retropie-pacman/retropie-pacman.plymouth 10
sudo update-alternatives --set default.plymouth /usr/share/plymouth/themes/retropie-pacman/retropie-pacman.plymouth
sudo update-initramfs -u
sudo cp /etc/default/grub /etc/default/grub.backup
sudo sed -i -e 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=2/g' /etc/default/grub
sudo sed -i -e 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="quiet splash"/g' /etc/default/grub
sudo update-grub
#create openbox autostart script for pegasus, which will start again if exited
echo "#!/bin/bash" >> ~/pegasus.sh
echo "while true; do" >> ~/pegasus.sh
echo "pegasus-fe" >> ~/pegasus.sh
echo "done" >> ~/pegasus.sh
chmod +x ~/pegasus.sh
mkdir ~/.config
mkdir ~/.config/openbox
if [ ! -e "~/.config/openbox/autostart" ]; then
echo 'gnome-terminal --full-screen --hide-menubar -- ~/pegasus.sh' >> ~/.config/openbox/autostart
fi
#install kodi with rar support, user interaction required
echo Installing Kodi (with RAR support), please wait
sudo add-apt-repository ppa:team-xbmc/ppa
sudo apt-get update
sudo apt-get install kodi kodi-vfs-rar
mkdir ~/RetroPie/roms/ports
echo "kodi-standalone" >> ~/RetroPie/roms/ports/Kodi.sh
chmod +x ~/RetroPie/roms/ports/Kodi.sh
#install Steam
echo Installing Steam, please wait
sudo apt-get install steam
echo "steam" >> ~/RetroPie/roms/ports/Steam.sh
chmod +x ~/RetroPie/roms/ports/Steam.sh
#tips : check https://wiki.archlinux.org/index.php/PulseAudio/Examples for more info
echo "tip: lastly, don't forget to edit /etc/pulse/default.pa with the following line:"
echo "do pacmd list-sinks | grep -e 'name:' -e 'index:'"
echo "and ucomment the last line and set something like set-default-sink alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1"
echo ""
echo ALL DONE!
Display More
NOTES:
Also, make sure to install Pegasus FE from RetroPie Setup under experimental packages if videos aren't playing after scraping them.
You can copy & save that as a file in your user home dir as "retropie_install.sh" for example and then run the cmd: "chmod +x retropie_install.sh"
execute with "sudo sh retropie_install.sh" afterwards. After a reboot you should now see the Pegasus frontend, you can scrape games with SkraperUI (run it from a Windows PC and point to your Ubuntu machine's LAN IP / name).
Good luck with your new project!
Audio issues? Check audio preferences with
pacmd list-sinks | grep -e 'name:' -e 'index:'
and ucomment the last line in /etc/pulse/default.pa and set something like set-default-sink output alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1
Controller issues? Go to RetroPie section and launch Retroarch and setup your controller binds there.
Also if you have more than one user it will probably break stuff with the install script. Use a clean new Ubuntu 18.04 install for this.
Disclaimer: I'm not responsible for any damage running that script may cause. You're on your own if things go haywire.
Note: If you want to use MizterB's RetroPie script for Ubuntu 18.04/20.04 you can download it here. It uses EmulationStation as frontend and installs main packages for RetroPie automatically