Nel 2023 NVIDIA ha spento GameStream, il protocollo proprietario che per anni ha permesso di streammare i giochi da un PC a uno smartphone, un tablet o una smart TV senza passare per il cloud. Milioni di utenti si sono ritrovati con l’app Moonlight installata ma senza un host compatibile. La soluzione arrivata dalla community open source si chiama Sunshine: un server di streaming gratuito che sostituisce GameStream e restituisce a chiunque abbia un PC da gaming la possibilità di trasformarlo in una console personale, accessibile da qualsiasi stanza della casa o, con qualche accorgimento in più, da qualsiasi rete al mondo. Questa guida spiega passo dopo passo come installare, configurare e mettere in sicurezza una coppia Moonlight più Sunshine nel 2026, con le porte esatte da aprire, gli errori più comuni e un progetto Docker completo e funzionante.

Cosa sono Moonlight e Sunshine (e la fine di NVIDIA GameStream)

Moonlight è il client open source che reimplementa il protocollo NVIDIA GameStream: si installa sul dispositivo da cui si vuole giocare (smartphone, TV, laptop, Steam Deck) e si collega a un host sulla rete locale o via Internet. Il progetto moonlight-stream/moonlight-qt su GitHub conta oggi 17.965 stelle, è distribuito con licenza GPL-3.0 e la sua ultima release stabile è la v6.1.0, pubblicata il 17 settembre 2024. Sunshine, invece, è il server host: sostituisce GeForce Experience e gira su Windows, Linux, macOS e FreeBSD. Il repository LizardByte/Sunshine ha superato le 39.459 stelle su GitHub, usa anch’esso licenza GPL-3.0 e adotta un versionamento a data (CalVer) — l’ultima release è la v2026.516.143833, pubblicata il 16 maggio 2026, segno di uno sviluppo estremamente attivo. Per chi vuole approfondire ogni opzione di configurazione, il progetto mantiene anche una wiki ufficiale con una guida di setup dettagliata, aggiornata dalla community a ogni release importante.

La storia conta perché spiega perché questa guida non parla di GeForce Experience: NVIDIA ha dismesso GameStream con un aggiornamento obbligatorio delle Shield TV a fine marzo 2023, e da allora l’app NVIDIA App che ha sostituito GeForce Experience non include più alcuna funzione di streaming locale. Diversi tutorial online, anche recenti, continuano a suggerire di configurare Moonlight tramite GeForce Experience: è un’informazione superata che semplicemente non funziona più, perché quella funzione è stata rimossa lato NVIDIA e nessun aggiornamento futuro la farà tornare. Sunshine è oggi l’unico host moderno e mantenuto attivamente per Moonlight, ed è proprio la community — non NVIDIA — a garantirne lo sviluppo continuo: le release quasi mensili viste nel 2026 sono un buon indicatore di quanto il progetto sia vivo rispetto a un protocollo commerciale ormai abbandonato dal suo stesso creatore.

Vale la pena chiarire anche un equivoco linguistico comune: in italiano “streaming di giochi” viene spesso associato al gioco d’azzardo online o alle piattaforme di scommesse. Non è di questo che si parla in questa guida. Il termine corretto in questo contesto è quello usato dall’industria dei videogiochi da oltre un decennio: trasmettere in tempo reale l’immagine e l’audio generati da un PC verso un altro schermo, esattamente come si farebbe con un cavo HDMI molto lungo — solo che qui il “cavo” è la rete Wi-Fi o Internet.

Il caso d’uso tipico è streammare i propri giochi Steam, Epic o Battle.net dal PC del salotto o dello studio verso il divano, la camera da letto o il giardino, oppure — con una VPN mesh come vedremo nel Passo 10 — da qualsiasi connessione Internet mentre si è fuori casa. A differenza dei servizi cloud, non si paga alcun abbonamento: i giochi girano sull’hardware che già si possiede.

Prerequisiti: hardware, software e versioni necessarie

Prima di iniziare conviene verificare che l’hardware del PC host supporti la codifica video via GPU: senza un encoder hardware dedicato la CPU dovrebbe codificare il flusso via software, con un impatto pesante su prestazioni e latenza. La tabella seguente riassume i requisiti minimi per host e client.

