Home Homebrew Rilasciato Switch Remote Play v0.9.0

[Scena Switch] Rilasciato Switch Remote Play v0.9.0

108
0

Disponibile un nuovo aggiornamento per Switch Remote Play, lo strumento ci permette di riprodurre la console Switch da remoto o in locale tramite un altro dispositivo dotato di tastiera, mouse, controller o dispositivo touchscreen chiaramente ispirato a In-Home-Switching e SkyNX.

Questo nuovo aggiornamento aggiunge un nuovo menu per la configurazione del decoder, un menu contenente le opzioni di configurazione del controller e il supporto per l’utilizzo del controller X360.

L’obiettivo è quello di creare una comoda applicazione streamer/client da utilizzare per riprodurre in remoto i giochi per PC sulla console Switch.

In-Home-Switching e SkyNX offrono già la possibilità di farlo, tuttavia lamentano la mancanza di alcune funzionalità utili che sono state introdotte in Switch Remote Play.

Note

Il flusso video dipende dalla CPU poiché al momento utilizza l’opzione ffmpeg di hwaccel auto che di solito si traduce in ffmpeg che sceglie la CPU per il processo di cattura dello schermo.

Nella mia fase di prototipazione iniziale ho scoperto che la scelta dell’opzione GPU AMD per ffmpeg ha portato a risultati di streaming incoerenti. In futuro cercherò di rendere configurabile l’opzione hwaccel, ma per ora tieni presente che la CPU è importante.

Se stai giocando a un gioco ad alta intensità di CPU, c’è un’alta probabilità che lo streaming abbia salti o singhiozzi. Se la tua CPU è debole, sarà difficile produrre e spingere i frame abbastanza velocemente.

Per il mio PC, quando gioco a Nier Automata non ci sono intoppi e posso avvicinarmi a 60 fps a seconda delle impostazioni di streaming (risoluzione desktop 1280 x 720 e bitrate di 5 MB/s). Ma quando ho provato a giocare a Resident Evil 3 2020 a 30 o 56 fps ho avuto singhiozzi e salti. Quindi tienilo a mente.

Caratteristiche

♦ Presente    ♦ Non presente

  • Nessun arresto anomalo del sistema durante la sospensione (lo streaming si disconnetterà e l’applicazione può essere chiusa).
  • Applicazione desktop per ospitare il flusso di connessione remota.
  • Trasmetti l’input dallo switch alla connessione remota.
  • Streaming audio dalla connessione remota allo switch.
  • Connetti automaticamente la console Switch e le applicazioni di flusso del PC.
  • Disattiva automaticamente il PC quando l’audio è in streaming sullo Switch.
  • Consenti la configurazione manuale del passaggio alla connessione PC.
  • Disconnetti/ricollega stream a piacimento.
  • Attiva la modalità di input con il mouse.
  • Attiva la modalità di input per il controller DS4 (PS4).
  • Attiva la modalità di input per il controller Xbox.
  • Ricche opzioni di configurazione per l’encoder CPU h264.
  • Ricche opzioni di configurazione per l’encoder AMF h264 (encoder hardware AMD).
  • Supporto per più controller.
  • Touch screen emula il supporto del mouse.
  • Supporto giroscopio controller.
  • Supporto per il rumore del controller.

Switch-Project

Questo progetto consiste in un’applicazione scritta per la console Switch che decodificherà i dati stream ricevuti da FFMPEG e invierà il suo input a un’applicazione per emulare un controller. Il rendering viene eseguito con SDL2 e il progetto è scritto in C++.

Compatibilità

  • Supporto per il solo CFW Atmosphere. SX OS non è ufficialmente supportato.
  • Il programma è stato compilato con le ultime librerie LibNX (v4.1.3 al momento della stesura di questo documento).
    • Significa che funzionerà con i firmware più recenti.

Windows-Project

Questo progetto consiste in un’applicazione scritta per Windows che lancerà un flusso FFMPEG per codificare e inviare dati. L’applicazione, dopo aver avviato il flusso FFMPEG, ascolterà per ricevere i dati di input ed emulerà un controller tramite ViGEm Client SDK.

