Pubblicato un nuovo aggiornamento per RetroArch, il frontend universale per l’API libretro che permette di emulare una vasta gamma di console e giochi del passato su diverse piattaforme.
Questa nuova versione si concentra su una lunga serie di correzioni e miglioramenti, con particolare attenzione ad alcune piattaforme specifiche e all’ottimizzazione dell’esperienza d’uso.
RetroArch 1.21.0 released! #Libretro #RetroArch Read more here – https://t.co/qF2XnWfty3
Download – https://t.co/wbJjXd6wmV https://t.co/uZQVvO0FNx— libretro (@libretro) April 29, 2025
Sul fronte Nintendo 3DS, sono stati risolti problemi critici come i crash durante il caricamento dei contenuti e i blocchi dell’interfaccia utente quando era attiva la modalità di rendering a thread. Abilitata inoltre la connessione sicura TLS (SSL) e sistemata la gestione degli ID univoci per i core più recenti.
Anche su dispositivi Apple, gli sviluppatori hanno lavorato a una maggiore integrazione delle tecnologie native: è stato introdotto il supporto a Vulkan tramite una mailbox emulata, il core b2 è ora incluso nelle build per l’App Store, e sono stati aggiunti i driver CoreMIDI e CoreLocation per i sistemi iOS e macOS.
Diverse migliorie sono arrivate anche per il sistema di autoconfigurazione, l’audio, specialmente con PipeWire, e il supporto alla fotocamera.
Il sistema dei codici cheat è stato rivisto, con modifiche al caricamento e alla gestione dei codici, mentre l’integrazione con RetroAchievements (Cheevos) è stata migliorata, correggendo anche i crash durante la navigazione rapida del menu.
Sul lato della sincronizzazione cloud, sono stati corretti errori relativi ai percorsi in ambiente Windows e aggirati alcuni problemi di duplicazione e redirect.
Per la piattaforma web, grazie a Emscripten, è stato introdotto un nuovo motore audio basato su AudioWorklet, insieme a un moderno video driver WebGL e un lettore web completamente rinnovato. Il supporto touch è stato anch’esso ampliato.
In ambito più generale, si segnala una correzione al salvataggio automatico degli stati, un miglioramento al sistema di patching dei giochi, e un’importante revisione della gestione degli input, inclusa una nuova gestione del turbo fire e l’integrazione di sensori avanzati come illuminamento e accelerazione, specie su macOS e Linux.
Per i dispositivi iOS è stata introdotta la possibilità di bloccare l’orientamento dello schermo, corretti numerosi crash, migliorata l’interfaccia e aggiornato lo splash screen.
RetroArch continua ad adattarsi perfettamente anche su altre piattaforme, come Lakka, Wii, Wii U, PS Vita, tvOS e UWP, tutte oggetto di bugfix mirati.
Inoltre, sono stati compiuti notevoli passi avanti nella gestione delle interfacce grafiche del menu, come GLUI, XMB, QT, RGUI e Ozone, che ora offrono maggiore coerenza visiva, personalizzazione e funzionalità inedite come il browsing a schermo intero delle miniature.
Infine, importanti aggiornamenti riguardano il comparto video: dal supporto a V4L2 con selezione risoluzione e dispositivi audio ALSA su Linux, fino al miglioramento della sincronizzazione con shader subframe, adaptive vsync per Vulkan, e l’abilitazione dell’opzione BFI anche su dispositivi mobili.
Il sistema di replay, i salvataggi di stato, la sintesi vocale (TTS), e la gestione di rete hanno ricevuto anch’essi miglioramenti cruciali, rendendo RetroArch ancora più stabile e veloce.
Changelog
- 3DS: Corretto l’utilizzo di ID univoci per i core più recenti. Abilitato il supporto TLS (SSL) per le connessioni sicure. Risolto un blocco dell’interfaccia grafica che si verificava con il rendering multithread abilitato. Corretti i crash che avvenivano durante il caricamento dei contenuti. Applicate anche altre piccole correzioni.
- APPLE: Attivata la modalità emulata della mailbox Vulkan. Aggiunto il core “b2” nelle versioni distribuite tramite l’App Store. Introdotti i driver CoreMIDI e CoreLocation per i dispositivi iOS e macOS, migliorando la gestione audio MIDI e la localizzazione.
- AUTOCONF: Ora è possibile usare un nome visualizzato alternativo nei file di autoconfigurazione. I messaggi di errore relativi al fallimento dell’autoconfigurazione possono essere resi facoltativi.
- AUDIO: È stata aggiunta l’opzione per silenziare l’audio durante il riavvolgimento.
- AUDIO/PIPEWIRE: Risolto un problema che impediva l’avvio dell’app se il servizio PipeWire era fermo. Corretto un comportamento anomalo che causava un’accelerazione del video in modalità video multithread. Migliorata la gestione della latenza e del microfono, ora il nuovo tasso audio viene passato correttamente al driver.
- CAMERA: Aggiunti i driver per fotocamera basati su PipeWire e ffmpeg.
- CHEAT: Parte del codice relativo alla gestione dei cheat è stato riscritto per maggiore efficienza.
- CHEEVOS: Ora lo stato degli achievement viene incluso nelle sessioni netplay. Corretto un crash che si verificava entrando nel menu rapido degli achievement senza che un client fosse connesso. Reintrodotto il supporto per le icone badge degli achievement nelle build con widget grafici abilitati.
- CLI: Il parametro
--entryslot
ora può tornare a usare gli stati normali in assenza di uno specificato. - CLOUDSYNC: Corretti problemi nei percorsi su Windows. Implementate soluzioni alternative per bug legati a richieste duplicate e redirect 301. Migliorata la gestione delle directory ignorate.
- EMSCRIPTEN: Introdotto il driver AudioWorklet, un driver audio basato su callback molto più veloce. Ora la finestra si ridimensiona correttamente. Aggiunte nuove funzioni di piattaforma. Introdotto un nuovo driver video predefinito
emscriptenwebgl_ctx
e un moderno lettore web che andrà a sostituire quello attuale. Aggiunto il supporto al tocco inrwebinput
. - GAMECUBE: Effettuate alcune correzioni minori.
- GENERAL: Corretta l’incrementazione automatica dei salvataggi. Sistemato il patching dei file con punti nel nome. Risolta la compilazione con
--enable-videocore
. È ora possibile ridefinire le directory tramite variabili d’ambiente. Aggiunto il supporto per l’override degli input dei giocatori 1/2 tramite modelli di machine learning (richiede ricompilazione e librerie esterne). Sistemata la memorizzazione dell’opzione per i contatori di performance. Redatta una dichiarazione sulla sicurezza. Risolto un crash che si verificava quando non era selezionato alcun core. Ora viene usato l’FPS del core invece del refresh dello schermo per calcolare i frame persi. - INPUT: Risolto un crash su Linux durante l’inizializzazione del sensore di illuminanza. Rifattorizzato il sistema analogico-digitale per correggere comportamenti imprevisti. Rivista la gestione del turbo fire. Su Android, sistemata la gestione della messa in pausa e del focus di gioco. Su Cocoa, i valori di accelerazione includono ora anche la gravità. Sistemato l’input relativo del mouse e abilitato il suo utilizzo anche quando è attiva la sovrapposizione. Su WinRaw invertito l’ordine degli indici del mouse.
- IOS: Ora l’avviso del server web può essere chiuso. Corretto il ricaricamento delle playlist manuali dopo gli aggiornamenti dell’app. Sistemate la funzione di pulizia delle playlist e un crash durante la scansione. Corretto il ritorno alla voce selezionata dopo la chiusura di un contenuto. Sistemata la configurazione del contesto GL condiviso. Aggiornata la schermata di avvio e introdotto il blocco dell’orientamento dello schermo tramite il server display.
- LAKKA: Rimozione automatica dei dispositivi Bluetooth disconnessi.
- LINUX/X11: Esteso il driver di input con il supporto XInput2 per il multi-mouse.
- MACOS: Sistemata la gestione della sandbox per le build App Store. Quando si perde il focus, viene ora correttamente resettato lo stato della tastiera.
- MENU: Aggiunto il supporto SSL all’elenco delle informazioni. Introdotto un avviso per le opzioni BFI. Corretti i dati sulle latenze con runahead. Migliorata l’apertura dei file compressi con selezione core. Unificati i menu principali tra i diversi driver. Introdotta la possibilità di mostrare/nascondere le tab delle playlist. Colorazione dell’icona di notifica in base alla categoria. Ritocchi ai temi chiari e scuri Gray.
- MENU/GLUI: Il pulsante “indietro” ora cambia scheda come negli altri menu. Viene rispettata l’opzione di selezione delle tab. Corretta la visualizzazione dell’icona CD quando non specificata. Ora è possibile navigare le anteprime in fullscreen e salvare le miniature degli stati di salvataggio.
- MENU/PLAYLISTS: Aggiunta funzione di selezione casuale/mescolamento.
- MENU/QT: Sistemato il crash del menu desktop con Cheevos disabilitati.
- MENU/RGUI: Pulizia di alcune voci del menu e correzione delle miniature.
- MENU/OZONE: Corretta la grafica del messaggio popup.
- MENU/XMB: Sistemati il tema chiaro e l’ombra dei font. Ottimizzata l’interfaccia e ora le icone delle miniature possono essere di qualunque tipo esistente.
- MISC: Miglioramenti alla compatibilità POSIX, uso di controlli e soglie corrette per il refresh rate, e verifiche specifiche per piattaforma sui descrittori non validi.
- MIDI: Aggiunto un menu a tendina per la selezione del dispositivo MIDI.
- NETWORK: Rifattorizzato
net_http
per migliorarne le prestazioni e la gestione dei task. Ora vengono seguiti automaticamente i redirect HTTP. Le risoluzioni DNS fallite scadono più velocemente. Sistemato il netplay con l’interfaccia netpacket in presenza di cheevos recenti. Corretto un crash innet_http_resolve()
in modalità singolo thread. - OVERLAY: Corretti gli overlay per lightgun, mouse e puntatori. Ora il caricamento preferenziale degli overlay è attivo solo su piattaforme mobili. Migliorato il rientro analogico quando si tocca appena fuori dalla zona di rientro.
- QT: Le miniature non PNG ora sono supportate anche nell’interfaccia Qt.
- REPLAY: Sistemati i problemi con la riproduzione dei file di input più vecchi nei nuovi RetroArch.
- TTS: Risolto il primo avvio della sintesi vocale su Windows.
- TVOS: Corretto il supporto a risoluzioni 720p e al rilevamento del refresh rate su tvOS 13/14. Aggiornate le immagini Top Shelf.
- SAVESTATES: L’indice dello stato di salvataggio viene azzerato quando si carica un nuovo contenuto.
- UWP: Sistemata la compilazione degli shader slang.
- VIDEO: Abilitata l’impostazione BFI anche su dispositivi mobili (con avvertenze). Su OpenGLES corretta la gestione FP/sRGB con FBO. Sincronizzazione precisa del refresh con sottotrame shader. Risolti i wildcard negli shader. Abilitato il vsync adattivo su Vulkan. Su V4L2 aggiunta la selezione e forzatura della risoluzione, migliorata la rilevazione dei dispositivi audio ALSA, e ignorate alcune query non fondamentali con dispositivi Magewell USB.
- VITA, WII, WIIU: Vari bugfix.
- WINDOWS: Miglioramenti alla gestione dei socket Win32.
- WEBPLAYER: Aggiornata la lista dei core alla versione 1.20.0.
Download: retroArch v1.21.0
Download: Source code retroArch v1.21.0
Fonte: github.com