ComponenteRequisito minimoNote
Software hostSunshine v2026.516.143833 o successivaWindows 10/11, Linux, macOS o FreeBSD
Software clientMoonlight v6.1.0 o successivaWindows, macOS, Linux, Android, iOS/tvOS, Steam Deck
GPU NVIDIAPascal (serie GTX 10) o successivaRTX 40-series o successiva per l’encoder AV1
GPU AMDVCE 3.4 o successivaRX 7000-series o successiva per l’encoder AV1
GPU IntelHD Graphics 730 o successivaArc consigliata per l’encoder AV1
Rete per 1080p~30-40 MbpsWi-Fi 5GHz o cavo Ethernet consigliati
Rete per 4K~50-70 MbpsCavo Ethernet fortemente consigliato

Non serve una GPU NVIDIA per forza: Sunshine supporta nativamente anche AMF su GPU AMD (Windows), VAAPI su GPU Intel e AMD (Linux e FreeBSD), Quick Sync su GPU Intel (Windows) e VideoToolbox sui Mac con chip Apple Silicon. Ogni percorso hardware è verificato e documentato ufficialmente dal progetto: chi possiede un PC con GPU integrata Intel recente o una scheda AMD RX serie 6000/7000 può seguire questa guida senza differenze sostanziali.

Prima di installare qualcosa vale la pena capire dove si colloca questa coppia di strumenti rispetto alle alternative più note. Non tutte risolvono lo stesso problema: alcune sono gratuite e locali, altre sono abbonamenti cloud che affittano potenza di calcolo remota.

SoluzionePrezzoSelf-hostedCodec/HDRNota principale
Moonlight + Sunshine0€, open sourceH.264/HEVC/AV1, HDRServe un proprio PC da gaming sempre acceso
Steam Link0€, incluso in SteamAV1+HDR dal 13 nov. 2024120fps solo su Apple Vision Pro, 60fps altrove
ParsecGratis (base) / 8,33-9,99$/mese (Warp)ParzialmenteLimitatoPensato anche per collaborazione da remoto, non solo gaming
GeForce Now Performance10,99€/meseNo, cloudDipende dal serverNon serve possedere un PC potente
GeForce Now Ultimate21,99€/meseNo, cloud4K, HDR10, AV1, DLSS4Server RTX 5080 “Blackwell”, tetto di 100 ore/mese

La differenza sostanziale è tra affittare potenza di calcolo (GeForce Now, Xbox Cloud Gaming) e trasmettere l’output del proprio hardware (Moonlight/Sunshine, Steam Link, Parsec). Con Sunshine non si paga nulla ogni mese, ma serve un PC da gaming già acceso e connesso: chi non possiede un PC abbastanza potente troverà più sensato un servizio come GeForce Now o Xbox Cloud Gaming, mentre chi ha già una macchina capace risparmia l’abbonamento e mantiene il pieno controllo sulla libreria giochi. Anche Amazon Luna rientrava tra le alternative cloud, prima della chiusura degli acquisti nella primavera 2026.

Parsec merita una menzione a parte perché nasce con un pubblico più ampio del solo gaming: viene usato anche per assistenza remota e collaborazione professionale, il che lo rende meno specializzato per lo streaming di giochi rispetto alla coppia Moonlight/Sunshine, pensata esclusivamente per quello scopo fin dal primo commit. Steam Link, dal canto suo, ha il vantaggio di essere già integrato in un client che la maggior parte dei giocatori PC ha comunque installato, ma resta legato all’ecosistema Steam per l’aggiunta di giochi non-Steam, mentre Sunshine trasmette l’intero desktop senza alcun vincolo di piattaforma.

Sul fronte della latenza, un test pratico di XDA-Developers ha rilevato che una combinazione Sunshine più Moonlight risultava leggermente più reattiva di Parsec su rete locale, con meno microstuttering. Un singolo test amatoriale citato dalla community, condotto su uno smartphone Poco F3 in Wi-Fi 5GHz con codec H.265 a 3 Mbps in 1080p, ha misurato una latenza media di circa 24 millisecondi con picchi fino a 60 ms e un tempo di decodifica lato client di appena 0,24 ms: un dato interessante ma da considerare come singola prova pratica, non come benchmark di laboratorio.

Passo 1: scaricare e installare Sunshine sul PC host

Il PC che ospiterà i giochi è quello su cui va installato Sunshine. Il file di installazione ufficiale si scarica dalla pagina delle release su GitHub (github.com/LizardByte/Sunshine/releases), scegliendo il pacchetto corretto per il proprio sistema operativo: un installer .exe per Windows, un pacchetto .deb, .rpm o Flatpak per le principali distribuzioni Linux, oppure un’immagine .dmg per macOS. Su Windows, l’installer chiede il permesso di installare anche i driver del display virtuale, necessari per generare un output video anche quando nessun monitor fisico è collegato o il PC gira in modalità headless: è consigliato accettarli.

