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) 2021
#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 menu python-xdg at-spi2-core pulseaudio alsa-utils libglib2.0-bin dbus-x11 triggerhappy git dialog unzip xmlstarlet x11-xserver-utils gstreamer1.0-alsa gstreamer1.0-libav gstreamer1.0-plugins-good jq policykit-1 curl xdg-utils -y
#installing drivers if needed + openbox & lightdm
sudo apt install ubuntu-drivers-common software-properties-common curl lightdm openbox -y
sudo add-apt-repository ppa:oibaf/graphics-drivers -y
#check https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers for more info
sudo apt-get update
#sudo ubuntu-drivers autoinstall -y
#uncomment the above line if you need other drivers and comment the oibaf repo
#manually install basic package in RetroPie or it wont work and PegasusFE from exp packages
cd ~
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
cd RetroPie-Setup
sudo ./retropie_setup.sh
#enable lirc in Ubuntu 18.04
sudo apt purge ir-keytable lirc
sudo sed -i '1 i\deb http://de.archive.ubuntu.com/ubuntu/ xenial universe' /etc/apt/sources.list
sudo apt update
sudo apt install lirc/xenial -y
sudo apt-mark hold lirc
#remove deb http://de.archive.ubuntu.com/ubuntu/ xenial universe from /etc/apt/sources.list
echo "remove first line in sources.list"
sudo nano /etc/apt/sources.list
sudo apt update
#disabling power saving mode
#echo "#turn off screen saver and power saving" >> ~/.profile
#echo "xset s off && xset -dpms" >> ~/.profile
echo "1 i\xset s off && xset -dpms" > ~/.xsession
#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
#sensitive stuff below could possibly break your system if ran more than once
#create autologin for current user / deprecated?
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
#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
#end of sensitive stuff
# OpenBox autostarts unclutter, then passes off to the RetroPie autostart
mkdir -p ~/.config/openbox
echo 'unclutter -idle 0.01 -root' >> ~/.config/openbox/autostart
echo '/opt/retropie/configs/all/autostart.sh' >> ~/.config/openbox/autostart
chown -R $USER:$USER ~/.config
# Create RetroPie autostart
mkdir -p /opt/retropie/configs/all
touch /opt/retropie/configs/all/autostart.sh
chmod +x /opt/retropie/configs/all/autostart.sh
chown -R $USER:$USER /opt/retropie/configs
#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
echo 'gnome-terminal --full-screen --hide-menubar -- ~/pegasus.sh' >> /opt/retropie/configs/all/autostart.sh
#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 -y
mkdir ~/RetroPie/roms/ports
touch ~/RetroPie/roms/ports/Kodi.sh
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 -y
touch ~/RetroPie/roms/ports/Steam.sh
echo "steam" >> ~/RetroPie/roms/ports/Steam.sh
chmod +x ~/RetroPie/roms/ports/Steam.sh
{~7
#installing requirements for Overcooked2
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get upgrade libstdc++6 -y
#change audio to hdmi pulseaudio
sudo sed -i -e 's/set-default-sink output/set-default-sink output alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1/g' /etc/pulse/default.pa
#tips for retroarch
echo "dont forget to edit retroarch with start pressed for 2 secs to enter menu"
echo ""
#tips on getting audio to work check https://wiki.archlinux.org/index.php/PulseAudio/Examples for more info
echo "do pacmd list-sinks | grep -e 'name:' -e 'index:'"
echo "check etc pulse default.pa"
echo "and ucomment the last line and set something like set-default-sink output 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