Ir al contenido

Recommended Posts

retroarch-logo-300x611.png

Tenía ganas de probar RetroArch, y ya como no encontré mucha información sobre como compilarlo y renegué bastante dejo una mini guía

Teóricamente RetroArch es una interfaz (frontend) para la API de libretro. libretro es una interfaz de desarrollo (API) que permite la creación de emuladores, juegos y programas de multimedia que pueden correr fácilmente en cualquier interfaz (frontend) compatible.

Lo que tiene de bueno es que RetroArch carga los emuladores como "cores", entonces uno puede elegir los emuladores (o cores) que uno quiera y cargarlos con RetroArch. Entonces RetroArch termina siendo como un emulador de todas las consolas que uno quiera, desde el programa se elige la consola que se quiere emular (se elige el core) y se carga la ROM que uno quiera

Yo descargué RetroArch y todos los cores con un repositorio que se llama libretro-super, que sería algo así como un instalador. A lo mejor es demasiado descargar todos los cores porque son muchos, pero no sabía como hacer para descargar de a uno y además esta bueno tener emuladores de todas las consolas aunque no las vaya a usar

 

Otras páginas que pueden ser útiles:

http://libretro.com/forums/showthread.php?t=1645
https://github.com/libretro/RetroArch
http://wiki.libretro.com/index.php?title=RetroArch_Compilation
http://emulation-general.wikia.com/wiki/Building_RetroArch
https://github.com/libretro/RetroArch/wiki/Compilation-guide-%28Linux%29

Yo usé un Debian 8 Jessie Stable con Gnome recíen instalado y todo por defecto. Si tenés Ubuntu a lo mejor te conviene instalar desde el PPA en vez de compilar ya que es más fácil, creo que no es bueno usar el PPA de Ubuntu en Debian
Para compilar se necesita bastante espacio, mi carpeta pesaba 5.6GB, pero una vez instalado se puede borrar esa carpeta y queda una de 1.8GB
No encontré bien cuáles son las dependencias que se necesitan para compilar, con las que instalé pude instalar casi todos los cores. Las dependencias serían todos los paquetes que instalé con aptitude install, si hay problemas los links de arriba tienen listas de paquetes que pueden hacer falta.

sudo aptitude update
sudo aptitude upgrade
sudo aptitude install git pkg-config libegl1-mesa-dev libgl1-mesa-dev libsdl2-dev zlib1g-dev libavcodec-dev libasound2-dev libavformat-dev libavutil-dev libswscale-dev libgbm-dev libdrm-dev libxml2-dev libv4l-dev libfreetype6-dev libudev-dev python3 qmake make gcc g++
cd Escritorio

Lo que hace git clone es descargar los archivos de libretro-super

git clone git://github.com/libretro/libretro-super.git

Vamos a la carpeta descargada

cd libretro-super

Esto va a descargar RetroArch y todos sus cores (no sé como descargar core por core), son muchos archivos y puede que se descarguen algunos mal, así que conviene ejecutarlo varias veces hasta que deje de descargar cosas, solo va a volver a descargar los que estén mal y si está todo bien dice "Already up to date"

./libretro-fetch.sh

Esto compila RetroArch, si hay errores hacer libretro-fetch puede solucionarlo, también puede que el error sea porque faltan dependencias, leer el error puede ayudar a encontrar qué paquete falta

./retroarch-build.sh

Esto compila todos los cores, también, si hay errores libretro-fetch puede solucionarlo, también puede que el error sea porque faltan dependencias

NOCLEAN=1 ./libretro-build.sh

Al final muestra algo como esto

65 core(s) successfully processed:
    2048 bluemsx dosbox catsfc fb_alpha fceumm fmsx gambatte handy
    stella nestopia nxengine prboom quicknes snes9x_next tyrquake
    vba_next vecx mgba genesis_plus_gx bsnes_cplusplus98 mednafen_gba
    mednafen_lynx mednafen_ngp mednafen_pce_fast mednafen_supergrafx
    mednafen_vb mednafen_wswan prosystem 81 fuse lutro tgbdual gpsp
    o2em 4do desmume picodrive virtualjaguar mupen64plus 3dengine
    snes9x vbam scummvm mednafen_pcfx mednafen_psx mednafen_snes
    yabause hatari meteor dinothawr stonesoup bsnes_accuracy
    bsnes_balanced bsnes_performance bsnes_mercury_accuracy
    bsnes_mercury_balanced bsnes_mercury_performance mame emux_chip8
    emux_gb emux_nes emux_sms pcsx_rearmed ppsspp mame078