Al primo avvio, Sunshine si registra come servizio di sistema (su Windows) o come demone (su Linux) e apre un’interfaccia di configurazione basata su browser. Su Linux, se si esegue Sunshine senza Docker, occorre assicurarsi che l’utente abbia accesso al gruppo video e, per l’accelerazione hardware, al device /dev/dri.

Un errore comune in questa fase è scaricare Sunshine da siti terzi di aggregazione software anziché dalla pagina ufficiale GitHub: essendo un progetto molto popolare, esistono cloni e pacchetti non aggiornati che possono mancare delle patch di sicurezza più recenti o delle correzioni ai bug di accoppiamento.

Passo 2: configurare l’interfaccia web e la sicurezza di Sunshine

Una volta avviato, Sunshine espone la propria interfaccia web all’indirizzo https://localhost:47990. Il certificato è autofirmato, quindi il browser mostrerà un avviso di sicurezza al primo accesso: è normale, basta procedere manualmente (in Chrome, cliccando su “Avanzate” e poi “Procedi”). Al primo accesso l’interfaccia richiede di creare uno username e una password: questa credenziale protegge il pannello di configurazione, non lo streaming stesso, che è gestito separatamente dal PIN di accoppiamento visto nel Passo 6.

Dal menu Configuration si possono impostare, tra le altre cose, il nome con cui l’host apparirà ai client, la lingua dell’interfaccia e le credenziali di accesso. È fortemente consigliato scegliere una password robusta e univoca in questa fase: l’interfaccia web, se esposta accidentalmente su Internet senza protezioni aggiuntive, darebbe accesso completo alla configurazione dello streaming e all’elenco delle applicazioni disponibili sul PC.

Passo 3: scegliere encoder e codec video (NVENC, AMF, QuickSync, VideoToolbox)

Nella sezione Audio/Video del pannello, Sunshine rileva automaticamente gli encoder hardware disponibili sulla GPU installata: NVENC per le schede NVIDIA, AMF per le AMD su Windows, VAAPI su Linux/FreeBSD per Intel e AMD, Quick Sync per le GPU integrate Intel su Windows, VideoToolbox sui Mac Apple Silicon. È possibile forzare manualmente un encoder specifico dal menu a tendina, utile se si possiede più di una GPU nello stesso PC (ad esempio una scheda dedicata più la grafica integrata della CPU) e si vuole scegliere quale utilizzare per lo streaming, lasciando l’altra libera per il rendering del gioco.

Sul codec, H.264 garantisce la compatibilità più ampia con client datati, HEVC (H.265) offre una qualità migliore a parità di bitrate mentre l’AV1 è il più efficiente in assoluto ma richiede sia un client Moonlight aggiornato sia una GPU host relativamente recente: RTX serie 40 o successiva per NVIDIA, Arc per Intel, RX serie 7000 o successiva per AMD. Per l’HDR, invece, la soglia hardware è più bassa: GPU NVIDIA Pascal o successiva, AMD con motore VCE 3.4 o successivo, Intel HD Graphics 730 o successiva.

Per verificare da riga di comando quale encoder hardware il sistema espone, su Linux è sufficiente il comando vainfo, mentre su una macchina NVIDIA il comando nvidia-smi restituisce il conteggio delle sessioni di encoding attive.

# Verifica il supporto NVENC su GPU NVIDIA (Windows o Linux)
nvidia-smi --query-gpu=name,driver_version,encoder.stats.sessionCount --format=csv

# Verifica il supporto VAAPI su GPU Intel o AMD (Linux/FreeBSD)
vainfo | grep -i "VAEntrypointEncSlice"

Passo 4: aggiungere giochi e applicazioni alla libreria di streaming

Dalla sezione Applications dell’interfaccia web si costruisce l’elenco di ciò che apparirà come “app” selezionabile dal client Moonlight. Per impostazione predefinita è già presente una voce Desktop, che trasmette l’intero schermo del PC senza bisogno di lanciare nulla di specifico: è l’opzione più semplice e flessibile, perché da lì si può aprire qualunque programma, incluso uno store come Steam, Epic Games Store o Battle.net, esattamente come si farebbe seduti davanti al monitor.

