Avendo la necessità di eseguire PHP via command line (per poter eseguire degli script php) su una macchina batocera, ci si accorge che il problema è più complesso del previsto: batocera nel suo repository di pacchetti non ha la possibilità di installare PHP, e anche facendo delle ricerche non ho trovato nulla a riguardo. Illustro qui 2 soluzioni possibili al problema.
In batocera è possibile modificare il descrittore dei diversi sistemi supportati, ad esempio per aggiungere dei core/emulatori, o per creare sistemi nuovi. Viene spiegato qui: https://wiki.batocera.org/emulationstation:customize_systems
In batocera V41 è stato rimosso "mame0139", evvero il "Mame 2010" con il supporto del romset 0.139. E' una versione di mame molto versatile, con un romset consolidato, e quindi potrebbe essere utile reinserirla (in particolare se si vuole aggiornare alla V41 senza dover aggiornare per forza tutto il romset).
Una soluzione veloce è quella presentata da "80 voglia di arcade" in questo video: https://www.youtube.com/watch?v=FrXPup-pp2E Il file con il pacchetto da scaricare è questo: https://www.strananet.it/Mame0139Pack.zip
Per una spiegazione più esaustiva, e poter ripetere le operazioni anche in versioni future, occorre per prima cosa scaricare l'ultima versione di "mame2010" dal repository dei core libretro: https://buildbot.libretro.com/nightly/linux/x86_64/latest/
Unzippiamo il file e otteniamo un file .so, che possiamo rinominare come vogliamo (ad esempio "mame0139_libretro.so" per mantenere la nomenclatura standard batocera) e copiare dentro /usr/lib/libretro/. Sarà poi necessario generare un file descrittore in /usr/share/libretro/info, con lo stesso nome ma estensione .info, ad esempio "mame0139_libretro.info". Il contenuto del file possiamo prenderlo da un altro file .info riferito a mame, sostituendo i riferimenti per andare sulla libreria mame0139. Questo ad esempio il contenuto di mame0139_libretro.info del mio sistema:
Il mio router principale OpenWrt gestisce 3 reti separate, ognuna con i propri punti di accesso Wi-Fi, IP e regole firewall:
La rete "STANDARD", su 192.168.1.x, che permette completo accesso sia alla LAN interna che alla WAN esterna (internet)
La rete "THINGS", su 192.168.2.x, che viene usato da tutti i dispositivi IOT e similari, che può accedere solo alla rete stessa, e al router e a un server interno per la gestione domotica, ma a parte queste "eccezioni" non può accedere al resto della rete interne ne alla rete WAN esterna.
La rete "GUEST", un accesso Wi-Fi per gli ospiti che può accedere alla rete esterna "WAN", ma a niente della rete interna.
Fin qui tutto bene: non è compito di questo articolo spiegare come si ottiene la configurazione sopra (che è comunque una configurazione delle reti Wi-Fi piuttosto standard, con propri DHCP e configurazioni specifiche sul firewall).
Il problema è estendere queste 3 reti sugli access point sparsi per casa/giardino in modo da mantenere inalterate tutte le regole. Se un dispositivo IOT che si trova in giardino si connette alla sua Wi-Fi della rete "THINGS" deve mantenere le sue limitazioni sopra, anche se si sta connettendo a un access point (a sua volta connesso via LAN al router principale).
Giusto 2 parole per mia futura memoria. In un nuovo laptop che ho acquistato (con scheda grafica integrata intel) mi sono finalmente deciso a usare wayland.
Ed è andato tutto molto più liscio di quanto mi aspettassi. Ha funzionato tutto al volo, tutto molto fluido e veloce, e uso di RAM molto contenuto (anche se non ho fatto test particolarmente stressanti).
Ci sono solo 2 aspetti che alla fine mi hanno fatto tornare a X11, ma per entrambi credo sia solo questione di tempo: