EmulationStation Desktop Edition
EmulationStation Desktop Edition (ES-DE) es una aplicación frontend para navegar y lanzar juegos desde distantas plataformas.
Viene pre-configurado para ser utilizado junto a RetroArch y una gran selección de emuladores. Es totalmente personalizable, facilitando el poder agregar más emuladores y aplicaciones que no vienen por defecto configuradas. Recuerda es solo la parte estetica, la funcionalidad provendrá de los emuladores y de RetroArch en el caso de los libretro-core. Probado en Kali Linux 64 bit por el momento.
EmulationStation Desktop Edition (ES-DE) is a frontend application for browsing and launching games from your multi-platform game collection.
It comes preconfigured for use with RetroArch and a large selection of standalone emulators. It's also fully customizable so you can easily expand it to include emulators or applications not covered by the bundled configuration. Tested on Kali Linux 64 bit by the moment.
Agregamos la repo de Ubuntu:
sudo apt edit-sources
Nos solicitará elegir un editor de texto, seleccionamos--Choose 1. Nano
Al abrirse agregamos la siguiente linea--When is open type the next line:
deb http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse
Una vez agregada la linea guardamos los cambios y cerramos el archivo de la siguiente manera--After type the line, save and close with:
Ctrl+x,Y,Enter
Tras lo cual actualizamos la lista de repositorios--After that we need reload repositories:
sudo apt update
Nos puedesalir un error de GPG Key--We need to fix a GPG Key error if occur:
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9 NO_PUBKEY 605C66F00D6C9793
Lo solucionamos asi, en lugar de las X ponemos el primer valor tras--We need to copy the key after NO_PUBKEY en mi caso fue--in my case was 648ACFD622F3D138 en tu caso puede diferir--may differ:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXXXXXX
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
Tras lo cual actualizamos la lista de repositorios otra vez--After that we need reload repositories again:
sudo apt update
Buscamos--Search retroarch:
sudo apt search retroarch
Si aparece en la busqueda, tiene que aparecer!, lo instalamos--If appear in the result, should be!, we will install:
sudo apt install -y retroarch
Download page:
Getting, only download the one for your OS--Obtenemos EmulationStation-Desktop Edition, descargamos solo el que sirve para nuestro sistema:
Pi OS 32bit:
Debian DEB package-Raspberry Pi OS (Raspian)-ARM 32-bit-emulationstation-de-1.2.6-armv7l.deb:
Pi OS 64 bit:
Debian DEB package-Raspberry Pi OS (Raspian)-ARM 64-bit-emulationstation-de-1.2.6-aarch64.deb:
Instalamos dependencias--We need to add some dependencies:
sudo apt install -y libavfilter7
sudo apt install -y libpugixml1v5
Sea cual sea tu opcion descargada y si no descargaste ambos por error,si lo hiciste, borra el incorrecto y ejecuta--Whatever is your choice and if you dont mess up download both file and not the correct one for your OS, if you did, delete the incorrect and then execute:
cd $HOME/Downloads
sudo dpkg -i emu*.deb
Ejecutamos--Launch EmulationStation-Desktop Edition:
1.Elegimos--Choose CREATE DIRECTORIES
2.Confirmamos presionando--Press YES
3.Pulsamos--Then OK
4.Presionamos--And finally QUIT
Abrimos--Open RetroArch:
Elegimos Cargar Nucleo--Choose Load Core
Selecccionamos Descargar Nucleo--Select Download Core
Del listado instalamos los nucleos que necesitemos o todos--From the list choose all or a fews
Una vez instalados--Once installed, regresamos con--Back with BackSpace al menú principal y elegimos Cerrar RetroArch-- Close RetroArch
Obtenemos nuestras Roms, en la Carpeta ROMs/consola veremos un archivo de texto con la información de cuál extensión debe poseer nuestra rom y si puede estar comprimida--Is Time to get our Roms and put in ROMs folder, read each systeminfo.txt that let you know which extensions need our Roms:
Ejemplo--Example systeminfo.txt de la carpeta--from ROMs/atari5200
Tras almacenar nuestras Roms, abrimos nuevamente--After get all our roms,open again EmulationStation Desktop Edition:
Veremos las distintas consolas que cumplen con los requisitos dictados en systeminfo--We See our consoles added, if we respect what systeminfo files says!
Al lanzar ciertos juegos, RetroArch nos advertira de la ausencia de Bios y cual o cuales nos faltan--On some games, RetroArch give us messages about missing bios and which ones exactly need
Started guide:
Themes :
Thanks--Gracias Max Dominus
Compilación en --Compile latest version on --Raspberry Pi OS:
sudo apt-get install -y clang-format cmake libsdl2-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libfreeimage-dev libgit2-dev libcurl4-gnutls-dev libpugixml-dev
sudo apt-get install -y libcec-dev libp8-platform-dev
git clone https://gitlab.com/es-de/emulationstation-de.git
cd emulationstation-de
cmake .
make
sudo make install
Opcional, no necesario--Optional, no neccesary:
Para construir el .deb opcional--If you want build a .deb package:
cpack
Se instalaría con--We can install it with:
sudo dpkg -i em*.deb
Sistemas(Hay más de los que funcionan en Raspberry Pi)--Systems(There´s more than of the works on Raspberry Pi):
Requisitos--Requierements:
sudo apt install -y build-essential libudev-dev libegl-dev libgles-dev libx11-xcb-dev
sudo apt install -y libpulse-dev
sudo apt install -y libasound2-dev
Vulkan driver for Pi 4-400: sudo apt install -y libvulkan-dev mesa-vulkan-drivers
sudo apt install -y libavcodec-dev libavdevice-dev libavformat-dev libavresample-dev libdrm-common libdrm-dev libdrm2 libegl1-mesa-dev libfreetype6-dev libgbm-dev libgbm-dev libgbm1 libgles2 libgles2-mesa libgles2-mesa-dev libsdl-image1.2-dev libsdl2-dev libswresample-dev libswscale-dev libv4l-dev libxkbcommon-dev libxml2-dev yasm zlib1g-dev
Obtenemos el --Getting-- SourceCode:
ver=1.15.0
git clone https://github.com/libretro/RetroArch -b v${ver}
cd RetroArch
Para Raspberry Pi 32 bit:
./configure --disable-videocore --disable-opengl1 --enable-opengles --enable-floathard
make -j2
sudo make install
Para Raspberry Pi 3B, 3B+ 3A+ 64bit:
./configure --disable-videocore --disable-opengl1 --enable-opengles
make -j2
sudo make install
Para Raspberry Pi 4-400 64bit:
./configure --disable-videocore --disable-opengl1 --enable-opengles --enable-opengles3 --enable-opengles3_1
make -j4
sudo make install
Editamos--Edit:
nano $HOME/.config/retroarch/retroarch.cfg
Buscamos la línea--Look for the line:
input_driver = "x" la cambiamos a--change to input_driver = "udev"
Iniciamos con--Start with:
./retroarch -v
Vamos a --Go Online Updater and get the next items-- y bajamos los siguientes items:
Update Core Info Files
Update Assets
Update Controller Profiles
Update Cheats
Update Databases
Update Overlays
Update GLSL Shaders
Salimos y compilamos los--Quit and compile--Cores:
git clone https://github.com/libretro/libretro-super
cd libretro-super
Todo incluso los que no funcionan en Raspberry Pi, toma mucho tiempo--All systems included the ones that not works on Raspberry Pi, takes a lot of time:
./libretro-fetch.sh
./libretro-build.sh
cp dist/unix/*.so $HOME/.config/retroarch/cores
O vamos creando de a uno, solo los que funcionan en Raspberry Pi--Or will create one by one only the works on Rasspberry Pi:
Podemos obtener info de los nombres de los cores en la documentación o en los distintos repositorios en GitHub--We can get info about the core´s name in the docs or in GitHub
Ejemplo--Example:
./libretro-fetch.sh vitaquake2
./libretro-build.sh vitaquake2
cp dist/unix/*.so ~/.config/retroarch/cores
Listo!
Ejemplo para el resto de Cores recuerda usar la línea cp dist/unix/*.so ~/.config/retroarch/cores
tras terminar de hacer los fetch-build que elijas.
./libretro-fetch.sh 2048
./libretro-build.sh 2048
./libretro-fetch.sh 3dengine
./libretro-build.sh 3dengine
./libretro-fetch.sh 81
./libretro-build.sh 81
./libretro-fetch.sh a5200
./libretro-build.sh a5200
./libretro-fetch.sh atari800
./libretro-build.sh atari800
./libretro-fetch.sh beetle_psx
./libretro-build.sh beetle_psx
./libretro-fetch.sh bk
./libretro-build.sh bk
./libretro-fetch.sh blastem
./libretro-build.sh blastem
./libretro-fetch.sh bluemsx
./libretro-build.sh bluemsx
./libretro-fetch.sh bnes
./libretro-build.sh bnes
./libretro-fetch.sh boom3
./libretro-build.sh boom3
./libretro-fetch.sh bsnes
./libretro-build.sh bsnes
./libretro-fetch.sh bsnes_accuracy
./libretro-build.sh bsnes_accuracy
./libretro-fetch.sh bsnes_balanced
./libretro-build.sh bsnes_balanced
./libretro-fetch.sh bsnes_cplusplus98
./libretro-build.sh bsnes_cplusplus98
./libretro-fetch.sh bsnes_hd_beta
./libretro-build.sh bsnes_hd_beta
./libretro-fetch.sh bsnes_mercury_accuracy
./libretro-build.sh bsnes_mercury_accuracy
./libretro-fetch.sh bsnes_mercury_balanced
./libretro-build.sh bsnes_mercury_balanced
./libretro-fetch.sh bsnes_mercury_performance
./libretro-build.sh bsnes_mercury_performance
./libretro-fetch.sh bsnes_performance
./libretro-build.sh bsnes_performance
./libretro-fetch.sh cannonball
./libretro-build.sh cannonball
./libretro-fetch.sh cap32
./libretro-build.sh cap32
./libretro-fetch.sh chailove
./libretro-build.sh chailove
./libretro-fetch.sh chimerasnes
./libretro-build.sh chimerasnes
./libretro-fetch.sh citra
./libretro-build.sh citra
./libretro-fetch.sh citra2018
./libretro-build.sh citra2018
./libretro-fetch.sh citra_canary
./libretro-build.sh citra_canary
./libretro-fetch.sh craft
./libretro-build.sh craft
./libretro-fetch.sh crocods
./libretro-build.sh crocods
./libretro-fetch.sh daphne
./libretro-build.sh daphne
./libretro-fetch.sh desmume
./libretro-build.sh desmume
./libretro-fetch.sh desmume2015
./libretro-build.sh desmume2015
./libretro-fetch.sh dinothawr
./libretro-build.sh dinothawr
./libretro-fetch.sh dolphin
./libretro-build.sh dolphin
./libretro-fetch.sh dolphin_launcher
./libretro-build.sh dolphin_launcher
./libretro-fetch.sh dosbox
./libretro-build.sh dosbox
./libretro-fetch.sh dosbox_core
./libretro-build.sh dosbox_core
./libretro-fetch.sh dosbox_pure
./libretro-build.sh dosbox_pure
./libretro-fetch.sh dosbox_svn
./libretro-build.sh dosbox_svn
./libretro-fetch.sh easyrpg
./libretro-build.sh easyrpg
./libretro-fetch.sh ecwolf
./libretro-build.sh ecwolf
./libretro-fetch.sh emux
./libretro-build.sh emux
./libretro-fetch.sh ep128emu_core
./libretro-build.sh ep128emu_core
./libretro-fetch.sh fbalpha2012
./libretro-build.sh fbalpha2012
./libretro-fetch.sh fbalpha2012_cps1
./libretro-build.sh fbalpha2012_cps1
./libretro-fetch.sh fbalpha2012_cps2
./libretro-build.sh fbalpha2012_cps2
./libretro-fetch.sh fbalpha2012_cps3
./libretro-build.sh fbalpha2012_cps3
./libretro-fetch.sh fbalpha2012_neogeo
./libretro-build.sh fbalpha2012_neogeo
./libretro-fetch.sh fbneo
./libretro-build.sh fbneo
./libretro-fetch.sh fceumm
./libretro-build.sh fceumm
./libretro-fetch.sh ffmpeg
./libretro-build.sh ffmpeg
./libretro-fetch.sh fixgb
./libretro-build.sh fixgb
./libretro-fetch.sh fixnes
./libretro-build.sh fixnes
./libretro-fetch.sh flycast
./libretro-build.sh flycast
./libretro-fetch.sh fmsx
./libretro-build.sh fmsx
./libretro-fetch.sh freechaf
./libretro-build.sh freechaf
./libretro-fetch.sh freeintv
./libretro-build.sh freeintv
./libretro-fetch.sh frodo
./libretro-build.sh frodo
./libretro-fetch.sh fsuae
./libretro-build.sh fsuae
./libretro-fetch.sh fuse
./libretro-build.sh fuse
./libretro-fetch.sh galaxy
./libretro-build.sh galaxy
./libretro-fetch.sh gambatte
./libretro-build.sh gambatte
./libretro-fetch.sh gearboy
./libretro-build.sh gearboy
./libretro-fetch.sh gearcoleco
./libretro-build.sh gearcoleco
./libretro-fetch.sh gearsystem
./libretro-build.sh gearsystem
./libretro-fetch.sh genesis_plus_gx
./libretro-build.sh genesis_plus_gx
./libretro-fetch.sh genesis_plus_gx_wide
./libretro-build.sh genesis_plus_gx_wide
./libretro-fetch.sh gme
./libretro-build.sh gme
./libretro-fetch.sh gong
./libretro-build.sh gong
./libretro-fetch.sh gpsp
./libretro-build.sh gpsp
./libretro-fetch.sh gw
./libretro-build.sh gw
./libretro-fetch.sh handy
./libretro-build.sh handy
./libretro-fetch.sh hatari
./libretro-build.sh hatari
./libretro-fetch.sh hbmame
./libretro-build.sh hbmame
./libretro-fetch.sh ishiiruka
./libretro-build.sh ishiiruka
./libretro-fetch.sh jaxe
./libretro-build.sh jaxe
./libretro-fetch.sh jumpnbump
./libretro-build.sh jumpnbump
./libretro-fetch.sh kronos
./libretro-build.sh kronos
./libretro-fetch.sh lowresnx
./libretro-build.sh lowresnx
./libretro-fetch.sh lutro
./libretro-build.sh lutro
./libretro-fetch.sh mame
./libretro-build.sh mame
./libretro-fetch.sh mame2000
./libretro-build.sh mame2000
./libretro-fetch.sh mame2003
./libretro-build.sh mame2003
./libretro-fetch.sh mame2003_midway
./libretro-build.sh mame2003_midway
./libretro-fetch.sh mame2003_plus
./libretro-build.sh mame2003_plus
./libretro-fetch.sh mame2010
./libretro-build.sh mame2010
./libretro-fetch.sh mame2015
./libretro-build.sh mame2015
./libretro-fetch.sh mame2016
./libretro-build.sh mame2016
./libretro-fetch.sh mednafen_gba
./libretro-build.sh mednafen_gba
./libretro-fetch.sh mednafen_lynx
./libretro-build.sh mednafen_lynx
./libretro-fetch.sh mednafen_ngp
./libretro-build.sh mednafen_ngp
./libretro-fetch.sh mednafen_pce
./libretro-build.sh mednafen_pce
./libretro-fetch.sh mednafen_pce_fast
./libretro-build.sh mednafen_pce_fast
./libretro-fetch.sh mednafen_pcfx
./libretro-build.sh mednafen_pcfx
./libretro-fetch.sh mednafen_saturn
./libretro-build.sh mednafen_saturn
./libretro-fetch.sh mednafen_snes
./libretro-build.sh mednafen_snes
./libretro-fetch.sh mednafen_supafaust
./libretro-build.sh mednafen_supafaust
./libretro-fetch.sh mednafen_supergrafx
./libretro-build.sh mednafen_supergrafx
./libretro-fetch.sh mednafen_vb
./libretro-build.sh mednafen_vb
./libretro-fetch.sh mednafen_wswan
./libretro-build.sh mednafen_wswan
./libretro-fetch.sh melonds
./libretro-build.sh melonds
./libretro-fetch.sh mesen
./libretro-build.sh mesen
./libretro-fetch.sh mesens
./libretro-build.sh mesens
./libretro-fetch.sh meteor
./libretro-build.sh meteor
./libretro-fetch.sh mgba
./libretro-build.sh mgba
./libretro-fetch.sh minivmac
./libretro-build.sh minivmac
./libretro-fetch.sh mrboom
./libretro-build.sh mrboom
./libretro-fetch.sh mu
./libretro-build.sh mu
./libretro-fetch.sh mupen64plus_next
./libretro-build.sh mupen64plus_next
./libretro-fetch.sh nekop2
./libretro-build.sh nekop2
./libretro-fetch.sh neocd
./libretro-build.sh neocd
./libretro-fetch.sh nestopia
./libretro-build.sh nestopia
./libretro-fetch.sh np2kai
./libretro-build.sh np2kai
./libretro-fetch.sh numero
./libretro-build.sh numero
./libretro-fetch.sh nxengine
./libretro-build.sh nxengine
./libretro-fetch.sh o2em
./libretro-build.sh o2em
./libretro-fetch.sh oberon
./libretro-build.sh oberon
./libretro-fetch.sh openlara
./libretro-build.sh openlara
./libretro-fetch.sh opera
./libretro-build.sh opera
./libretro-fetch.sh parallel_n64
./libretro-build.sh parallel_n64
./libretro-fetch.sh parallext
./libretro-build.sh parallext
./libretro-fetch.sh pcem
./libretro-build.sh pcem
./libretro-fetch.sh pcsx1
./libretro-build.sh pcsx1
./libretro-fetch.sh pcsx2
./libretro-build.sh pcsx2
./libretro-fetch.sh pcsx_rearmed
./libretro-build.sh pcsx_rearmed
./libretro-fetch.sh picodrive
./libretro-build.sh picodrive
./libretro-fetch.sh pocketcdg
./libretro-build.sh pocketcdg
./libretro-fetch.sh pokemini
./libretro-build.sh pokemini
./libretro-fetch.sh potator
./libretro-build.sh potator
./libretro-fetch.sh ppsspp
./libretro-build.sh ppsspp
./libretro-fetch.sh prboom
./libretro-build.sh prboom
./libretro-fetch.sh prosystem
./libretro-build.sh prosystem
./libretro-fetch.sh puae
./libretro-build.sh puae
./libretro-fetch.sh puae2021
./libretro-build.sh puae2021
./libretro-fetch.sh px68k
./libretro-build.sh px68k
./libretro-fetch.sh quasi88
./libretro-build.sh quasi88
./libretro-fetch.sh quicknes
./libretro-build.sh quicknes
./libretro-fetch.sh race
./libretro-build.sh race
./libretro-fetch.sh reminiscence
./libretro-build.sh reminiscence
./libretro-fetch.sh remotejoy
./libretro-build.sh remotejoy
./libretro-fetch.sh retro8
./libretro-build.sh retro8
./libretro-fetch.sh rustation
./libretro-build.sh rustation
./libretro-fetch.sh sameboy
./libretro-build.sh sameboy
./libretro-fetch.sh samecdi
./libretro-build.sh samecdi
./libretro-fetch.sh sameduck
./libretro-build.sh sameduck
./libretro-fetch.sh scummvm
./libretro-build.sh scummvm
./libretro-fetch.sh smsplus
./libretro-build.sh smsplus
./libretro-fetch.sh snes9x
./libretro-build.sh snes9x
./libretro-fetch.sh snes9x2002
./libretro-build.sh snes9x2002
./libretro-fetch.sh snes9x2005
./libretro-build.sh snes9x2005
./libretro-fetch.sh snes9x2005_plus
./libretro-build.sh snes9x2005_plus
./libretro-fetch.sh snes9x2010
./libretro-build.sh snes9x2010
./libretro-fetch.sh squirreljme
./libretro-build.sh squirreljme
./libretro-fetch.sh stella
./libretro-build.sh stella
./libretro-fetch.sh stella2014
./libretro-build.sh stella2014
./libretro-fetch.sh stonesoup
./libretro-build.sh stonesoup
./libretro-fetch.sh superbroswar
./libretro-build.sh superbroswar
./libretro-fetch.sh swanstation
./libretro-build.sh swanstation
./libretro-fetch.sh tempgba
./libretro-build.sh tempgba
./libretro-fetch.sh tgbdual
./libretro-build.sh tgbdual
./libretro-fetch.sh theodore
./libretro-build.sh theodore
./libretro-fetch.sh thepowdertoy
./libretro-build.sh thepowdertoy
./libretro-fetch.sh tic80
./libretro-build.sh tic80
./libretro-fetch.sh tyrquake
./libretro-build.sh tyrquake
./libretro-fetch.sh uw8
./libretro-build.sh uw8
./libretro-fetch.sh uzem
./libretro-build.sh uzem
./libretro-fetch.sh vaporspec
./libretro-build.sh vaporspec
./libretro-fetch.sh vbam
./libretro-build.sh vbam
./libretro-fetch.sh vba_next
./libretro-build.sh vba_next
./libretro-fetch.sh vecx
./libretro-build.sh vecx
./libretro-fetch.sh vemulator
./libretro-build.sh vemulator
./libretro-fetch.sh vice
./libretro-build.sh vice
./libretro-fetch.sh video_processor
./libretro-build.sh video_processor
./libretro-fetch.sh virtualjaguar
./libretro-build.sh virtualjaguar
./libretro-fetch.sh vitaquake2
./libretro-build.sh vitaquake2
./libretro-fetch.sh vitaquake3
./libretro-build.sh vitaquake3
./libretro-fetch.sh vitavoyager
./libretro-build.sh vitavoyager
./libretro-fetch.sh x1
./libretro-build.sh x1
./libretro-fetch.sh xrick
./libretro-build.sh xrick
./libretro-fetch.sh yabasanshiro
./libretro-build.sh yabasanshiro
./libretro-fetch.sh yabause
./libretro-build.sh yabause