In alternativa si possono aggiungere voci dedicate a un singolo gioco o launcher, specificando il percorso dell’eseguibile: Sunshine avvierà quel comando automaticamente alla connessione e lo terminerà alla disconnessione, se l’opzione auto-detach è attiva. Questo è utile per creare scorciatoie rapide, ad esempio una voce dedicata a Steam in modalità Big Picture. Chi utilizza già un launcher unificato come Lutris o Heroic Games Launcher per gestire più negozi contemporaneamente può aggiungere una singola voce che punta a quel launcher, così da avere accesso all’intera libreria multi-store con un solo profilo Sunshine.

La configurazione delle applicazioni è salvata in un file apps.json modificabile anche manualmente:

{
  "apps": [
    {
      "name": "Desktop",
      "image-path": "desktop.png"
    },
    {
      "name": "Steam Big Picture",
      "cmd": "C:\\Program Files (x86)\\Steam\\steam.exe -tenfoot",
      "image-path": "steam.png",
      "auto-detach": "true"
    }
  ]
}

Passo 5: installare Moonlight sul dispositivo client

Sul dispositivo da cui si vuole giocare va installato il client Moonlight, disponibile gratuitamente per Windows, macOS, Linux, Android, iOS/tvOS, Steam Deck (tramite il client Linux), Raspberry Pi 4 e successivi, oltre a diverse porte comunitarie per LG webOS, Samsung Tizen, Chromebook e persino Xbox tramite un progetto di terze parti. Su smartphone e tablet, Moonlight è disponibile direttamente dagli store ufficiali (Google Play, App Store); su Steam Deck e Linux in generale è disponibile anche come Flatpak.

All’avvio, se il dispositivo client si trova sulla stessa rete locale dell’host, Moonlight dovrebbe individuare automaticamente il PC tramite il rilevamento in rete (mDNS): il nome impostato al Passo 2 comparirà nella schermata principale dell’app entro pochi secondi. Se l’host non compare, molto probabilmente il firewall del PC sta bloccando la porta di discovery: è il problema più comune di questa fase, trattato nella sezione dedicata alla risoluzione dei problemi più avanti in questa guida.

Passo 6: accoppiare i dispositivi con il codice PIN