10 core(s) failed:
   gw mame139 mame159 mess ume ffmpeg bnes testgl test

Se puede volver a intentar compilar los cores que estén marcados como fallidos, por ejemplo mame078 se me compiló en el tercer intento, para hacer libretro-fetch de un solo core se puede hacer por ejemplo

./libretro-fetch.sh mame078

Y para compilar de a uno es parecido (no se si al compilar de a uno hace falta el NOCLEAN)

NOCLEAN=1 ./libretro-build.sh mame078

No pude compilar el core ffmpeg porque uso libav y por lo que vi hay que hacer algunas modificaciones al makefile, todos los que estaban en el mensaje anterior como fallidos no los pude compilar

Lo que sigue es para instalar todo, se puede instalar en cualquier lugar, yo lo instalé dentro de RetroArch en la carpeta personal (por eso el ~)

mkdir -p ~/RetroArch/cores

Hay que moverse a la carpeta retroarch que está dentro de libretro-super, no a la recien creada

cd retroarch

Acá si se escribe la carpeta recién creada

make DESTDIR=~/RetroArch install
cd ..
./libretro-install.sh ~/RetroArch/cores

Para probar que ande bien se puede abrir RetroArch desde ~/RetroArch/usr/local/bin/retroarch
Para moverse en los menús usa las flechas, para seleccionar usa x, para volver z, para salir Esc y hay configur aciones que se cambian con las fle chas de los costados
Yo lo primero que probé es el core 2048, que es un juego independiente. Ir a Load core y navegar hasta el core (entrar en / (lo único que hay) e ir a /home/usuario/RetroArch/cores/2048_libretro.so)

RetroArch1.png

 

Para apretar start usa Enter, para jugar usa las flechas, en este juego se deben ir uniendo los bloques de igual valor, al apretar una flecha todos los bloques caen a esa dirección
Para salir de RetroArch apreta Esc, o para abrir el menú (QuickMenu) usa F1

Para los emuladores hice una carpeta roms en ~/RetroArch, adentro le puse subcarpetas como n64, snes, gba, etc.  una para cada consola

En Settings - Directory se puede elegir la ubicacion predeterminada para varias cosas, por ejemplo para los cores. Para elegir el directorio predeterminado de los cores hay que ir a Core Dir y navegar hasta la carpeta con los cores, una vez ahí seleccionar <Use this directory>
Otra ubicación útil es File Browser Dir, especifica desde donde el navegador de archivos comienza al elegir carpeta o algun archivo, conviene elegir /home/usuario/RetroArch. Entonces por ejemplo ahora al elegir ROM (Content) el explorador de archivos empieza desde ahí

 

RetroArch0.png
Para emular algún juego se debe elegir el core correspondiente a la consola y después elegir la ROM en Load Content - Select File. Hay una característica para configurar una colección, supongo que es para organizar mejor las ROMs, pero no puedo hacerla funcionar. Si la ROM está en un zip puede que te pregunte cómo abrirla, hay que seleccionar Load Archive With Core

En Settings - User se puede elegir el idioma con las flechas de los costados, pero prefiero inglés antes que español porque en español los textos son muy largos y no entran en la pantalla

Para cambiar los controles del jugador 1 hay que ir a Settings - Input User 1 Binds
Los controles de RetroArch, como por ejemplo Esc para salir o F1 para el menú se pueden cambiar desde Settings - Input Hotkey Binds
No tengo ningún Joystick, pero supongo que para configurar uno hay que ir a Settings - Input y ahí seleccionar qué Joytick usará cada jugador, luego hay que ir a Settings - Input User 1 Binds para elegir los controles
Para poder configurar los analógicos usando el teclado tuve que cambiar el Bind Mode a RetroKeyboard (En Settings - Input)

Otra cosa que se puede hacer es agregar RetroArch al menú de aplicaciones con MenuLibre (Ya hay bastantes tutoriales sobre eso)

Para guardar el progreso de los juegos se puede hacer como si se tratara de una consola, guardando desde el juego. Si no se puede usar Save State y Load State desde el QuickMenu (que se abre al apretar F1 mientras se está jugando), de esta forma se guarda el juego exáctamente como está en este momento (es algo así como hacer trampa). Si se selecciona Load o Save State y se apreta la flecha de los costados se puede elegir el Slot desde el que se está guardando o cargando

 

RetroArch2.png

 

Si todo anda bien se puede borrar la carpeta libretro-super que tendría que estar en el Escritorio en donde se compiló todo

 

Si hay algo mal en la guía estaría bueno que lo aclaren en los comentarios

Editado por Mgbu

Compartir este post


Enlace al post
Compartir en otros sitios

lo voy a probar en casa con mi debian, me pica la curiosidad de retroarch y en un futuro si veo que merece la pena, comprar una rasperry 2 y dedicarla solo al retroarch...para las visitas frikis! xD

Para Raspberry Pi conviene algo ya compilado como RetroPie o Lakka

Creo que con la poca capacidad de la Raspberry tardaría años en compilar todo eso

 

Lakka también se puede instalar en cualquier PC, es una distribución Linux hecha para emular juegos con RetroArch

Editado por Mgbu

Compartir este post


Enlace al post
Compartir en otros sitios

 

lo voy a probar en casa con mi debian, me pica la curiosidad de retroarch y en un futuro si veo que merece la pena, comprar una rasperry 2 y dedicarla solo al retroarch...para las visitas frikis! xD

Para Raspberry Pi conviene algo ya compilado como RetroPie o Lakka

Creo que con la poca capacidad de la Raspberry tardaría años en compilar todo eso

 

Lakka también se puede instalar en cualquier PC, es una distribución Linux hecha para emular juegos con RetroArch

 

ya la verdad, fijate, la noticia de lakka la comparti yo, se que tienen version para pc, pero nunca me he animado a probarlo...joder, y me iba a comprar una rasperry pero ahora me pica instalar lakka en una pequeña particion y probarlo a ver. si me gusta reventare el torrent a roms...xD

un saludo y gracias por la sugerencia!!

Editado por Fransis

Compartir este post


Enlace al post
Compartir en otros sitios

Hola. Gran guía. Buen trabajo.

Y para implementarlo en kodi? Alguna idea?

Ahi ni idea, espero que te sirva algun tutorial que ande por ahi, algo asi como esto o esto

 

De todos modos kodi es Linux, debería ser parecido a este tutorial, el problema es que leí por ahí que la raspberry es lentísima para compilar cosas, ni te digo esto que me cansé de esperar para que compile mi notebook (Está bien, compilé todos los módulos, si supiera elegir modulos hubiera tardado menos)

Compartir este post


Enlace al post
Compartir en otros sitios

Hola amigo muy buena guia, pero quedo pegado en esta parte:

 

Acá si se escribe la carpeta recién creada

make DESTDIR=~/RetroArch install
cd
..
./libretro-install.sh ~/RetroArch/cores

 Me aparece el siguiente error:

 

arcade@dhcppc0:~/Descargas/libretro-super/retroarch$ make DESTDIR=~/RetroArch install
Makefile:8: config.mk: No existe el fichero o el directorio
config.mk is outdated or non-existing. Run ./configure again.
Makefile:108: recipe for target 'config.mk' failed
make: *** [config.mk] Error 1

 

alguna ayuda? saludos!

 

ya lo solucione... :)
 

Editado por Guffaw

Compartir este post


Enlace al post
Compartir en otros sitios

Me da este error:

 

make DESTDIR=~/RetroArch install
CC cores/libretro-ffmpeg/ffmpeg_core.c
cores/libretro-ffmpeg/ffmpeg_core.c:25:34: fatal error: libavdevice/avdevice.h: No existe el archivo o el directorio
compilation terminated.
Makefile:169: fallo en las instrucciones para el objetivo 'obj-unix/release/cores/libretro-ffmpeg/ffmpeg_core.o'
make: *** [obj-unix/release/cores/libretro-ffmpeg/ffmpeg_core.o] Error 1
 

Como puedo solucionarlo, que pena despues de estar todo el dia esperando a que compile ahora sale esto...

Compartir este post


Enlace al post
Compartir en otros sitios

Registra una cuenta o conéctate para comentar

Debes ser un miembro de la comunidad para dejar un comentario

Crear una cuenta

Regístrate en nuestra comunidad. ¡Es fácil!

Registrar una cuenta nueva

Iniciar Sesión

¿Ya tienes cuenta? Conéctate aquí.

Iniciar Sesión

×