ViGEm Client SDK si aspetta che il driver del kernel ViGEm Bus sia installato sulla macchina per funzionare. Per maggiori informazioni sul codice del driver del kernel vedere la pagina gitHub di ViGEmBus. Per l’installazione del driver, vedere la repository di ViGEmBus.

Anche il progetto Windows è scritto in C++ e utilizza Winsock per la comunicazione socket con l’applicazione Switch.

Mac-Progect

Vedere il file ‘mac-readme’ che si trova nella cartella delle istruzioni/mac del repository.

Problemi noti

Prestazioni in streaming

Le prestazioni di streaming dipendono fortemente dalla connettività di rete e dalle prestazioni della CPU del PC. Le impostazioni di configurazione dovranno essere riprodotte con Trova ciò che funziona bene con la tua rete + ambiente PC.

Si consiglia di giocare con i valori “Encoder Preset” e “Quality Control Factor” mantenendo il bitrate a 8192 o meno.

Suggerimenti generali

  • Il valore preimpostato controlla come dovrebbe funzionare il codificatore: ultraveloce significa che il codificatore esegue per ottenere l’immagine il più velocemente possibile ignorando la qualità, e molto lento significa che il codificatore può impiegare del tempo per preservare la qualità dell’immagine.
  • Il valore del codec può aiutare le prestazioni, tuttavia ho testato sia l’AMF che lo standard h264 e non ho notato molta differenza.
  • Il fattore di controllo della qualità è ciò che controlla la qualità dell’immagine. Più basso è il valore, più il tuo PC deve lavorare per mantenere la qualità (questo valore e ‘Preset’ sono ciò che determinerà il carico di lavoro della CPU).
  • Per maggiori informazioni vedere la documentazione di ffmpeg.

Esempi di configurazione

  • Ottima configurazione della qualità dell’immagine:
    • Preset – veryslow.
    • Fattore di controllo della qualità – inferiore a 10 (0 = immagine perfetta).
    • Bitrate – circa 5000-8000.
    • Vsync Mode – frame rate variabile.
  • Configurazione orientata alla latenza:
    • Preset – ultrafast.
    • Fattore di controllo qualità – 20+.
    • Bitrate – circa 5000.
    • Vsync Mode – frame rate variabile.

Non ho testato tutte le combinazioni di configurazione (e queste dipendono dalle specifiche del mio PC), quindi se ne trovi una che funziona alla grande, sentiti libero di inviarmela con le specifiche del tuo PC e la configurazione dell’ambiente di rete.

Raro arresto anomalo durante l’apertura di alcune app homebrew

Il problema di arresto anomalo nella v0.7.2 è stato trovato e corretto. (era dovuto al fatto che la funzione di rilevamento della rete non veniva arrestata correttamente).

L’app si arresta ancora in modo anomalo, tuttavia è più difficile riprodurla ora e non ho ancora trovato un modo corretto al 100% per riprodurre l’arresto anomalo.

L’attuale problema di arresto anomalo è raro e blocca hbloader/hbmenu solo quando si apre un’app dopo lo streaming per un certo periodo. Non posso riprodurlo ma per ora è andato. Se qualcuno capisce come riprodurre il bug, fammelo sapere.

Aggiornate le istruzioni con ulteriori informazioni sulla risoluzione dei problemi relativi al rilevamento automatico della rete (link esterno): https://github.com/Moehammered/switch-remote-play/blob/master/instructions/Instructions.md

Changelog

Compatibilità

  • Il custom firmware Atmosphere è l’unica soluzione ufficialmente supportata. SX OS non è ufficialmente supportato.