Il primo collegamento tra client e host richiede un accoppiamento di sicurezza basato su PIN, che evita che un dispositivo sconosciuto possa collegarsi senza autorizzazione. La procedura è la stessa su tutte le piattaforme:

  1. Nell’app Moonlight, si seleziona l’host individuato e si avvia il collegamento: comparirà un codice PIN a quattro cifre generato al momento.
  2. Si apre l’interfaccia web di Sunshine (https://localhost:47990) sul PC host e si va alla sezione PIN.
  3. Si inserisce il codice PIN mostrato da Moonlight e si conferma con Send.
  4. Il client si aggiorna automaticamente e mostra ora l’elenco delle applicazioni configurate al Passo 4, pronte per essere avviate.

L’accoppiamento va ripetuto una sola volta per dispositivo: le connessioni successive non richiedono più il PIN, a meno che le credenziali non vengano revocate manualmente dal pannello di amministrazione di Sunshine.

Passo 7: ottimizzare risoluzione, framerate e bitrate

Dalle impostazioni di streaming del client Moonlight si scelgono risoluzione, framerate e bitrate target. Come regola generale, un bitrate più alto migliora la nitidezza dell’immagine ma richiede più banda: per lo streaming in 1080p è indicativamente sufficiente una connessione da 30-40 Mbps, mentre il 4K richiede tra 50 e 70 Mbps per evitare artefatti da compressione visibili nelle scene con molto movimento. Il framerate massimo dipende sia dal pannello del dispositivo client sia dalla capacità dell’encoder scelto al Passo 3: Moonlight supporta fino a 120 fps sulla maggior parte dei client, mentre concorrenti come Steam Link limitano i 120fps al solo client Apple Vision Pro, fermandosi a 60fps ovunque altro anche con HDR e AV1 attivi.

Su rete Wi-Fi, è sempre preferibile la banda a 5GHz o 6GHz rispetto ai 2,4GHz, molto più soggetti a interferenze e con banda inferiore; dove possibile, collegare via cavo Ethernet sia l’host sia, se il dispositivo lo consente, il client resta la scelta più affidabile per ridurre micro-scatti e variazioni di latenza.

Passo 8: configurare audio surround, controller e mappatura tasti

Moonlight trasmette l’audio del PC host in surround 7.1 se il gioco e il dispositivo di uscita lo supportano; in caso di problemi, conviene verificare che nel pannello audio di Windows sul PC host sia impostato come dispositivo predefinito lo stesso a cui Sunshine è agganciato. Sul fronte controller, Moonlight riconosce automaticamente i gamepad collegati al dispositivo client — via cavo, Bluetooth o adattatore wireless — e li inoltra all’host come se fossero connessi direttamente lì, con supporto al force feedback su un massimo di 16 controller simultanei.

Su macOS, il driver HID di Moonlight ha una limitazione nota: non gestisce più gamepad Bluetooth contemporaneamente, e viene garantito il pieno supporto solo ai controller Xbox connessi via Bluetooth. Su altre piattaforme, in caso di vibrazione (rumble) che smette di funzionare a metà sessione, un riavvio del PC host risolve quasi sempre il problema: è un comportamento noto legato ai driver NVIDIA, non un difetto di Moonlight.

Passo 9: aprire le porte per lo streaming in rete locale

Se il traffico resta all’interno della rete domestica, nella maggior parte dei router non serve alcuna configurazione: basta che il firewall del PC host lasci passare le porte usate da Sunshine. Su Windows, l’installer propone di aggiungere automaticamente le regole firewall necessarie; se rifiutato per errore, si possono ricreare manualmente con PowerShell.

PortaProtocolloFunzione
47984TCPHTTPS, compatibilità pairing legacy
47989TCPHTTP
47990TCPInterfaccia web HTTPS (pannello di configurazione)
48010TCPCanale di controllo
47998-48000UDPStreaming video
48002UDPStreaming audio e controllo
# PowerShell (eseguire come amministratore) per aprire manualmente
# le porte di Sunshine sul firewall di Windows
New-NetFirewallRule -DisplayName "Sunshine TCP" -Direction Inbound -Protocol TCP -LocalPort 47984,47989,47990,48010 -Action Allow
New-NetFirewallRule -DisplayName "Sunshine UDP" -Direction Inbound -Protocol UDP -LocalPort 47998-48000,48002 -Action Allow

Streaming in LAN vs streaming da Internet

Va fatta una distinzione netta: le regole firewall sopra riguardano solo il traffico all’interno della rete locale. Per giocare da fuori casa, aprendo le stesse porte direttamente sul router verso Internet, ci si espone a scansioni automatizzate e tentativi di accesso non autorizzato al pannello di Sunshine. È la ragione per cui il Passo 10 propone un’alternativa più sicura basata su una VPN mesh anziché sul port forwarding diretto.

Passo 10: streaming da remoto in sicurezza con Tailscale, senza aprire porte

La documentazione ufficiale di Moonlight elenca tre modi per giocare da remoto: il port forwarding classico sul router, l’uso di un indirizzo IPv6 pubblico, oppure una VPN mesh come ZeroTier o Tailscale, citata esplicitamente sul sito ufficiale del progetto. Quest’ultima opzione è la più sicura per chi non ha dimestichezza con la configurazione di un router: Tailscale, basata sul protocollo WireGuard, crea una rete privata virtuale tra i propri dispositivi senza bisogno di esporre alcuna porta pubblicamente. Il PC host e il dispositivo client si vedono a vicenda come se fossero sulla stessa rete locale, ovunque si trovino fisicamente.

Il vantaggio rispetto al port forwarding tradizionale non è solo di comodità. Aprire una porta sul router significa che chiunque su Internet può tentare di raggiungerla: è una superficie d’attacco che esiste 24 ore su 24, indipendentemente dal fatto che si stia effettivamente giocando in quel momento. Con una VPN mesh, invece, il traffico viaggia su un tunnel cifrato instaurato solo tra i dispositivi autorizzati nel proprio account: un malintenzionato che scansiona range di indirizzi IP alla ricerca di pannelli Sunshine esposti semplicemente non troverebbe nulla da attaccare, perché nessuna porta di Sunshine risulterebbe mai aperta pubblicamente.

# Sul PC host (Windows, Linux o macOS)
curl -fsSL https://tailscale.com/install.sh | sh
tailscale up

# Sul dispositivo client, installare l'app ufficiale Tailscale
# e accedere con lo stesso account: i due dispositivi entreranno
# a far parte della stessa rete privata virtuale, senza aprire
# alcuna porta sul router di casa

Una volta attiva la VPN, nell’app Moonlight è sufficiente aggiungere manualmente l’host inserendo l’indirizzo IP assegnato da Tailscale al PC (visibile nel proprio account Tailscale o con il comando tailscale ip), esattamente come si farebbe con un indirizzo di rete locale. Il traffico viaggia cifrato end-to-end tra i due dispositivi.

Passo 11: avviare Sunshine automaticamente all’accensione

Per non dover avviare manualmente Sunshine ogni volta, conviene configurarlo come servizio permanente. Su Windows l’installer lo registra già come servizio di sistema che parte con il PC. Su Linux, se non si utilizza Docker (vedi il Passo 12), si può creare un servizio systemd dedicato:

[Unit]
Description=Sunshine self-hosted game stream host
After=network.target

[Service]
ExecStart=/usr/bin/sunshine
Restart=on-failure
User=%i

[Install]
WantedBy=graphical.target

Salvando questo file come /etc/systemd/system/[email protected] e abilitandolo con systemctl enable –now sunshine@nomeutente, Sunshine si avvierà automaticamente a ogni riavvio del PC, restando pronto per l’accoppiamento senza bisogno di accedere fisicamente alla macchina.

Passo 12: distribuire Sunshine con Docker — il progetto completo

Per chi preferisce un’installazione isolata, facilmente aggiornabile e replicabile, LizardByte pubblica un’immagine Docker ufficiale (lizardbyte/sunshine su Docker Hub). Questo è il progetto completo e funzionante che chiude la guida: un docker-compose.yml pronto all’uso su un host Linux con GPU accessibile via VAAPI.

version: "3.8"
services:
  sunshine:
    image: lizardbyte/sunshine:latest
    container_name: sunshine
    restart: unless-stopped
    network_mode: host
    devices:
      - /dev/dri:/dev/dri
    volumes:
      - ./config:/config
      - /tmp/.X11-unix:/tmp/.X11-unix
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Rome
    cap_add:
      - NET_ADMIN
      - SYS_ADMIN

Il campo network_mode: host è importante: senza di esso, il rilevamento automatico dell’host da parte di Moonlight sulla rete locale non funziona correttamente, perché il container si troverebbe dietro un livello di rete isolato di Docker. Il mapping di /dev/dri espone l’accelerazione hardware della GPU al container per l’encoding VAAPI. Dopo l’avvio con docker compose up -d, il pannello di Sunshine sarà raggiungibile esattamente come un’installazione nativa, all’indirizzo https://IP-DEL-HOST:47990.

Un avvio riuscito produce un log simile al seguente, utile per verificare rapidamente che l’encoder sia stato rilevato correttamente:

Info: Sunshine version: v2026.516.143833
Info: Loading configuration from: /config/sunshine.conf
Info: Detected encoder: VAAPI (Intel/AMD via /dev/dri)
Info: Web UI available at: https://0.0.0.0:47990
Info: Ready for pairing — waiting for Moonlight client...

Il log è puramente illustrativo: la dicitura esatta dell’encoder rilevato varia in base alla GPU reale del sistema, ma la struttura — versione, percorso di configurazione, encoder rilevato, porta del pannello — corrisponde a quanto documentato ufficialmente dal progetto.

Sicurezza: mantenere Sunshine aggiornato e protetto nel tempo

Una volta che Sunshine gira stabilmente sul PC, la tentazione è dimenticarsene. Trattandosi di un servizio di rete sempre in ascolto, però, merita la stessa attenzione riservata a qualunque altro software esposto in rete, anche solo localmente. Il ritmo di release quasi mensile del progetto — la versione più recente porta la data del 16 maggio 2026 — non è solo un indicatore di sviluppo attivo: significa anche che escono regolarmente correzioni a bug e vulnerabilità, quindi vale la pena controllare periodicamente la pagina delle release su GitHub e aggiornare quando disponibile una nuova versione, invece di lasciare l’installazione ferma per mesi o anni.

La password scelta al Passo 2 per l’interfaccia web è, di fatto, l’unica barriera che protegge la configurazione di Sunshine se mai il pannello dovesse risultare raggiungibile dall’esterno per un errore di configurazione del router o una regola UPnP attivata senza rendersene conto. Vale la stessa regola che vale per qualsiasi altro account online: una password lunga e univoca, mai riutilizzata su altri servizi, riduce drasticamente il rischio in caso di configurazioni errate. Per chi vuole ripassare i criteri generali di una password robusta, la nostra guida alla sicurezza delle password approfondisce lunghezza minima, hashing e secondo fattore di autenticazione, principi che si applicano identici anche a un pannello come quello di Sunshine.

Un’ultima raccomandazione riguarda il perimetro di rete: se si sceglie comunque la strada del port forwarding invece della VPN mesh del Passo 10, conviene isolare il PC da gaming su una rete Wi-Fi separata (molti router moderni offrono una “rete ospiti” o VLAN dedicata) invece di esporlo sulla stessa rete di dispositivi domestici più sensibili, come NAS o telecamere di sicurezza. È una precauzione che costa pochi minuti di configurazione e riduce sensibilmente il danno potenziale in caso di configurazione errata delle porte.

Errori comuni da evitare

  • Cercare ancora GeForce Experience/GameStream: il servizio è stato dismesso da NVIDIA a fine marzo 2023 e non esiste più come opzione host, in nessuna versione di GeForce Experience o della nuova NVIDIA App.
  • Dimenticare le regole firewall: è la causa più frequente di “host non trovato” nel client Moonlight, sia su Windows sia su Linux con firewall attivo (ufw, firewalld).
  • Attivare l’AV1 senza una GPU compatibile: senza un encoder AV1 hardware sul lato host, Sunshine ripiega automaticamente su HEVC o fallisce silenziosamente a seconda della versione, generando confusione se non se ne conosce la causa.
  • Aprire le porte di Sunshine direttamente su Internet: espone il pannello di amministrazione a scansioni automatizzate; la VPN mesh del Passo 10 è quasi sempre la scelta più sicura per l’accesso da remoto.
  • Scegliere un codec non supportato dal client: smart TV e dispositivi Android datati spesso non decodificano HEVC o AV1 in hardware, causando schermo nero o framerate irregolare; in quel caso conviene forzare H.264 lato client.
  • Ignorare il rapporto tra bitrate e banda Wi-Fi reale: impostare un bitrate 4K su una rete che regge a malapena il 1080p produce artefatti a blocchi visibili, non un’immagine più nitida.
  • Non aggiornare i driver GPU: driver datati possono impedire a Sunshine di rilevare correttamente l’encoder hardware disponibile, facendo ripiegare tutto sull’encoding via CPU.

Risoluzione dei problemi più comuni

Anche seguendo tutti i passaggi, alcuni inconvenienti sono più frequenti di altri. Ecco le situazioni più comuni segnalate dagli utenti e le relative soluzioni.

  • L’host non appare nell’app Moonlight: verificare che entrambi i dispositivi siano sulla stessa sottorete e che il firewall del PC host non blocchi le porte del Passo 9; in alternativa, aggiungere l’host manualmente inserendone l’indirizzo IP.
  • L’accoppiamento con il PIN va in timeout: il PIN scade dopo pochi minuti; generarne uno nuovo dal client e inserirlo rapidamente nell’interfaccia web di Sunshine.
  • Schermo nero alla connessione: spesso dovuto a un driver del display virtuale non installato correttamente su Windows, oppure a un monitor fisico scollegato quando il sistema non supporta l’uscita headless; reinstallare i driver proposti da Sunshine durante il setup.
  • Audio assente sul client: controllare che nel pannello audio del PC host il dispositivo di riproduzione predefinito corrisponda a quello monitorato da Sunshine.
  • Controller non rilevato o senza vibrazione: ricollegare il gamepad al client prima di avviare lo streaming; se la vibrazione si interrompe a metà sessione su driver NVIDIA, un riavvio del PC host generalmente risolve.
  • Latenza elevata o scatti su Wi-Fi: passare alla banda 5GHz o 6GHz, avvicinarsi al router oppure collegare l’host via cavo Ethernet; ridurre temporaneamente risoluzione o bitrate per isolare se il collo di bottiglia è di rete o di encoding.
  • Colori HDR spenti o innaturali: verificare che sia il gioco sia il pannello del dispositivo client abbiano l’HDR attivo contemporaneamente; un mismatch tra le due impostazioni produce spesso un’immagine più piatta anziché più vivida.
  • Il servizio Sunshine non parte o segnala una porta già in uso: un’altra applicazione (talvolta un vecchio processo GeForce Experience non completamente rimosso) potrebbe occupare la porta 47990; verificare i processi attivi e, se necessario, disinstallare completamente GeForce Experience prima di reinstallare Sunshine.
  • Impossibile collegarsi da fuori casa: il router blocca il traffico non richiesto in entrata per impostazione predefinita; seguire il Passo 10 con Tailscale anziché tentare un port forwarding manuale complesso da mantenere sicuro.
  • Framerate bloccato a 30fps nonostante le impostazioni: controllare che il gioco stesso non abbia un limitatore di fotogrammi interno attivo, e che l’encoder scelto al Passo 3 supporti effettivamente il framerate richiesto.

Consigli avanzati per uno streaming di livello professionale

Chi ha già superato la configurazione di base può affinare ulteriormente l’esperienza. Sul fronte encoder, NVENC espone diversi preset di qualità (da P1, il più veloce ma meno efficiente, a P7, il più lento ma con la miglior resa a parità di bitrate): per lo streaming interattivo un preset intermedio bilancia bene latenza e nitidezza, mentre P7 ha senso solo su hardware molto potente dove la codifica non diventa il collo di bottiglia.

Sul router, dove supportato, attivare il QoS (Quality of Service) e assegnare priorità al traffico verso l’indirizzo IP del PC host riduce le probabilità di micro-interruzioni quando altri dispositivi in casa saturano la banda disponibile, ad esempio durante un download di grandi dimensioni in background. Per chi vuole un host completamente headless, senza monitor fisico collegato, un dongle HDMI “fittizio” (dummy plug) o un driver di display virtuale garantisce che il sistema operativo generi comunque un output video valido da trasmettere.

Infine, dove l’hardware lo consente, l’encoder AV1 introdotto nelle GPU più recenti riduce il bitrate necessario a parità di qualità percepita rispetto a HEVC, un vantaggio concreto per chi streamma su reti Wi-Fi domestiche non sempre stabili o per chi gioca da remoto su connessioni mobili con dati limitati.

Domande frequenti

Moonlight e Sunshine sono davvero gratuiti?
Sì, entrambi sono progetti open source con licenza GPL-3.0, senza abbonamenti, pubblicità o funzioni bloccate dietro un pagamento. L’unico costo indiretto è l’elettricità per tenere acceso il PC host mentre non lo si sta usando fisicamente, se si vuole poterlo raggiungere in qualsiasi momento dall’esterno.

Serve per forza una scheda grafica NVIDIA?
No. Sunshine supporta nativamente anche AMD (tramite AMF su Windows o VAAPI su Linux), Intel (Quick Sync o VAAPI) e Apple Silicon (VideoToolbox). La scelta dell’encoder in fase di configurazione, al Passo 3, si adatta automaticamente all’hardware effettivamente disponibile sul sistema.

Posso giocare da remoto, fuori dalla rete di casa?
Sì, tramite port forwarding, un indirizzo IPv6 pubblico oppure — soluzione consigliata in questa guida — una VPN mesh come Tailscale, che evita di esporre porte direttamente su Internet mantenendo comunque una latenza aggiuntiva minima rispetto a una connessione diretta.

In cosa differisce da Steam Link?
Steam Link richiede che i giochi siano aggiunti alla libreria Steam come collegamenti “non-Steam” e limita i 120fps al solo client Apple Vision Pro, fermandosi a 60fps su tutti gli altri dispositivi anche con HDR e AV1 attivi; Moonlight trasmette l’intero desktop per impostazione predefinita, senza bisogno di un account Steam, e supporta i 120fps su una gamma di client più ampia.

Serve comunque un abbonamento come GeForce Now?
No: con Sunshine il gioco gira interamente sul proprio PC, non su un server cloud a pagamento, quindi non c’è alcun canone mensile né un tetto di ore di utilizzo. GeForce Now e Xbox Cloud Gaming restano utili solo a chi non possiede un PC abbastanza potente da far girare i giochi in locale.

Quanti dispositivi client posso collegare?
Sunshine può gestire più client accoppiati contemporaneamente nell’elenco delle connessioni autorizzate, ma lo streaming attivo resta tipicamente limitato a una sessione alla volta per host, salvo configurazioni multi-monitor o multi-utente più avanzate che esulano da questa guida introduttiva.

Sunshine funziona anche su Linux e macOS, non solo Windows?
Sì, Sunshine è multipiattaforma fin dalla progettazione: Windows, Linux, macOS e FreeBSD sono tutti supportati ufficialmente, ciascuno con il proprio percorso di accelerazione hardware dedicato (NVENC/AMF/Quick Sync su Windows, VAAPI su Linux/FreeBSD, VideoToolbox su macOS).

È sicuro lasciare Sunshine sempre acceso?
Sì, a patto di impostare una password robusta sull’interfaccia web, mantenere Sunshine aggiornato alle release più recenti e di evitare di esporre le sue porte direttamente su Internet senza una VPN, come spiegato nel Passo 10 e nella sezione dedicata alla sicurezza.

Approfondimenti correlati