CyberMatris port for Miyoo Mini Plus
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

64 lines
2.0 KiB

#!/bin/sh
# Launcher CyberMatris per Miyoo Mini Plus (OnionOS / Stock OS)
GAMEDIR=$(dirname "$0")
LOGFILE="$GAMEDIR/cybermatris.log"
# Preserva il log della sessione precedente (utile in caso di crash improvvisi)
if [ -f "$LOGFILE" ]; then
mv "$LOGFILE" "$GAMEDIR/cybermatris.old.log"
fi
exec > "$LOGFILE" 2>&1
set -x
echo "=== CyberMatris Launch $(date) ==="
# Ferma MainUI per evitare conflitti grafici/framebuffer
kill -STOP $(pidof MainUI) 2>/dev/null
echo "MainUI stopped"
# Questo è fondamentale: indica a SDL2 di usare il backend video nativo Miyoo
export SDL_VIDEODRIVER=mmiyoo
unset SDL_RENDER_DRIVER
unset LD_PRELOAD
export HOME=/mnt/SDCARD
export LD_LIBRARY_PATH="$GAMEDIR:/config/lib:/customer/lib:/mnt/SDCARD/.tmp_update/lib/parasyte:/mnt/SDCARD/usr/local/lib:/mnt/SDCARD/usr/lib/arm-linux-gnueabihf"
# Ferma l'audioserver per liberare il device audio hardware (/dev/mi_ao)
killall -9 audioserver 2>/dev/null || true
sleep 1
# Rilevamento dello schermo e impostazione della risoluzione nativa
# Controlliamo la risoluzione corrente PRIMA di modificarla per evitare di forzare
# parametri fuori specifica che congelano il controller dello schermo del Miyoo Mini Plus.
if fbset | grep -q "752"; then
echo "[LAUNCHER] Rilevato schermo Miyoo Mini V4 (752x560)!"
fbset -g 752 560 752 1120 32 2>/dev/null
IS_V4=1
export MIYOO_SCREEN_WIDTH=752
export MIYOO_SCREEN_HEIGHT=560
else
echo "[LAUNCHER] Schermo standard 640x480 (Miyoo Mini Plus / v1/v2/v3)"
fbset -g 640 480 640 960 32 2>/dev/null
IS_V4=0
export MIYOO_SCREEN_WIDTH=640
export MIYOO_SCREEN_HEIGHT=480
fi
cd "$GAMEDIR"
./cybermatris_miyoo
EXIT=$?
# Ripristina sempre la modalità standard 640x480 all'uscita per evitare disallineamenti con MainUI
if [ "$IS_V4" -eq 1 ]; then
echo "[LAUNCHER] Ripristino risoluzione standard all'uscita..."
fbset -g 640 480 640 960 32 2>/dev/null
fi
# Ripristina MainUI all'uscita del gioco
kill -CONT $(pidof MainUI) 2>/dev/null
echo "MainUI resumed"
echo "=== EXIT CODE: $EXIT ==="
exit $EXIT