RetroMultiInstaller, el script facilitador de instalaciones tenía el defecto de ofrecerte todos los scripts de instalación en sus menús, aunque no fueran compatibles con tu hardware, así por ejemplo, si lo ejecutabas en una Raspberry Pi podrías terminar instalando un programa que no fuera compatible con ARM y que por tanto no iba a funcionar.
También se ha corregido la instalación por lotes desatendida y ya
aparecen solo los programas ordenados para la arquitectura actual.
Recuerda que, si ya tienes instalado RMI, lo puedes actualizar seleccionando las opciones:
Update ► update own
¿Como lo he hecho y como puedes añadir más instaladores?
Para solucionar esto he incluido un nuevo mecanismo que mira las arquitecturas declaradas en los archivos menu/*.txt de tal manera que la definición de cada línea de script quedaría ahora con esta estructura:
arquitecturas etiqueta definición
- Las arquitecturas se ponen una detrás de otra separadas por el carácter tubería "|" por ejemplo, NUNCA ESPACIOS NORMALES.
- La etiqueta sigue siendo el identificador del script.
- La definición tampoco permite ESPACIOS NORMALES pero sí espacios duros.
Algunos ejemplos, que podemos encontrar casi todos en el archivo menus/multisystem.txt:
- Si ponemos como arquitectura 'all' no filtrará, es decir, mostrará el script del menú independientemente del hardware desde el que ejecutemos RMI:
all ZEsarUX ZEsarUX multi emulator
- Podemos poner una sola arquitectura, en la siguiente línea tenemos un script que solo se mostraría en Raspberry pi OS de 32 bits:
armv7l Retropie Multi Emulationstation Enviroment
- Un ejemplo de un script que se ejecutaría en varias arquitecturas, en este caso solo para Intel de 32 o 64 bits o Raspberry pi OS de 64 bits.
x86|x86_64|aarch64 RetroVM Retro Virtual Machine
- Las opciones para abrir otro menú o salir del actual deben tener la etiqueta menu para no aparecer en las opciones de la instalación desatendida:
menu Exit Return to Main Menu
- Si en un momento un script dejara de funcionar ya no teníamos que borrarlo podemos dejarlo para arreglarlo más adelante y en el menú poner como arquitectura algo así como 'none' o 'disabled':
none oldgame Old Game
He encontrado un programa que NO funciona, ¿qué hago?
Ahora queda la ardua tarea de ir comprobando que las arquitecturas definidas en cada script se corresponden con los programas que se pueden ejecutar en cada arquitectura, como seguro se me van a pasar muchos necesitaré vuestra ayuda en los comentarios para que me indiquéis los que no funcionan.
Aunque si abrís una incidencia en el propio gitlab me resultará más fácil tener el seguimiento de lo que está pendiente de arreglar. ;-)