Modifiche all’applicazione host del PC

  • Eliminate le vecchie definizioni della chiave HID Switch.
    • LibNX ha finalmente eliminato l’implementazione dell’input HID deprecata. Quindi sono stati rimossi anche da qui.
  • Payload dei dati di configurazione aggiornati.
    • Ciò significa che il programma per PC prevede switch-remote-play v0.9.0 e non funzionerà con le versioni precedenti.
  • Uscita diagnostica di rete aggiornata.
    • Il consiglio della riga di configurazione dell’indirizzo di trasmissione che emette ora riflette il nuovo formato del file di configurazione per l’app.
  • Aggiunto parser di argomenti Ffmpeg Encoder.
    • Creato un parser di argomenti ffmpeg che creerà una riga di argomenti ffmpeg per i codec dell’encoder CPU o GPU AMD.
  • Testo della console colorato.
    • L’output del testo ora è colorato per aiutare a distinguere tra le diverse sezioni diagnostiche.
    • Eventuali problemi di avvio saranno colorati in rosso per aiutare a identificare i problemi.
  • Aggiunto inverti l’asse analogico del controller #20.
    • Aggiunta la possibilità di invertire l’asse analogico X e Y per gli stick analogici sinistro e destro.

Modifiche all’applicazione Switch

  • Inverti l’asse analogico del controller aggiunto #20
    • Aggiunta la possibilità di configurare e invertire l’asse analogico X e Y per gli stick analogici sinistro e destro.
    • Grazie mille per essere paziente mathew77! 🙂
  • Eliminato il vecchio utilizzo dell’API di input HID Switch.
    • LibNX ha finalmente eliminato l’implementazione dell’input HID deprecata. Quindi sono stati rimossi anche da qui.
  • Refactoring dell’interfaccia utente.
    • Quasi tutte le schermate dell’interfaccia utente hanno il codice riscritto e rifattorizzato per rendere più semplice l’aggiunta di parametri e più schermate.
    • Questo non ha alcun effetto sugli utenti, il comportamento dell’interfaccia utente è sempre lo stesso, solo il codice dietro è cambiato così tanto.
      • e non sono ancora soddisfatto 😛
  • Refactoring del file di configurazione.
    • La configurazione ora è suddivisa in file separati per ciascuna rispettiva schermata/opzione di configurazione.
    • Vedrai ora un file di configurazione per rete, decoder, comune, ecc..
    • I vecchi file di configurazione non sono più compatibili. Puoi eliminarli o eseguirne il backup e vedere se ci sono impostazioni che desideri replicare nelle nuove schermate di configurazione.
  • Revisione della configurazione dell’encoder – Include il codec h264_amf (encoder GPU AMD).
    • Il menu di configurazione dell’encoder è stato rivisto ora per consentire la scelta dell’encoder h264 da utilizzare.
      • Per scegliere un codec diverso, scorrere l’opzione ‘codec’ nella pagina di configurazione dell’encoder.
      • Usa il d-pad sinistro/destro per passare alla pagina dei parametri del codec per configurare le rispettive opzioni.
    • L’encoder CPU h264 è stato semplificato e sono state aggiunte alcune altre opzioni.
      • La modalità bitrate può essere scelta ora (costante o variabile – prima era sempre variabile).
      • Aggiunta l’opzione del profilo (questo può aiutare l’hardware di fascia bassa o la latenza scegliendo “baseline”).
    • Aggiunto codificatore AMF h264 (encoder hardware GPU AMD).
      • Questo era l’unico motivo per cui avevo bisogno di revisionare e rifattorizzare completamente il codice dell’interfaccia utente.
      • Le opzioni aggiunte che ho trovato hanno avuto gli effetti più drammatici nei test.
  • Costruito con l’ultima LibNX (v4.1.3 in questo momento del rilascio).
    • Significa che dovrebbe funzionare bene per il firmware più recente (12.0.3 in questo momento).

Download: Switch Remote Play v0.9.0 (ZIP)

Download: Switch Remote Play v0.9.0 (7z)

Download: Source code Switch Remote Play v0.9.0

Fonte: gbatemp.net

Articolo precedente[Scena PS3] Rilasciato Control Console API v2.80 Rev9 RTE compatibile con Custom Firmware 4.88 CEX
Articolo successivo[Scena PS Vita] Rilasciato Fake-08-Builder v1.0
Sono Nato nel 1980 e da diversi anni coltivo la passione per tutto ciò che riguarda il mondo dei videogiochi, ho vissuto l'era degli home computer con il Commodore 64 e l'Amiga 500, da sempre appassionato di giochi di ruolo e di titoli di avventura.