Skip to content

Es: 7. FAQ

Eduardo Moreno edited this page Nov 27, 2022 · 10 revisions

Q1: ¿Tengo que volver a flashear con cada nueva imagen? ¿No existe un OPK para una actualización más ágil?

Por ahora el flasheo es el único medio disponible. En el pasado, con otra imagen, publiqué un OPK para hacer las actualizaciones, pero hubo muchos problemas con las personalizaciones que los usuarios hacían que afectaba al sistema de aplicación de los parches. El procedimiento completo para actualizar entre una versión de la imagen y la siguiente se describe aquí.

Q2: ¿Hay algún indicador del nivel de batería?

Desde la versión v1.1, SimpleMenu muestra el nivel de batería en algunos themes (0A, ComicBook y SimUI). También se muestra un indicador de batería cuando se está ejecutando RetroArch y se entra en el menú (Power or Select + X). Por último, se puede salir a GMenu2X desde SimpleMenu cambiando la opción Default launcher a no y seleccionando después Session: quit.

Q3: ¿Por qué no se conservan los overrides de ajustes en RetroArch?

La clave en este tema es comprender bien los tres niveles de overrides que existen. Si se cambia un ajuste y se hace override a nivel de core, pero luego existe un override del mismo ajuste a nivel de contenidos, el primero no se aplicará porque el segundo tiene prioridad. Esta guía es muy útil.

Vamos a mostrar un ejemplo de uno de estos casos que se pregunta más a menudo. Se trata de activar la opción para mantener la relación de aspecto de la pantalla en GB o GBC. Vamos a fijarnos en GBC en concreto por lo que en los greps siguientes no hay que tener en cuenta el fichero GB.cfg. Esa opción se llama video_dingux_ipu_keep_aspect en los ficheros de configuración de RetroArch. Lo que sigue es la situación de partida de ese ajuste en los diferentes ficheros que se aplica, tal y como está en la imagen recien flasheada:

