Skip to main content
Audio and video settings control the quality and performance of your stream. Sunshine supports multiple hardware encoders (NVIDIA, AMD, Intel) and software encoding.

Audio Configuration

audio_sink
string
default:"Default audio device"
The name of the audio sink used for audio loopback.
Use the included tool to find audio device names:
%ProgramFiles%\Sunshine\tools\audio-info.exe
Example:
audio_sink = Speakers (High Definition Audio Device)
For devices with identical names, use the Device ID instead.
virtual_sink
string
default:"None"
A virtual audio device that allows streaming audio while muting speakers.Virtual Audio Options:
  • Steam Streaming Speakers (all platforms) - requires Steam installation
  • Virtual Audio Cable (Windows/macOS)
virtual_sink = Steam Streaming Speakers
stream_audio
boolean
default:"enabled"
Whether to stream audio. Disable for headless displays used as second monitors.
stream_audio = disabled
install_steam_audio_drivers
boolean
default:"enabled"
Install Steam Streaming Speakers driver (if Steam is installed) for surround sound and host audio muting.
Windows only
install_steam_audio_drivers = enabled

Display Selection

adapter_name
string
default:"Default video card"
Select the video card to use for encoding.
Use the included tool to find adapter names:
%ProgramFiles%\Sunshine\tools\dxgi-info.exe
Example:
adapter_name = Radeon RX 580 Series
output_name
string
default:"Default display"
Select the display to stream.Check Sunshine logs during startup to see detected displays and their IDs.
Use the device_id value from startup logs:
output_name = {daeac860-f4db-5208-b1f5-cf59444fb768}

Video Encoder Selection

encoder
string
default:"Auto"
Force a specific encoder. Sunshine uses the first available encoder by default.Options:
  • nvenc - NVIDIA graphics cards
  • quicksync - Intel graphics cards
  • amdvce - AMD graphics cards
  • vaapi - VA-API (AMD, Intel on Linux)
  • software - CPU encoding
encoder = nvenc
capture
string
default:"Auto"
Force a specific screen capture method.Options:
  • nvfbc - NVIDIA Frame Buffer Capture (Linux, fastest for NVIDIA)
  • wlr - Wayland/wlroots compositors (Linux)
  • kms - DRM/KMS kernel capture (Linux, requires cap_sys_admin)
  • x11 - XCB capture (FreeBSD/Linux, slowest)
  • ddx - DirectX Desktop Duplication (Windows)
  • wgc - Windows.Graphics.Capture (Windows, beta, not compatible with service)
capture = ddx

Video Quality

max_bitrate
number
default:"0"
Maximum bitrate in Kbps. Set to 0 to always use the bitrate requested by Moonlight.
max_bitrate = 5000
minimum_fps_target
number
default:"0"
Lowest effective framerate for bandwidth optimization.
  • 0 - Use half the stream’s FPS as minimum
  • 1-1000 - Specify custom value
minimum_fps_target = 30
qp
number
default:"28"
Quantization Parameter for devices without Constant Bit Rate support.
Higher values = more compression but lower quality
qp = 28

Video Codec Support

hevc_mode
number
default:"0"
Allow HEVC (H.265) video streams.Options:
  • 0 - Auto-detect based on encoder capabilities (recommended)
  • 1 - Disable HEVC
  • 2 - Enable HEVC Main profile
  • 3 - Enable HEVC Main and Main10 (HDR)
HEVC is more CPU-intensive with software encoding
hevc_mode = 2
av1_mode
number
default:"0"
Allow AV1 video streams.Options:
  • 0 - Auto-detect based on encoder capabilities (recommended)
  • 1 - Disable AV1
  • 2 - Enable AV1 Main 8-bit
  • 3 - Enable AV1 Main 8-bit and 10-bit (HDR)
AV1 is more CPU-intensive with software encoding
av1_mode = 2

NVIDIA NVENC Settings

nvenc_preset
number
default:"1"
Performance preset (1=fastest, 7=slowest). Higher presets improve compression at the cost of latency.
nvenc_preset = 1
nvenc_twopass
string
default:"quarter_res"
Enable two-pass encoding for better bitrate distribution.
  • disabled - One pass (fastest)
  • quarter_res - Two passes, first at quarter resolution
  • full_res - Two passes, first at full resolution
nvenc_twopass = quarter_res
nvenc_spatial_aq
boolean
default:"disabled"
Assign higher QP to flat regions. Recommended for low bitrate streaming.
nvenc_spatial_aq = enabled
nvenc_h264_cavlc
boolean
default:"disabled"
Use CAVLC entropy coding instead of CABAC. Requires 10% more bitrate but faster software decoding.
nvenc_h264_cavlc = disabled

Intel QuickSync Settings

qsv_preset
string
default:"medium"
Encoder preset.Options: veryfast, faster, fast, medium, slow, slower, veryslow
qsv_preset = medium
qsv_coder
string
default:"auto"
Entropy encoding for H.264.
  • auto - Let FFmpeg decide
  • cabac - Better quality
  • cavlc - Faster decode
qsv_coder = auto

AMD AMF Settings

amd_usage
string
default:"ultralowlatency"
Encoder usage profile.
  • transcoding - Slowest, highest quality
  • webcam - Slow
  • lowlatency_high_quality - Fast
  • lowlatency - Faster
  • ultralowlatency - Fastest
amd_usage = ultralowlatency
amd_rc
string
default:"vbr_latency"
Rate control mode.
  • cqp - Constant QP
  • cbr - Constant bitrate
  • vbr_latency - Variable bitrate, latency constrained
  • vbr_peak - Variable bitrate, peak constrained
amd_rc = vbr_latency
amd_quality
string
default:"balanced"
Quality profile.Options: speed, balanced, quality
amd_quality = balanced
amd_vbaq
boolean
default:"enabled"
Variance Based Adaptive Quantization for improved visual quality.
amd_vbaq = enabled

Software Encoder Settings

sw_preset
string
default:"superfast"
Encoder preset. Slower presets provide better compression.Options: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow
sw_preset = superfast
sw_tune
string
default:"zerolatency"
Tuning preset.
  • film - High quality movie content
  • animation - Cartoons
  • grain - Old grainy film
  • stillimage - Slideshow content
  • fastdecode - Faster decoding
  • zerolatency - Low-latency streaming
sw_tune = zerolatency

Windows Display Configuration

The following settings apply to Windows only
dd_configuration_option
string
default:"disabled"
Mandatory verification and configuration for display devices.
  • disabled - No additional configuration
  • verify_only - Verify display is active
  • ensure_active - Activate if inactive
  • ensure_primary - Activate and make primary
  • ensure_only_display - Activate and disable others
dd_configuration_option = ensure_only_display
dd_resolution_option
string
default:"auto"
Resolution configuration.
  • disabled - No configuration
  • auto - Use client resolution
  • manual - Use manual resolution (requires dd_manual_resolution)
Requires “Optimize game settings” enabled in Moonlight
dd_resolution_option = auto
dd_hdr_option
string
default:"auto"
HDR configuration.
  • disabled - No HDR configuration
  • auto - Match client HDR state
dd_hdr_option = auto

Next Steps

Input Configuration

Configure gamepad and input devices

Network Settings

Set up ports and network access

Build docs developers (and LLMs) love