Home Homebrew Rilasciato Switch Remote Play v0.8.3

[Scena Switch] Rilasciato Switch Remote Play v0.8.3

351
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 è chiudibile).
  • 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.
  • Configura le impostazioni di streaming dalla console switch.
  • 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.

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++.

Testato su:

  • Atmosphère 0.14.1 – FW 10.1.0 (switch-remote-play 0.7.2).
  • Atmosphère 0.16.2 – FW 10.1.0 (switch-remote-play 0.7.2).

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.

Testato su:

  • Windows 10 64 bit
    • Ryzen 5 2600 3.4GHz
    • AMD Radeon RX 5600 XT 6GB
    • 16GB RAM

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

Modifiche all’applicazione PC host

  • Correzioni di bug del controller.
    • Corretto un problema per cui i dati del gamepad del controller non venivano trasmessi correttamente in streaming su alcune schede di rete.
      • Fondamentalmente, necessario per confermare la dimensione del payload dei dati del gamepad e se non era come previsto, continua a leggere il socket prima di procedere.
    • Corretto il problema con la mappatura errata dei pulsanti per il pulsante “meno” del joycon mappato al pulsante “guida” sul controller Xbox 360.
      • Ora “meno” viene mappato su “indietro” sul controller 360.
    • Corretto un potenziale bug di overflow con gli stick analogici del controller virtuale per il controller DS4 e X360.
  • Diagnostic Output
    • Le informazioni sulla configurazione di rete vengono verificate e visualizzate dal programma.
      • Ciò aiuterà quando gli utenti segnalano problemi di rete e aiuterà gli utenti a essere in grado di determinare facilmente l’indirizzo IP del PC senza dover utilizzare ipconfig.
    • Vengono visualizzate le informazioni sul display del monitor. Ciò sarà utile quando gli utenti segnalano desktop ritagliati provenienti dallo Switch.
    • Ora vengono eseguiti i controlli di integrità del controller virtuale. Questo per assicurarsi che il driver del controller virtuale sia installato e funzionante.
    • L’output da FFMPEG durante la codifica di video e audio ora è un’opzione di configurazione. Gli utenti possono scegliere di mostrare o meno i dati di registrazione dell’encoder. Ciò sarà principalmente utile per il debug di situazioni strane in cui l’audio non arriva o il video sembra non funzionare.
      • Questo si trova in un file di configurazione chiamato config.ini. Si trova nella stessa posizione di switch-remote-play-host.exe.

Modifiche ll’applicazione Switch

  • Configuration Options
    • Aggiunto indirizzo di trasmissione come opzione di configurazione. L’applicazione per PC visualizzerà l’indirizzo di trasmissione da aggiungere al file di configurazione dell’applicazione della Switch. L’aggiunta consentirà al rilevamento automatico della rete di funzionare quando si preme il pulsante .
      • Senza questa opzione specificata, il valore predefinito sarà 192.168.0.255. Se non si specifica il proprio indirizzo di trasmissione nel file di configurazione, sarà necessario utilizzare la modalità IP manuale.
    • L’opzione Manual IP Mode Enabled ora viene memorizzata nel file di configurazione. Ciò consentirà agli utenti di essere in grado di premere semplicemente una volta aperta l’applicazione per connettersi senza dover andare alla schermata della modalità IP manuale e premere “enabled”.

Questa versione è un trampolino di lancio verso ulteriori informazioni diagnostiche. Avevo altri piani per questa versione, ma sono stati segnalati alcuni problemi, con il problema del controller che aveva una priorità molto alta.

Download: Switch Remote Play v0.8.3 (ZIP)

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

Download: Source code Switch Remote Play v0.8.3

Fonte: gbatemp.net