Home Emulatori Rilasciato emulatore RPCS3 v0.0.37 Alpha

Rilasciato emulatore RPCS3 v0.0.37 Alpha

104
0

Pubblicato un nuovo aggiornamento alpha per RPCS3, l’emulatore open-source della console PlayStation 3 in sviluppo per PC Windows, MacOS e Linux.


RPCS3 ha iniziato lo sviluppo all’inizio del 2011 da una piccola squadra di programmatori guidati da DH Hykem, attualmente supporta i moderni renderer DirectX 12, Vulkan e OpenGL. Ad oggi lo sviluppo viene seguito dal developer Nekotekina insieme ad altri collaboratori.

Questa nuova versione introduce una serie molto estesa di miglioramenti e correzioni che coinvolgono diversi aspetti dell’emulazione, dall’interfaccia utente alle ottimizzazioni a basso livello del core.

A livello di interfaccia Qt e gestione degli input, sono stati risolti problemi legati alle scorciatoie da tastiera, con aggiustamenti che migliorano la reattività e la precisione nell’accumulo di pressioni di tasti tra un refresh grafico e l’altro.

Inoltre, è stato aggiornato OpenAL alla versione 1.24.3, migliorando la qualità e la stabilità dell’audio. Sono state implementate correzioni per la riproduzione delle icone nei salvataggi e nella lista giochi, inclusa la corretta visualizzazione di file ICON1.PAM.

Aggiornato anche il minimo richiesto di CMake a 3.28, e su Windows è stato risolto un bug che impediva l’aggiornamento corretto quando il nome utente contiene caratteri Unicode.

Dal punto di vista tecnico, il core PPU (la CPU emulata della PS3) ha ricevuto importanti fix, come la correzione delle istruzioni VMAXFP e VMINFP, e miglioramenti nel debugger, come la gestione più precisa dei breakpoint e delle interruzioni.

Sono stati migliorati i sistemi di gestione della memoria, con correzioni per i breakpoint sulle scritture di memoria e l’allocazione pigra dei descrittori di memoria condivisa.

Sul lato grafico, la parte RSX (la GPU della PS3) è stata sottoposta a numerose ottimizzazioni: si è lavorato sul tracciamento dei comandi di barriera per rendere più efficiente la verifica di compatibilità durante l’istanziamento, si è sostituito un container dati con uno più performante e sono stati risolti problemi minori legati alla ricostruzione delle immagini, evitando interpolazioni inutili.

Anche Vulkan ha beneficiato di rifiniture, con il miglioramento della gestione delle costanti di trasformazione e la correzione di problemi specifici come il “stencil unresolve” su schede NVIDIA meno recenti.

Questi interventi contribuiscono a ridurre vistosamente i rallentamenti e migliorare la stabilità grafica in titoli noti per soffrire di stuttering.

L’aggiornamento include anche modifiche per il supporto a dispositivi di input avanzati, con particolare attenzione al volante Logitech G27, che ha ricevuto pulizia del codice, aggiornamenti e ampliamento delle funzionalità di mappatura.

Inoltre, è stato migliorato il supporto haptic (vibrazione) con log più dettagliati per facilitare il debug.

A livello di build e infrastruttura, sono stati aggiunti test unitari sia per la parte grafica sia per il codice generale, con integrazione continua migliorata per Windows e Mac.

Sono stati effettuati aggiornamenti di librerie esterne come SDL (ora versione 3.2.14), MoltenVK (v1.3.0), curl (8.14.0) e glslang (15.3.0), mantenendo il progetto al passo con le ultime tecnologie.

Altre correzioni importanti riguardano la gestione dei trofei, che ora non mostra più trofei nascosti come sbloccati, e vari bug nel sistema di terminazione dei giochi, per evitare duplicazioni delle chiamate di chiusura.

Inoltre, è stato migliorato il tracciamento dello stato di uscita per una gestione più fluida e prevedibile delle chiusure.

Infine, sono state rimosse vecchie porzioni di codice non più utilizzate, aggiornate le dipendenze e migliorata la struttura interna del progetto, compresa la creazione di librerie statiche per RPCS3 e il supporto a un sistema più modulare e scalabile.

Aggiornamenti

