This guide was last updated: 20th December 2022, and the most optimum settings may differ as Sunshine and Moonlight are updated.
This guide is intended to help those migrating from streaming their games with Nvidia GameStream, to Sunshine. It will help you setup the Moonlight client and Sunshine gamesteam host to stream your PC games to your other devices. The aim is to optimise the settings to get similar streaming performance as Nvidia GameStream.
- Download and install Moonlight client on your chosen device
- Download and install the nightly build of Sunshine gamestream host on the PC which you want to stream games from.
The following setup tweaks will help make Moonlight and Sunshine run optimally for the best experience.
-
Disable the Sunshine service. This service runs as the
SYSTEM
user, and can cause issues when launching programs under this user.- Browse to
C:\Program Files\Sunshine\scripts
- Right click
uninstall-service.bat
and run as Admin
- Browse to
-
Run Sunshine manually as Admin
- Browse to
C:\Program Files\Sunshine
- Right click
sunshine.exe
and run as Admin
- Browse to
- Set Nvidia VSync to
Fast
or set "AMD Enhanced Sync" and see if it helps with stream smoothness or reducing latency. If using either of these methods, you should also cap the framerate to the client's framerate or else the stream will stutter. You can use RTSS for a global frame limit.
Ensure to Sunshine is *Run as Admin"
Use the Web GUI at https://localhost:47990
to access the Sunshine configuration web gui. Configure the following options:
-
Under NVENC Encoder select:
- Nvenc rate control: CBR
- Nvenc encoder: auto
- NVENC Tune: ull
-
Under Advanced select:
- HEVC Support: Sunshine will specify based on encoder
- Force encoder: autodetect
- FEC percentage: 5 (only lower from 20 if on LAN)
Configure Moonlight as follows for 60FPS gameplay
- Video resolution: Your preference
- Video frame rate: 120
- Video bitrate: Your preference, or as network allows
- Video frame pacing:
Prefer lowest latency
- in my case (Nvidia Shield Pro), the best option is
Prefer smoothest video
- in my case (Nvidia Shield Pro), the best option is
The total latency of the following system:
- LG C7 OLED
- RTX 2070S host
- Nvidia Shield client running moonlight
- Video resolution: 4k
- Video frame rate: 120
- Video bitrate: 120mbps
- Video frame pacing: Prefer smoothest video
- 60 fps rendering rate on host and client
Input latency measurements:
- GFE: 3x16ms (48ms) lag on LG OLED C7 in Game mode
- GFE: 4x16ms (64ms) lag on LG OLED C7 in ISF mode
- Sunshine: 6x16ms (100ms) lag on LG OLED C7 in ISF mode, llhp preset
- GFE is about 3 frames lower latency than Sunshine at 60 fps, ~48ms.
- Game mode on LG C7 OLED reduces latency by 1 frame, or 16ms when rendering at 60fps. LG TV HDMI Input icon has been set as
PC
- NVENC low latency (ll) preset causes fps to vary more, and get stuck at 30/45fps more than ull preset
- Nvenc rate control: CBR, significantly helps keeps frame rate higher in low movement scenes