Il team Libretro uno dei migliori Team di sviluppo ha rilasciato un massiccio aggiornamento di Retroatch con la nuova versione 1.9.9. Retroarch come promemoria e’ un multi-emulatore disponibile per tante piattaforme comprese le console portatili e gli smartphone, con il supporto alle librerie VulKAN,la funzione “Netplay” e UPnP per giocare in multi-player on-line e l’inizio del supporto su windows di ANGLE.Le novità sono veramente tante e vi consiglio di leggere il resto dell’articolo
Piattaforme
RetroArch è disponibile sulle seguenti piattaforme:
- DOS
- Windows
- Linux
- Emscripten (WebAssembly e JavaScript)
- FreeBSD
- NetBSD
- OpenBSD
- Haiku
- Solaris
- macOS (PPC, x86-32 e x86-64)
- PlayStation 2
- PlayStation 3
- PlayStation Portatile
- PlayStation Vita
- Microsoft Xbox
- Microsoft Xbox 360 (Libxenon/XeXDK)
- Nintendo GameCube
- Nintendo Wii
- Nintendo Wii U
- Nintendo 3DS/2DS
- Nintendo Switch
- Nintendo NES/SNES Classic Edition
- Raspberry Pi
- Android
- iOS
- Blackberry
Supporto High Dynamic Range per i driver Direct3D 11/12!
Ora abbiamo aggiunto il supporto HDR (High Dynamic Range) al driver Direct3D 11/12 di RetroArch grazie a un generoso contributore!
Cosa dovresti sapere:
* Le impostazioni HDR sono disponibili in Impostazioni -> Video quando si utilizza il driver Direct3D 11 o 12. Per passare a D3D11/12, vai su Impostazioni -> Driver e cambia Video in ‘D3D11/12’.
Nel caso in cui non vedi l’opzione e ti sei assicurato prima che il tuo driver sia impostato su Direct3D 11/12, potrebbe essere che l’HDR sia disabilitato in Windows 10. Assicurati che l’HDR sia abilitato in Windows nel caso non lo fossi. t vederlo apparire. In Windows, vai su “Impostazioni schermo” (nella foto sotto) e assicurati che l’impostazione HDR sia attivata. Se non viene visualizzato, il tuo dispositivo di visualizzazione potrebbe semplicemente non supportare l’HDR.
* Ora lasciamo che Direct3D 11 compili gli shader frontend contro Shader Model 5.0 (SM 5.0) nel caso in cui il driver della scheda grafica supporti D3D11 Feature Level 11.0 o superiore. In precedenza, compilava sempre gli shader frontend rispetto allo Shader Model 4.0 e sfortunatamente lo shader AMD FSR appena aggiunto necessita delle funzionalità SM 5.0 per funzionare.
* Sebbene l’HDR funzioni già sulla versione UWP su PC, su Xbox attualmente ci sono diversi problemi di visualizzazione, quindi per ora rimane disabilitato.
Pensieri sul futuro supporto RetroArch HDR
* Abbiamo ancora bisogno di implementazioni HDR per altre API grafiche moderne, come Vulkan (e il core Metal e/o OpenGL se possibile). Non abbiamo l’ETA su quando sarà fatto. Idealmente un generoso contributore ce lo sottopone, proprio come è successo con D3D11/12.
* Anche lo slang [il formato shader] avrà bisogno del supporto HDR per sfruttare appieno la gamma estesa. In questo momento l’autore che ha realizzato l’implementazione di D3D11/12 ha creato uno shader di riferimento che, secondo lui, può già trarre vantaggio dall’HDR: dai un’occhiata al suo nuovo shader ‘integer-scaling-scanlines.slangp’ . Puoi trovare questo preset all’interno della cartella ‘scanlines/shaders’. È uno shader di scanline pixel perfetto in modalità di ridimensionamento intero da utilizzare con monitor a bassa risoluzione, macchine poco potenti, la nuova modalità HDR in RetroArch e per le persone che desiderano linee di scansione nitide ai pixel senza alcun motivo moiré (ma con lo svantaggio che il ridimensionamento intero deve essere attivo e quindi non riempire lo schermo o riempire eccessivamente lo schermo).
* È necessario sottolineare che il supporto HDR su Linux in generale è molto prematuro in questo momento rispetto a Windows. Windows sembra essere un po’ più avanti a questo punto in questo reparto. Speriamo che questa disuguaglianza venga risolta a breve. Ma sappi solo che questo potrebbe legarci un po’ le mani.
Menu touchscreen inferiore del 3DS
Un menu touchscreen completamente interattivo per lo schermo inferiore del 3DS è stato aggiunto dal generoso contributore bulzipke!
Le seguenti funzioni sono attualmente disponibili in questa schermata:
Riprendi gioco
Attiva/disattiva il menu RetroArch, lo chiude e torna al gioco.
Crea punto di ripristino
Se lo tocchi, salvalo sulla scheda SD.
Se l’opzione Save State Thumbnails è abilitata, puoi vedere le schermate al punto di ripristino del caricamento. Il punto di
ripristino del caricamento
mostra la data in cui è stato salvato. (E mostra Screenshot se esiste). Se cambi lo slot di stato, il menu in basso aggiornerà Screenshot / data / stato.
Lettore video
È stato aggiunto il caricamento/salvataggio dello stato di salvataggio su RAM anziché su disco, quindi è possibile avere punti di sospensione temporanei senza scrivere su disco. Lo stato viene salvato su disco solo quando:
* Chiusura del coperchio del 3DS
* Pressione del tasto HOME
* Uscita da RetroArch
Questo dà alle cose una sensazione molto fluida. Non solo, il salvataggio dello stato sulla RAM è di ordini di grandezza più veloce rispetto al salvataggio su disco, quindi ora mentre si eseguono queste operazioni, le cose non rallentano più a passo d’uomo.
C’è anche l’opzione per disabilitare lo schermo inferiore –
Impostazioni->Interfaccia utente->Schermo inferiore 3DS
Sebbene questa opzione non influisca sulle prestazioni, si stima che il testo “Tocca il touch screen per andare al menu Retroarch” possa aggiungere un consumo aggiuntivo della batteria per disegnare lo schermo. Quindi è sempre bello avere la possibilità di disattivarlo se necessario.
AMD FidelityFX Super Resolution (FSR) è stato portato su Libretro/RetroArch!
Un contributore molto generoso ha presentato un’implementazione pienamente funzionante di AMD FSR come shader gergale da utilizzare in RetroArch! Questo shader dovrebbe essere completamente compatibile con i seguenti driver video in RetroArch:
* Metal
* OpenGL Core (o almeno 4.0 con il normale driver OpenGL)
* Vulkan
* Direct3D 11 (se la tua scheda supporta Direct3D 11 Feature Level 11.0 o superiore)
* Direct3D 12
Abbiamo dovuto aggiornare il nostro driver Direct3D 11 per consentire l’uso di Shader Model 5.0 quando la tua GPU lo supporta, poiché questo shader richiede le funzionalità SM 5.0 e non funzionerebbe su D3D11 senza di esso.
Il collaboratore menziona nella sua richiesta pull che l’implementazione di AMD FSR come pixel shader sembrava funzionare bene nonostante AMD insistesse sul fatto che dovrebbe essere implementato come compute shader.
Oltre a questo porting diretto di FSR, si è anche preso del tempo per rifare lo shader SMAA. Ora dovrebbe essere meno di una porta e utilizza solo la libreria originale non modificata, aggiungendo alcune funzionalità e trame di ricerca di qualità superiore. Il collaboratore non era molto soddisfatto della qualità di questo AA e voleva verificare se potesse essere migliorato, principalmente perché FSR richiede un AA (Anti-Aliasing) di bell’aspetto, altrimenti non avrebbe molto senso. Alla fine, i guadagni di qualità sono stati marginali, praticamente impercettibili. Nonostante ciò, c’è anche un preset AMD FSR + SMAA che puoi usare.
Puoi vedere alcune immagini di confronto in basso: all’estrema sinistra c’è l’immagine senza shader, al centro c’è AMD FSR e a destra è applicato AMD FSR + SMAA.
Ys Seven undub con il core PCSX2 in RetroArch. L’immagine è ingrandita qui di 2x. A sinistra: nessun shader, al centro: shader AMD FSR, a destra: AMD FSR + SMAA.
1a immagine: Gradius V con il core PSCX2 in RetroArch, ingrandito per mostrare come l’FSR può combattere l’aliasing. A sinistra: nessun shader, al centro: AMD FSR, a destra: AMD FSR + SMAA. Nota come le frastagliature diventano meno pronunciate applicando FSR e come diventano ancora meno con l’aggiunta di SMAA al mix.
2a immagine: Gradius V con il core PCSX2 in RetroArch, ingrandita. In alto: senza shader, al centro: AMD FSR, a destra: AMD FSR + SMAA.
3a immagine: Panzer Dragoon in esecuzione su Kronos con shader AMD FSR (clicca sull’immagine per vederla senza shader applicato).
Aggiunta funzionalità di ricerca avanzate al menu “Trucchi”
La versione 1.9.9 aggiunge funzionalità di ricerca avanzate al menu Quick Menu > Cheats, simile a quella dei menu core downloader e core manager:
Inoltre, la funzione di ricerca può essere utilizzata per filtrare i trucchi che sono attualmente attivi o disattivati: questo viene fatto cercando la stringa ‘chiave’ .on o .off
* La stringa della chiave non fa distinzione tra maiuscole e minuscole
* Il testo di attivazione/disattivazione effettivo è localizzato – corrisponde a ciò che è attualmente mostrato come valore cheat (cioè se la lingua dell’utente è impostata sul francese, il tasto di attivazione è .Activé
* È stato scelto il punto iniziale perché (a) dovrebbe essere disponibile sulla maggior parte dei layout di tastiera, (b) è disponibile nella prima “pagina” dell’OSK di RetroArch e (c) è più facile da digitare che racchiudere la stringa tra parentesi, poiché viene visualizzata nella imbrogliare il testo del valore
Ricampionatore sinc più veloce e conversione audio per piattaforme ARM NEON
In precedenza, il ricampionatore audio sinc e le funzioni di conversione audio avevano solo codepath SIMD ottimizzati scritti in ASM per ARM NEON. Ci sono sempre più piattaforme/toolchain ora che proibiscono o rendono difficile l’uso delle routine di assemblaggio, o raccomandano fortemente di ricorrere invece agli intrinseci SIMD.
Quindi ora abbiamo fatto esattamente questo. Tutte le routine di conversione audio (da float a intero a 16 bit con segno, da intero a 16 bit con segno a float) e il ricampionatore audio sinc ora hanno a disposizione percorsi di codice ottimizzati intrinseci ARM NEON invece di limitarsi ai percorsi di codice C per impostazione predefinita. Ciò dovrebbe contribuire alle prestazioni su piattaforme come Mac M1, dispositivi Android, PS Vita, dispositivi iPhone e hardware ARM Linux in generale (entrambi AArch64/ARMv7).
Abbiamo ancora lasciato in questi percorsi di codice ASM legacy dietro un ifdef nel caso qualcuno ne avesse ancora un uso, ma da ora in poi cercheremo di offrire percorsi di codice sia intrinseci che ASM quando possibile, o intrinseci solo se entrambi non possono essere fornito.
Correzioni importanti
Risolto il problema con il cheat quando si utilizzava il runahead di seconda istanza
Prima, l’uso dei cheat quando era abilitato il runahead di seconda istanza causava un comportamento indefinito perché i cheat venivano applicati solo al core primario (e non a quello secondario). 1.9.9 risolve il problema. Garantisce inoltre che i cheat vengano riapplicati correttamente quando runahead di seconda istanza viene attivato mentre il contenuto è in esecuzione.
Risolto il problema con i suoni del menu (mixing audio) quando si utilizzava il ricampionatore “sinc” con una qualità inferiore a “normale” Prima, se il ricampionatore sinc veniva utilizzato con una qualità inferiore o inferiore, l’abilitazione di qualsiasi “suono del menu” (incluse le notifiche di cheevos) avrebbe interrompe completamente l’audio del gioco. 1.9.9 risolve il problema assicurando che tutti i ricampionatori del mixer audio utilizzino la stessa impostazione di qualità di quella principale. Inoltre, ci assicuriamo che venga utilizzato lo stesso driver di backend.
La versione 1.9.9 corregge anche una perdita di memoria quando si caricano i suoni del sistema senza reinizializzare il driver (cioè quando si attivano i suoni del menu tramite il menu)
Risolti diversi arresti anomali che potevano verificarsi durante la commutazione a
schermo intero La commutazione a schermo intero ora dovrebbe essere più robusta in core come PCSX2, Flycast e altri core di emulazione basati su 3D.
Aggiunta l’opzione per (forzare) scrivere le opzioni principali correnti sul disco
RetroArch salva automaticamente le opzioni principali alla chiusura del contenuto, ma se un core mal funzionante provoca un arresto anomalo alla chiusura del contenuto, le impostazioni correnti delle opzioni principali andranno perse.
La versione 1.9.9 aggiunge una nuova voce Flush Options to Disk nel menu Quick Menu > Options > Manage Core Options. Quando selezionato, questo forzerà la scrittura immediata delle opzioni principali nel file delle opzioni attivo.
Poiché il 99% degli utenti non avrà bisogno di questa funzionalità (è stata richiesta per gli utenti che testano il core PCSX2) la voce è nascosta per impostazione predefinita, con la visibilità controllata tramite una nuova Impostazioni> Interfaccia utente> Visibilità voce di menu> Menu rapido> Mostra ‘Opzioni di lavaggio su disco’.
Questo PR corregge anche un bug piuttosto fastidioso relativo al salvataggio delle opzioni principali: al momento, se un utente ha abilitato Usa file delle opzioni principali globali e crea quindi elimina un file di opzioni della directory per gioco o per contenuto tramite l’interfaccia Gestisci opzioni principali , quando le opzioni correnti vengono nuovamente salvate nel file globale, tutte le impostazioni non correlate al core corrente verranno rimosse (!). Questo problema è stato risolto assicurando che tutti i dati dei file di configurazione archiviati localmente vengano aggiornati correttamente ogni volta che i file delle opzioni della directory per gioco o per contenuto vengono eliminati.
Evidenzia il valore attualmente selezionato negli elenchi a discesa dei parametri Shader
Prima, quando si apriva un elenco a discesa dei parametri dello shader tramite Menu rapido > Shader > Parametri Shader, il cursore di selezione si “ripristinava” sempre in cima a tale elenco. 1.9.9 assicura che il valore del parametro corrente sarà selezionato e contrassegnato automaticamente.
Nota che potremmo sostituire questi elenchi a discesa dei parametri dello shader con l’input da tastiera ad un certo punto, ma nel frattempo potremmo anche correggere questo bug di selezione (dato che è così facile da fare!).
Consente l’inserimento manuale di “Frequenza di aggiornamento verticale” tramite tastiera/tastiera su schermo
Apportare modifiche significative a Impostazioni > Video > Uscita > Frequenza di aggiornamento verticale (ad es. 60 Hz -> 50 Hz) è piuttosto noioso, poiché tenendo premuto sinistra/destra si modifica il valore solo in passi di 0,001 Hz.
1.9.9 aggiunge la possibilità di impostare questo parametro ‘manualmente’. Quando è selezionato Vertical Refresh Rate, è possibile immettere un nuovo valore tramite l’OSK o la tastiera fisica.
Per le impostazioni correnti in cui vengono generati elenchi a discesa molto lunghi, potremmo considerare di passare a questo stile di input.
Linux – udev – Cerca “ID_INPUT_KEY”, non “ID_INPUT_KEYBOARD” Contributo
molto importante di icculus (di fama SDL) –
Questo risolve i programmi che utilizzano /dev/uinput per creare una tastiera virtuale che non viene rilevata all’avvio. Il sintomo usuale è una sorta di controller basato su GPIO su un Raspberry Pi che sembra una tastiera per il sistema operativo e può controllare EmulationStation, ma non funziona nel gioco a meno che non si riavvii il programma del controller mentre il gioco è in esecuzione (nel qual caso udev_input il codice hotplug di .c, che utilizzava la stringa corretta, lo avrebbe rilevato).
I file di cache delle informazioni di base ora sono portatili
I file di cache delle informazioni di base dovrebbero ora essere portabili.
La cache delle informazioni sul core memorizza i percorsi del core assoluti, il che interrompe la portabilità (cioè se la cache è abilitata e la directory principale viene spostata, i core non possono più essere caricati).
In verità, è un errore memorizzare nella cache il percorso principale in primo luogo, poiché questo è già recuperato dal filesystem indipendentemente dal fatto che la cache sia abilitata. 1.9.9 rimuove quindi i percorsi principali dalla cache delle informazioni, quindi viene sempre utilizzato il percorso corretto (determinato dinamicamente).
Di conseguenza, iOS ora ha nuovamente riattivato i file della cache delle informazioni di base, il che dovrebbe portare a un aumento delle prestazioni complessive delle informazioni di base.
Registro modifiche
1.9.9
- 3DS: aggiunto il menu touchscreen in basso
- 3DS/SAVESTATES: salva e carica gli stati di salvataggio nella e dalla RAM
- AUDIO/MIXER: assicurati che i suoni del menu siano riattivati quando si chiama CMD_EVENT_AUDIO_REINIT
- AUDIO/RESAMPLER/MIXER: Correggi i suoni del menu (mixing audio) quando si utilizza il ricampionatore ‘sinc’ con una qualità inferiore a quella ‘normale’
- AUDIO/CONVERSION/ARM NEON: l’aggiunta di versioni NEON intrinseche per float_to_s16/s16_to_float – dovrebbe portare a percorsi di codice ottimizzati per le architetture AArch64/ARMv7 senza dipendere dai percorsi di codice ASM.
- AUDIO/RESAMPLER/ARM NEON: aggiunta della versione NEON intrinseca per la funzione lanczos sinc – dovrebbe portare a codepath ottimizzati per le architetture AArch64/ARMv7 senza dipendere dai codepath ASM.
- CHEEVOS: aggiornamento a rcheevos 10.2
- TRUCCHI: aggiungi funzionalità di ricerca avanzate al menu “Trucchi”
- CHEATS/RUNAHEAD: Risolti i trucchi quando si utilizza runahead di seconda istanza
- CONFIG: Aggiungi l’opzione per (forzare) scrivere le opzioni principali correnti su disco (menu rapido)
- CORE INFO CACHE: Rimuovi il percorso principale dalla cache delle informazioni di base. Dovrebbe rendere portatili le cache delle informazioni di base ora (ad esempio: puoi spostare RetroArch in una directory separata e funzionerebbero comunque).
- D3D11: utilizzare Shader Model 5.0 per gli shader frontend se il livello di funzionalità D3D11 è almeno 11.0 o superiore. Dovrebbe correggere alcuni nuovi shader che richiedono SM 5.0 (come AMD FSR)
- D3D11: aggiungi il supporto HDR (non funziona per Xbox per ora)
- D3D12: aggiungi il supporto HDR (non funziona per Xbox per ora)
- EMSCRIPTEN: Risolto bug del web player con filesystem e runtime
- INGRESSO/SOVRAPPOSIZIONE: correzione dell’ingresso in sovrapposizione quando è abilitata la mappatura da analogico a digitale
- INPUT/UDEV: cerca “ID_INPUT_KEY”, non “ID_INPUT_KEYBOARD”
- INPUT/WINRAW: Risolto crash quando la sovrapposizione è abilitata
- MAC/METAL: aggiungi il supporto Discord RPC
- MENU: consente di inserire manualmente “Rapporto aspetto personalizzato (Posizione X)/(Posizione Y)/(Larghezza)/(Altezza)” tramite la tastiera
- MENU: consente l’inserimento manuale di “Frequenza di aggiornamento verticale” tramite tastiera
- MENU/SHADERS: evidenzia il valore attualmente selezionato negli elenchi a discesa dei parametri Shader
- STABILITÀ: modalità più sicura per evitare problemi in audio_driver_sample/audio_driver_sample_batch: possiamo controllare l’audio sospeso per vedere se stiamo eseguendo un interruttore fs/windowed – migliora la stabilità quando si attiva/disattiva il contesto a schermo intero
- STABILITÀ: quando la funzione di callback di scrittura del driver audio fallisce, non disattivare completamente l’audio: controlla se audio_driver_output_samples_conv_buf non è NULL prima di tentare di scrivere l’audio: migliora la stabilità quando si attiva/disattiva il contesto a schermo intero
- STABILITÀ: robustezza dell’input per i core che utilizzano il threading interno (smontaggio/configurazione completa), nessun audio dovrebbe essere elaborato in questo momento
- VIDEO: sanificazione dell’elenco delle risoluzioni dello schermo
- VULKAN: correggi alcuni errori del livello di convalida Vulkan
- UWP: Icone aggiornate per gentile concessione di Danp142
- UWP/XBOX: disabilita il controllo del modello della CPU su Xbox in quanto non funziona e può persino bloccarsi
- UWP/VFS/XBOX: pulizia del codice e semplificazione del driver UWP VFS