Se si esegue l’emulatore in Windows, basta trascinare l’eseguibile aggiornato nella directory principale della cartella RPCS3. Di volta in volta potrebbero venir aggiunte o modificate nuove DLL, assicuratevi di copiare anche questi file eventualmente.

Se invece si esegue l’emulatore in Linux, è necessario scaricare l’AppImage aggiornato e renderlo eseguibile con il comando chmod a+x ./rpcs3-*_linux64.AppImage.

Requisiti

Trattandosi di un emulatore in continuo sviluppo, i requisiti di sistema potrebbero variare da versione a versione.

Tuttavia sono stati riportati i requisiti di sistema minimi che devono essere soddisfatti affinché l’emulatore possa funzionare correttamente su qualsiasi sistema.

MinimiConsigliati
ProcessoreAMD - Qualsiasi CPU x64
Le CPU senza AVX2 e con meno di 4 core e 8 thread dovrebbero funzionare molto male nel complesso Le
CPU con solo 2 core per cluster CCX dovrebbero funzionare molto male nel complesso

Intel: qualsiasi CPU x64
Le CPU senza AVX2 e con meno di 4 core e 8 thread dovrebbero funzionare molto male nel complesso

AMD - 6 core e 12 thread, 8 core o più
L'architettura AMD Zen 2 o le serie AMD Threadripper 1000 e 2000 più recenti non sono consigliate
Intel: 6 core e 12 thread, 8 core o più
Architettura Intel Skylake o più recente
GPUAMD - Compatibile con OpenGL 4.3 o versioni successive
Architettura AMD Evergreen, serie HD 5000 o successiva

NVIDIA - Compatibile con OpenGL 4.3 o versioni successive
Architettura NVIDIA Fermi, serie GTX 400 o successive

AMD - Vulkan compatibile con supporto driver attivo
Architettura AMD Polaris, serie RX 400 o successive
Compatibile con NVIDIA - Vulkan con supporto driver attivo
Architettura NVIDIA Maxwell, serie GTX 900 o successive
RAM4 GB di RAM o più
4 GB è il requisito minimo assoluto
8 GB di RAM dual-channel o più
La memoria a doppio canale è altamente raccomandata rispetto a quella a canale singolo
StorageArchiviazione SSD o HDD per dati e giochi dell'emulatore

512 MB per i dati dell'emulatore di base, 5 GB per la console virtuale dev_hdd1 cache
128 MB per la cache dell'emulatore e i dati utente della console per gioco installato*

* Raccomandazione media. Alcuni giochi potrebbero richiedere di più, la maggior parte dei giochi richiede meno
Archiviazione SSD per dati dell'emulatore, archiviazione SSD o HDD per giochi

512 MB per i dati dell'emulatore di base, 5 GB per la console virtuale dev_hdd1 cache
128 MB per la cache dell'emulatore e i dati utente della console per gioco installato*

* Raccomandazione media. Alcuni giochi potrebbero richiedere di più, la maggior parte dei giochi richiede meno
OSWindows
Windows 7 SP1, Windows 8.1, Windows 10 2004 o versioni successive

Linux
Linux 5.4 (LTS precedente), Ubuntu 18.04 o successivo

Mac OS
macOS Big Sur 11.6 o versioni successive

FreeBSD
FreeBSD 12.2 o successivo
Windows
Windows 10 21H1 o versioni successive

Linux
Linux 5.16 (più recente), 5.15 (LTS) o versioni successive

Mac OS
macOS Monterey 12.0 o versioni successive

FreeBSD
FreeBSD 13.0 o successivo

Changelog

Il team responsabile dello sviluppo dell’emulatore RPCS3 chiarisce che gli aggiornamenti di versione sono intesi come punti di riferimento nel processo di sviluppo e non come versioni definitive stabili.

