Skip to content

Instantly share code, notes, and snippets.

@fpsampayo
Last active November 29, 2023 17:26
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fpsampayo/22fa2ef0e241c02727b74593fedc2751 to your computer and use it in GitHub Desktop.
Save fpsampayo/22fa2ef0e241c02727b74593fedc2751 to your computer and use it in GitHub Desktop.
Configurando RetroPie con Kodi

Introducción

Voy a intentar resumir los pasos que he dado para llevar a cabo la configuración de RetroPie junto con Kodi en Kodibuntu.

Me basé en el turorial de este post:

Pasos

Crear un nuevo usuario para ejecutar retropie

sudo adduser retropie

Iniciar como usuario retropie

su retropie

Instalar RetroPie

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git

git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git

cd RetroPie-Setup
sudo ./retropie_setup.sh

Una vez en el instalador ejecutar basic-install y esperar. Va a descargar el código y compilarlo. Este proceso tarda bastante.

OpenBox

Para poder ejecutar RetroPie, lo vamos a hacer sobre OpenBox.

Instalamos:

sudo apt-get install openbox

Configuramos OpenBox para ejecutar RetroPie al iniciar sesión:

mkdir -P .config/openbox
cd .config/openbox
vi autostart.sh

Dentro de autostart.sh:

#!/bin/bash

xsetroot -solid black &
gnome-terminal -e emulationstation &

/usr/local/bin/SwitchToKodi.sh &

Hacemos el script ejecutable:

chmod +x autostart.sh

Lanzamos emulation station sobre gnome-terminal ya que RetroPie muestra menus y solicita contraseña a través de tty Este script, una vez terminado emulationstation ejecutará /usr/local/bin/SwitchToKodi.sh que pasaremos a configurar:

sudo vi /usr/local/bin/SwitchToKodi.sh

Y su contenido:

#!/bin/bash

until [[ $(pidof emulationstation) ]] ; do
        sleep 1
done

while [[ $(pidof emulationstation) ]] ; do
        sleep 1
done

dm-tool switch-to-user kodi Kodi

until [[ $(pidof kodi.bin) ]] ; do
        sleep 1
done

pkill -KILL -u retropie

Aquí usamos dm-tool para cambiar la sesión de usuario a kodi. Una vez abierta, matamos los procesos del usuario retropie.

También tenemos que generar el fichero /usr/local/bin/SwitchToRetroPie.sh para lanzar RetroPie desde Kodi:

sudo vi /usr/local/bin/SwitchToRetroPie.sh

Y su contenido:

#!/bin/bash

dm-tool switch-to-user retropie RetroPie

until [[ $(pidof openbox) ]] ; do
        sleep 1
done

pkill -KILL -u kodi

Igual que al lanzar Kodi, este script cambia la sesión de usuario a retropie y cuando está lista mata los procesos del usuario kodi.

Estos dos nuevos scripts los tenemos que hacer ejecutables:

sudo chmod +x /usr/local/bin/SwitchTo*

Para que esto funcione tenemos que crear una nueva sesión de lightdm para RetroPie

sudo vi /usr/share/xsessions/retropie.desktop

Contenido de retropie.desktop:

[Desktop Entry]
Name=RetroPie
Comment=Log in using the Openbox window manager
Exec=/usr/bin/openbox-session
TryExec=/usr/bin/openbox-session
Icon=openbox
Type=Application

Tambien tenemos que hacer que LightDM no requiera contraseña modificando el fichero /etc/lightdm/lightdm.conf

[SeatDefaults]
xserver-command=/usr/bin/X -bs -nolisten tcp
pam-service=lightdm-autologin
autologin-user=kodi
autologin-user-timeout=0
user-session=kodi
greeter-session=lightdm-gtk-greeter
allow-guest=false
default-user=kodi

Y también que RetroPie no nos pida permisos de root cada dos por tres. Ejecutamos sudo visudo y añadimos al final:

retropie ALL=(ALL) NOPASSWD:ALL

Por último y para poder lanzar ReetroPie desde Kodi, añadimos un favorito de la siguiente manera:

su kodi
vi .kodi/userdata/favourites.xml

Y lo dejamos así en caso de no tener más favoritos

<favourites>
    <favourite name="RetroPie">System.ExecWait("/usr/local/bin/SwitchToRetroPie.sh")</favourite>
</favourites>

Reiniciamos y en kodi lanzamos el favorito RetroPie. Si todo va bien deberiamos ver emulationstation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment