Compilar PPSSPP para Ubuntu en el ODROID-XU3XU4

PPSSPP es un emulador de Playstation que es posible ejecutar en muchas plataformas, incluyendo Linux y Android. Este artículo describe cómo compilar PPSSPP desde la fuente, para que puedas ejecutar juegos de PlayStation en Ubuntu:

$ cd ~
$ git clone --recursive https://github.com/hrydgard/ppsspp.git
Es necesario compilar FFmpeg antes de compilar el binario ppsspp, ya que los binarios pre-compilados son todos para puntos flotantes soft, y necesitamos hardfp:
$ cd ppsspp/ffmpeg
$ ./linux_armhf.sh
$ cd ..
Antes de que podamos empezar a compilar, tenemos que convertir nuestro /usr/include/GLES2/gl2ext.h en un proveedor específico deshabilitando el uso de GL_EXT_buffer_storage. Nuestra librería Mali no incluye/exporta esta función, así que no podemos definirla:
$ sudo sed -i.bak '/^\#ifndef GL_EXT_buffer_storage$/,/^$/d' /usr/include/GLES2/gl2ext.h
Es posible que quieras configurar el sistema para que sólo use 4 núcleos en FFmpeg y así poder realizar pequeños ajustes y experimentar un poco. He observado que FFmpeg con subprocesamiento no funciona muy bien cuando se seleccionan todos los núcleos con HMP (cambio de tareas más exigentes desde CPU LITTLE a CPU BIG). Para hacer esto, puedes editar el archivo Core/HW/MediaEngine.cpp en la línea número 475 con el fin usar únicamente 4 núcleos, lo mejor es cambiar de 4 LITTLE a 4 BIG en lugar de usar los 8 núcleos.
av_dict_set(&opt, "threads", "4", 0);
Sin embargo, esto ha sido analizado en Moonlight usando GameStream con archivos de video de 1080p. Los archivos de video PPSSPP no son tan grandes y, por lo tanto, quizás no requieran tanta CPU, de modo que solo puede afectar un poco o nada.

A continuación, genera el Makefile y empieza a compilar el binario:

$ cmake -DUSING_EGL=OFF -DUSING_GLES2=ON -DUSE_FFMPEG=YES -DUSE_SYSTEM_FFMPEG=NO .
$ make -j7
Si estás usando la VU5A, ahora dispondrás de todo el potencial que te brinda una pantalla táctil en el menú, y también puedes activar “los Controles táctiles en pantalla” si quieres. Para ver una demo de GoW - Chains of Olympus en ODROID XU4/VU5A, con el driver de espacio de usuario activado para Mali GBM, echa un vistazo al video https://youtu.be/QegJlwflkZk?t=374.

Ahora puede marcar tu PPSSPP emulado con una única región generando la correspondiente configuración regional, usando de_AT como ejemplo (algunos juegos pueden usarlo para el idioma del juego):

$ sudo locale-gen de_AT.UTF-8
$ sudo update-locale LANG=de_AT.UTF-8
Mis configuraciones para GoW junto con algunos sustitutos de textura para Star Wars - The Clone Wars y Star Wars - The Force Unleashed para que los Juegos se puedan jugar están en  https://forum.odroid.com/download/file.php?id=7789. Aquí tienes mi estructura de carpetas de la configuración ppsspp:
odroid@odroid:~$ tree -d .config/ppsspp/
.config/ppsspp/
└── PSP
│├── PPSSPP_STATE
│├── SAVEDATA
││ ├── ULES01284SAVE00
││ └── ULES01376SYSDATA
│├── SYSTEM
││ └── CACHE
│└── TEXTURES
││├── ULES00981
││└── ULES01284
Para comentarios, preguntas y sugerencias, visita el tema en  https://forum.odroid.com/viewtopic.php?f=98&t=32173.

Be the first to comment

Leave a Reply