rg280v:~/.retroarch $ grep video_dingux_ipu_keep_aspect retroarch.cfg
video_dingux_ipu_keep_aspect = "true"
rg280v:~/.retroarch $ grep video_dingux_ipu_keep_aspect config/Gambatte/*
config/Gambatte/GB.cfg:video_dingux_ipu_keep_aspect = "false"
config/Gambatte/GBC.cfg:video_dingux_ipu_keep_aspect = "false"
config/Gambatte/Gambatte.cfg:video_dingux_ipu_keep_aspect = "false"

En palabras, el ajuste Keep Aspect Ratio está activado a un nivel general (primer grep), pero desactivado en los overrides a nivel de core y de contenido (segundo grep).

Lo esperable sería que activando la opción a nivel de contenido empezara a aplicarse, pero RetroArch tiene una especie de economía de ajustes y cuando ve que un ajuste a cualquier nivel, encaja con el ajuste general, simplemente elimina ese ajuste del override. Como resultado, cuando cambiamos ese ajuste a true y luego creamos el override a nivel de contenido, lo que ocurre en realidad es que el override se pierde y se empieza a aplicar el que está a nivel de core, que, como puede verse, es todavía false.

rg280v:~/.retroarch $ grep video_dingux_ipu_keep_aspect retroarch.cfg
video_dingux_ipu_keep_aspect = "true"
rg280v:~/.retroarch $ grep video_dingux_ipu_keep_aspect config/Gambatte/*
config/Gambatte/GB.cfg:video_dingux_ipu_keep_aspect = "false"
config/Gambatte/Gambatte.cfg:video_dingux_ipu_keep_aspect = "false"

La solución es hacer otro override a nivel de core (lo que borra el ajuste a ese nivel también), dejando únicamente el ajuste general.

rg280v:~/.retroarch $ grep video_dingux_ipu_keep_aspect retroarch.cfg
video_dingux_ipu_keep_aspect = "true"
rg280v:~/.retroarch $ grep video_dingux_ipu_keep_aspect config/Gambatte/*
config/Gambatte/GB.cfg:video_dingux_ipu_keep_aspect = "false"

En resumen, hay que activar el mantener la relación de aspecto y crear overrides a nivel de core y de contenido al mismo tiempo. Es un lío sí.

Q4: ¿Cómo se puede resetear la configuración de RetroArch de manera que pueda montar mis propios overrides sin que se vean afectados por los que incorpora la imagen?

Sólo hay que borrar el directorio /media/data/local/home/.retroarch/config y el fichero /media/data/local/home/.retroarch/retroarch.cfg.

Q5: Las ROMs de NeoGeo con el emulador FBA standalone no sincronizan bien la pantalla en RG350M (supongo que tampoco en RG3300X). ¿Cómo puede arreglarse?

Se trata de un problema con el hardware scaling que hace ese emulador cuando se tiene esa pantalla. La solución es desactivarlo por medio del interfaz propio de FBA o UX. Para ello, desactivar momentaneamente SimpleMenu como lanzador predeterminado, abrir desde GMenu2X el emulador FBA UX, localizar el juego que nos interesa ajustar (puede ser necesario añadir la ruta de las ROMs de NEOGEO a ROMs Paths), abrirlo y en el menú de opciones que aparece cambiar Hardware scaling a Off. El cambio se guarda a nivel de juego por lo que si luego más tarde lo lanzamos desde SimpleMenu, se aplicará aunque no pasemos por esa pantalla intermedia de ajustes.

FBA Hardware scaling

Si no se quiere hacer el ajuste juego a juego, puede cambiarse en Main settings > Default ROM settings > Default Run Game settings > Hardware scaling, pero hay que tener en cuenta que este cambio afectará a los juegos de otros sistemas que no tenían el problema de Neo Geo.

Q6: No puedo modificar la configuración de RetroArch, obtengo el error Failed saving config to...

Para modificar la configuración general de RetroArch, no debe haber ningún contenido (ROM) cargado. Esto puede hacerse de varias formas:

  1. Tras lanzar RetroArch mediante alguna ROM, abrir el menú de éste (Power o Select + X) y usar el comando Close Content.
  2. Abrir el lanzador de RetroArch. En versiones de la imagen 1.2 o anteriores, sólo se puede hacer desde GMenu2X, encontrándose en la sección emulators. A partir de 1.3 también hay un lanzador en la sección Apps de SimpleMenu.

De todas formas no suele ser habitual manipular la configuración general de RetroArch. Lo que la mayoría de las veces conviene es hacer un override a nivel de core, directorio o juego. Revisar la FAQ número 3 para más detalles.

Q7: ¿Cómo puedo bajar el volumen mínimo sin llegar a desactivar el sonido? El mínimo es todavía muy alto.

Este problema afecta principalmente a RG280V. Eso es porque en esta máquina los altavoces están conectados directamente al DAC (convertidor analógico digital) y no a la cadena DAC->puerto de auriculares como en otros dispositivos. En RG280V, el control de volumen solo se ve afectado por el canal PCM en alsamixer, e incluso en su valor mínimo antes del mute (32 / -30dB) se escucha demasiado alto en un ambiente silencioso.

alsamixer

Sin tocar el sistema, lo único que se puede hacer es jugar con las opciones de sonido que puedan tener algunos de los emuladores. Afortunadamente RetroArch incluye en los ajustes de audio la posibilidad de atenuar la salida. El ajuste se encuentra en la ruta: MAIN MENU > Settings > Audio > Volume Gain (dB). Se ha encontrado que el valor -10dB es un buen equilibrio, de manera que el ajuste del volumen mínimo del sistema antes de mute ya resulta adecuado, y el máximo es suficientemente potente. Si optamos por hacer este ajuste, lo mejor es hacerlo a nivel de la configuración general, para lo que hay que seguir los pasos comentados en la FAQ número 6.

RA audio gain

Q8: ¿Puedo actualizar Adán con las últimas versiones de OpenDingux beta?

Por supuesto. Adam no es más que una instalación normal de los paquetes listados al principio de este documento, es decir, OpenDingux beta, RetroArch, SimpleMenu y unos cuantos emuladores independientes. Ninguno de ellos ha sido modificado, por lo que deberían de tener el funcionamiento esperado. No sólo puedes actualizar los paquetes, sino que te recomendamos que lo hagas, para ayudar al desarrollo de los mismos.

Aunque se recomienda seguir las instrucciones particulares de cada paquete, éstas son las instrucciones generales para actualizar cada tipo:

  • OpenDingux beta: Descargar la compilación que se quiere instalar (normalmente la última) desde su sitio de distribución. Copiar el tipo de OPK adecuado a la consola (en caso de Adam, siempre será el tipo gcw0) dentro del directorio apps de la tarjeta externa. Localizar el lanzador en la sección applications de GMenu2X o SimpleMenu (en este landazor, si antes no se ha abierto otra aplicación de tipo terminal como USB Mode por ejemplo, no llega a conmutarse correctamente al modo terminal, quedando el logo de OpenDingux en pantalla; si se abre y ocurre esto, pulsar Power+Select para forzar el cierre del OPK), abrirlo y seguir las instrucciones en pantalla. ADVERTENCIA: Hay que tener en cuenta, que una vez hecho esto, no se podrá utilizar el script para cambiar entre distintos modelos de consola, ya que si se hace se terminará teniendo un rootfs actualizado con un kernel antiguo, ya que el script copia los kernels instalados originalmente en la imagen, desde las copias que hay en los distintos directorios con los nombres de las máquinas que hay en la partición boot.
  • RetroArch: El paquete que puede encontrarse en el sitio de distribución contiene las piezas que hay que instalar manualmente en la consola (un OPK para lanzar RA a modo frontend y hacer la configuración general, un binario que hay que copiar en /media/data/local/bin y el directorio de home que contiene los cores y configuraciones básicas). Alternativamente puede usarse éste instalador del que se ofrecen en las releases un paquete diseñado para encajar en Adán.
  • SimpleMenu y emuladores independientes: Todas estas aplicaciones funcionan como OPKs normales. Por tanto para actualizarlas, tan sólo hay que localizar la versión que se quiera instalar (por ejemplo las releases de SimpleMenu se obtienen de aquí) y copiarlas al directorio /media/data/apps. También pueden copiarse al directorio apps de la tarjeta externa, pero en ese caso si no borramos el equivalente en /media/data/apps, nos aparecerán por duplicado en los lanzadores.

Q9: ¿Es posible utilizar un adaptador WiFi?

Sí, aunque la lista de chipsets soportados es reducida. De momento los soportados son los siguientes:

  • Realtek RTL8192CU
  • Mediatek MT7601U

Si en el futuro nuevos chipsets son incorporados al sistema, aparecerán listados en el directorio /lib/modules/5.15.0-rc6-opendingux/kernel/drivers/net/wireless/

Q10: ¿Por qué no aparecen en SimpleMenu las ROMs que acabo de cargar en la tarjeta externa?

Hay varias cosas a tener en cuenta para que las ROMs se visualicen:

  1. El formato de la tarjeta externa debe ser FAT32 o exFAT (el formato exFAT se soporta desde hace poco por lo que en caso de problemas sería mejor ajustarse a FAT32 que está más probado).
  2. Las ROMs deben encontrarse en los directorios adecuados para el sistema al que pertenecen y que se encuentran listados en la tabla que hay en la sección ROMs.
  3. Las extensiones de los ficheros de las ROMs deben ser las que se indican en la tabla que hay en la sección ROMs.
  4. Para acceder al listado de ROMs del sistema que nos interese ver, hay que utilizar los atajos de navegación entre sistemas y grupos que se indican en la tabla que hay en la sección Controles. Básicamente son B para subir un nivel, A para bajar un nivel y Arriba/Abajo para moverse entre los distintos elementos que hay en cada nivel. Por ejemplo en el siguiente vídeo se muestra cómo llegar al listado de ROMs de Game Boy desde la sección Applications que aparece de forma predeterminada tras flashear la imagen.

Ver vídeo

Q11: ¿Por qué el indicador de batería no muestra los niveles correctos?

La batería es uno de los elementos más analógicos que hay en la consola. No hay dos iguales. Para gestionar esta realidad, los modernos smartphones mantienen mucha información sobre las cargas previas y el ritmo y condiciones en que se produce la descarga. Con toda esa información estiman una capacidad de la batería lo más realista posible. En el sistema de la consola no se mantienen esos datos por lo que la capacidad de la batería se estima directamente a partir del voltaje que ésta ofrece en un determinado momento. Como valores para el voltaje asociado a la carga máxima y mínima se utilizan unos valores fijos (4,2V y 3,4V respectivamente) que pueden no ser adecuados para todas las baterías, de ahí que algunas consolas estimen mal el nivel de carga.

Hay también un sensor en el conector de carga, pero éste sólo determina si hay un cable conectado a la consola, no que la batería se esté cargando, es decir, el otro extremo del cable puede estar desconectado y la mayoría de los programas indicará que la consola está siendo alimentada.

Por último comentar que los indicadores de carga de los distintos programas (GMenu2X, SimpleMenu, RetroArch, RG350 test) pueden estar programados de distinta forma, por lo que puede haber discrepancias entre ellos.

Q12: ¿Está soportado el formato exFAT para las particiones de las tarjetas?

OpenDingux beta tiene incluido el soporte al sistema de archivos exFAT en forma de módulo del kernel que no se carga de forma predeterminada. A lo largo de la Discussion #226 se ha encontrado que para que por ejemplo se pueda utilizar una tarjeta en la ranura EXT con este formato, hay que construir algún tipo de script que se ejecute en el arranque y realice el montaje manual de la misma. Otra opción es cargar el módulo y reiniciar el servicio udev para que se aplique después de que el módulo se haya cargado la regla definida en /etc/udev/rules.d/61-automount.rules que automonta las unidades extraíbles. El script se puede por ejemplo instalar en /media/data/local/etc/init.d/.

Un ejemplo de script que por ejemplo utiliza la técnica de aprovechar el automontaje podría ser el siguiente:

#!/bin/sh

case "$1" in
    start)
        printf "Loading exfat module and restarting udev"
        modprobe exfat
        /etc/init.d/S10udev stop
        /etc/init.d/S10udev start
        echo "done"
        ;;
    stop)
        # Nothing to do
        ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
        ;;
esac

Que podríamos dejar en el directorio comentado anteriormente con el nombre S05_loadexfat.sh para que se ejecute antes del que general el andamiaje de directorios de Adán. Hay que acordarse de darle permiso de ejecución al fichero:

$ sudo chmod +x /media/data/local/etc/init.d/S05_loadexfat.sh

Q13: ¿Cómo se activa la salida HDMI para poder ver la pantalla de la consola en un televisor?

Realmente no es necesario activar el HDMI, a pesar de la opción que aparece en el menú de opciones de algunas de las últimas versiones de SimpleMenu. Tan sólo hay que encender la consola habiendo conectado previamente el cable entre la consola y el televisor. Es decir, hay que conectar el cable antes de encender la consola.

El puerto que lleva la consola es de tipo mini HDMI, por lo que será necesario un cable con este tipo de conector en un extremo o utilizar un adaptador.

Hay que tener en cuenta los siguientes inconvenientes:

  • El sonido no está soportado a través del cable, es decir seguirá sonando en el altavoz interno de la consola.
  • La calidad y estabilidad de la imagen es todavía bastante precaria. Se producen fallos de sincronismo sobre todo en las pantallas de transición que hay entre SimpleMenu o GMenu2X y los emuladores.
  • Es posible que algunos emuladores (sobre todo los standalone) tengan problemas para funcionar a la resolución base utilizada por el sistema a través de esta salida.
Clone this wiki locally