Per questo motivo, si consiglia di scaricare sempre l’ultima build disponibile dal sito ufficiale, https://rpcs3.net/download, per assicurarsi di avere accesso alle più recenti ottimizzazioni e correzioni.

  • Qt/Input: Correzioni ai tasti di scelta rapida by @Megamouse in #16971
  • Aggiornato OpenAL alla versione 1.24.3 by @Megamouse in #16972
  • cellSaveData: Inizializza correttamente SaveDataEntry by @Megamouse in #16967
  • Overlay: Riproduci ICON1.PAM nella lista dei salvataggi, se possibile by @Megamouse in #16968
  • Aggiornata la versione minima di CMake a 3.28 by @hcorion in #16978
  • Windows: Corretto l’aggiornamento con nome utente Unicode by @Megamouse in #16980
  • Qt: Rimosso il codice obsoleto QWinTaskbar by @Megamouse in #16984
  • Aggiornati i submoduli by @Megamouse in #16986
  • Corretto il percorso dell’SDK su macOS by @nastys in #16990
  • Aggiornamenti vari by @AniLeo in #16996
  • PPU LLVM: Correzioni VMAXFP e VMINFP by @elad335 in #16987
  • Linux: Non include librerie Qt6 inutilizzate, ridotta la dimensione dell’AppImage by @AniLeo in #17001
  • vk: Rielaborato l’hot-patching delle costanti di trasformazione per evitare operazioni di trasferimento e suddividi i renderpass by @kd-11 in #16998
  • sys_spu: Corretti i limiti dell’hardware scheduler by @elad335 in #16988
  • cellMic: Corretto l’uso di dispositivi con nomi molto lunghi by @Megamouse in #16936
  • Aggiornati i submoduli by @Megamouse in #17009
  • Qt: Corretti i crash nella riproduzione delle anteprime video nella lista giochi, Docker: aggiornato FFmpeg alla versione 7.1.1 by @AniLeo in #17005
  • ppu: Rimossi i controlli ridondanti su MTFSF by @AniLeo in #17013
  • Qt: Corretti i dialog multi-installazione dei pacchetti su Linux by @AniLeo in #17012
  • PPU LLVM: Correzione MTFSF by @elad335 in #17018
  • rsx: Traccia i tipi di barriere dei comandi durante la registrazione per controlli di compatibilità istanziamento più rapidi by @kd-11 in #17011
  • glext: Aggiornato dal 30.05.2022 al 03.02.2025 by @AniLeo in #17014
  • rsx: Sostituito robin_hood con ankerl::unordered_dense by @AniLeo in #17015
  • Ridotta ulteriormente la dimensione dell’AppImage by @pflyly in #17016
  • Utilizza una versione fissa di uruntime by @RipleyTom in #17022
  • Qt: Corretto controllo visibilità degli elementi nella tabella by @Megamouse in #17024
  • vk: Corretto un refuso nel percorso di “stencil unresolve” specifico per NVIDIA by @kd-11 in #17028
  • Aggiornamento a Qt 6.9.0 by @Megamouse in #16985
  • evdev: Registra configurazioni di assi positivi by @Megamouse in #17033
  • rsx: Piccoli miglioramenti by @kd-11 in #17040
  • Aggiunto tasto Menu by @profezzorn in #17039
  • Qt/input: Accumula le pressioni dei tasti tra un aggiornamento della GUI e l’altro by @Megamouse in #17044
  • sceNpTrophyRegisterContext: Invia segnali in modo asincrono by @elad335 in #17025
  • Qt: Corretto il reset delle immagini nella lista giochi dopo l’interruzione di un video by @Megamouse in #17049
  • Qt: Corretta la scomparsa delle icone della lista giochi dopo aver fermato un video by @Megamouse in #17054
  • git: Rimosso codice inutilizzato by @AniLeo in #17052
  • Qt: Aggiunte caselle di selezione alla lista VFS per una selezione più intuitiva by @Megamouse in #17050
  • Corretto l’aggiornamento della lista giochi per le cartelle VFS rilevate automaticamente by @digant73 in #17051
  • Implementato sys_spu_image_open_by_fd, corretto sys_spu_image_open by @elad335 in #17061
  • PPU: Corretti i breakpoint di scrittura in memoria per 13 istruzioni by @VelocityRa in #17063
  • vk: Miglioramenti dimenticati by @kd-11 in #17041
  • Debugger PPU/Memoria: Breakpoint per STDCX/STWCX, rende vm::_ref costante by @elad335 in #17069
  • Corretto debug self che segnalava sempre “not an elf” by @NefariousTechSupport in #17070
  • vk: Correzione ai miglioramenti dimenticati by @kd-11 in #17072
  • Correzione sceNpTrophyRegisterContext by @elad335 in #17077
  • Implementata l’utility lettore musicale per test by @Megamouse in #17080
  • rsx: Corretta l’iterazione dei subdraw con barriere di primitive a metà intervallo by @kd-11 in #17081
  • hotfix: Corrette parentesi durante il salvataggio di alcuni file by @Megamouse in #17085
  • vk: Piccole correzioni e miglioramenti by @kd-11 in #17088
  • Rimosse alcune direttive #pragma warning obsolete by @Megamouse in #17089
  • Correzioni per SPU Image Finder by @elad335 in #17094
  • Corretto il rilevamento del supporto IPv6 by @RipleyTom in #17096
  • Corretto il metodo erase_if by @digant73 in #17101
  • cellVideoOutConvertCursorColor: Correzione e implementazione by @Megamouse in #17100
  • Evita di passare -fuse-ld ai passaggi non di linking by @RipleyTom in #17103
  • Aggiornati i submodule by @Megamouse in #17105
  • rsx: Varie correzioni by @kd-11 in #17102
  • vk: Corretto indexed multidraw by @kd-11 in #17107
  • PPU: Percorso veloce HasBreakpoint quando vuoto by @cipherxof in #17110
  • Correzioni ricerca immagine SPU incorporata, migliora la precompilazione del codice SPU by @elad335 in #17115
  • sys_mmapper: Allocazione pigra dei descrittori di memoria condivisa by @elad335 in #17116
  • vk: Smesso di usare definizioni interne per strutturare codice specifico per piattaforme by @kd-11 in #17120
  • Corretto sys_mmapper_unmap_shared_memory by @elad335 in #17123
  • Qt: Validatore esadecimale per input indirizzi/istruzioni by @cipherxof in #17113
  • github actions: Disabilitata build push RPCS3 tranne che sul branch master by @Megamouse in #17124
  • Miglioramenti build (in preparazione dei test unitari) by @Megamouse in #17125
  • Spostato main in file separato by @Megamouse in #17127
  • Aggiornato linux docker alla versione 1.6 by @Megamouse in #17126
  • Aggiunto progetto test unitario a VS by @Megamouse in #17128
  • fmt: Aggiunti test unitari e corretto fmt::trim by @Megamouse in #17130
  • Abilitato ASLR by @Vestrel in #16878
  • CMake: Creata libreria statica rpcs3_lib e test unitari by @Megamouse in #17129
  • Aggiunti test unitari alla CI by @Megamouse in #17104
  • Corretto il loop infinito in fmt::replace_all se “from” è vuoto by @Megamouse in #17133
  • CI: Aggiunti test unitari per Windows by @Megamouse in #17138
  • CI: Eseguiti test unitari solo per le pull request by @Megamouse in #17141
  • test: Aggiunti test unitari per rsx::simple_array by @kd-11 in #17136
  • Provato a correggere il test unitario gcc e aggiornato FAudio alla versione 25.05 by @Megamouse in #17146
  • Logitech G27 virtuale per Gran Turismo 6 by @Kethen in #17135
  • Qt: Azione contestuale “Mostra nel visualizzatore memoria” by @cipherxof in #17131
  • Pulizia Logitech G27 by @Megamouse in #17150
  • Corretti crash nel launcher del visualizzatore memoria by @elad335 in #17152
  • Ritocchi Logitech G27 by @Kethen in #17151
  • rsx: Non interpolare durante la ricostruzione dell’immagine (D24X8 <-> BGRA8) by @kd-11 in #17164
  • Terze parti: Aggiornato MoltenVK alla versione 1.3.0 by @shinra-electric in #17161
  • Correzione degli strumenti atomici dopo modifiche ASLR by @Vestrel in #17168
  • Aggiornato SDL alla versione 3.2.12 by @Megamouse in #17027
  • SDL: Aggiunta la pressione del pulsante DS3 by @Megamouse in #16848
  • vk: Disabilitato l’aggiornamento del texel buffer dopo il bind sui driver NVIDIA per schede pre-RTX by @kd-11 in #17149
  • Aggiornato glslang alla versione 15.3.0 by @hcorion in #17159
  • PPU Loader: Consume Executable Memory by @elad335 in #17173
  • Logitech G27: Correzioni e pulizie by @Kethen in #17170
  • Correzione degli interpreti SPU by @elad335 in #17177
  • Sistema: Aumenta prima il contatore delle callback per tenere conto del tempo che i giochi impiegano a reagire correttamente alla richiesta di uscita by @Megamouse in #17178
  • Inizializza SDL haptic, registra errori di apertura dispositivi haptic by @Kethen in #17181
  • Emu: Monitora meglio il progresso della terminazione del gioco by @elad335 in #17180
  • SPU: Messaggistica LR bloccata dal thread valutata by @elad335 in #16903
  • Corretti i trofei nascosti sbloccati nell’overlay della lista trofei by @Megamouse in #17183
  • Sistema: Corretta la duplicazione delle chiamate Kill by @elad335 in #17188
  • Reso il binding IP più globale by @RipleyTom in #17194
  • Correzioni per la compilazione con il submodulo statico SDL3 by @RipleyTom in #17193
  • Associa la socket client RPCN solo se bind_ip è impostato by @RipleyTom in #17201
  • Reso il testo “Disable IPv6” traducibile by @RipleyTom in #17204
  • rsx: Non attiva i gestori di swap-in/swap-out della superficie quando si sostituisce se stessi by @kd-11 in #17203
  • Corretta la condizione di esecuzione di CallFromMainThread by @elad335 in #17205
  • SDL/input: Registra il GUID by @Megamouse in #17209
  • LogitechG27: Utilizza named_thread invece di std::thread by @Megamouse in #17211
  • Logitech G27: Ingrandita l’identificazione del dispositivo SDL, aggiunta nota di mapping by @Kethen in #17206
  • SPU: Migliorate le condizioni di rilevamento dello spin GETLLAR by @elad335 in #17207
  • Gui: semplificata la finestra di impostazioni LogitechG27 by @Megamouse in #17212
  • Aggiornato SDL alla versione 3.2.14 by @Megamouse in #17213
  • Aggiornato VulkanMemoryAllocator alla versione 3.3.0 by @Megamouse in #17202
  • Logitech G27: Aggiornato l’input del cambio di marcia by @Kethen in #17216
  • Disattivati i nuovi warning di clang by @Megamouse in #17217
  • Debugger PPU: Aggiornato CIA incondizionatamente se “PPU Debug” è abilitato by @elad335 in #17223
  • Logitech G27: Aggiornato il comportamento del bit 86 shifter_pressed, registra i trasferimenti di controllo come da fare by @Kethen in #17221
  • Inizializza sempre SDL dal thread principale by @Megamouse in #17234
  • rsx: Miglioramenti vari by @kd-11 in #17237
  • Aggiornato hidapi alla versione 0.15.0 by @Megamouse in #17240
  • Ordinamento degli attributi binari in base all’ID by @RipleyTom in #17238
  • Rimozione del link alla roadmap dal README by @FlexBy420 in #17245
  • Correzione di alcuni warning dell’analisi statica by @Megamouse in #17243
  • rsx: Svuotamento della coda MM prima di applicare i trasferimenti a blocchi nv3089 by @kd-11 in #17249
  • rsx/util/tests: Reso address_range con dimensione definita e rifattorizzato il memory manager RSX host per usare address_range64 by @kd-11 in #17251
  • Aggiornamento di curl alla versione 8.14.0 by @Megamouse in #17260
  • Correzione build Windows con GCC/Clang by @oltolm in #17247
  • CMake: Aggiunta opzione per usare cubeb di sistema by @marcin-serwin in #17246
  • Input: implementazione copiloting by @Megamouse in #17250
  • [CI] Spostamento delle build Mac su GitHub Actions by @schm1dtmac in #17263
  • Correzione dell’hash di upload per Mac by @hcorion in #17264
  • rpcs3_version: Aggiornamento alla versione 0.0.37 by @AniLeo in #17265

Se cerchi una guida su come configurare e settare l’emulatore RPCS3, clicca qua!!

Changelog completo: v0.0.36...v0.0.37

Download: RPCS3 v0.0.37 Alpha

Download: Source code RPCS3 v0.0.37 Alpha

Fonte: x.com