Couch Lag

Streaming with Sunshine without a dummy plug (headless PC)

Short answer: Sunshine streams a display your GPU is actively driving, so a PC with no monitor (or with the monitor off) gives a black screen or error 503. Your options are a cheap HDMI or DisplayPort dummy plug, a virtual display driver, or a Sunshine-compatible host such as Apollo that creates a virtual display matched to your client automatically (Windows only).

Checked October 30, 2026 against Moonlight PC v6.2.0 and Sunshine v2026.914.233613 (latest stable releases) and their documentation. Sources are listed at the end of the page.

Why a headless PC doesn’t stream

  • On Windows, Sunshine captures with the Desktop Duplication API, which only captures from the GPU driving a display. With no active display there is nothing to capture.
  • When that happens, Sunshine’s launch check fails with “Failed to initialize video capture/encoding. Is a display connected and turned on?” (error 503) or you get a black screen.

Option 1: an HDMI or DisplayPort dummy plug

A dummy plug (also called a headless dongle or EDID emulator) makes the GPU think a monitor is connected. Moonlight’s docs suggest one for streaming without a monitor. Two things to check before buying: that it offers the resolution and refresh rate you want to stream at, and, if you want HDR, that it reports an HDR-capable display. Sunshine and Moonlight both list an HDR display or EDID emulator as an HDR requirement.

Option 2: a virtual display driver (Windows)

A virtual display driver adds a software monitor that Windows treats like a real one. With Sunshine:

  • Point output_name at the virtual display (the Sunshine log lists the displays it detects).
  • Use dd_configuration_option to make the display active (ensure_active), primary (ensure_primary), or the only display while you stream (ensure_only_display).
  • If HDR colours look wrong on the virtual display, Sunshine’s dd_wa_hdr_toggle_delay workaround exists for exactly that case.

Option 3: Apollo’s built-in virtual display

Apollo, a Sunshine-based host, includes a virtual display (SudoVDA) that is created when a stream starts, matched to the client’s resolution and frame rate, and removed when the app quits. Its README notes:

  • Virtual display support is Windows only for now.
  • Remove any other virtual display solutions from the system and the host config first, to avoid conflicts.
  • On dual-GPU laptops, set the Adapter Name to the dedicated GPU and turn on Headless mode; no dummy plug is needed.
  • Each client gets a fixed display identity, so Windows remembers its display settings.

Linux

LizardByte has published a guide to a headless Sunshine server without autologin or dummy plugs for X11 with NVIDIA GPUs, linked from Sunshine’s Getting Started page.

Headless setups can leave your real monitor in the wrong state after a stream ends. If your physical display isn’t restored after streaming, Couch Lag has a guided check for that too.

FAQ

Do I need a dummy plug for Sunshine?

Only if the host has no active display. Sunshine on Windows can only capture a display the GPU is driving. A real monitor that stays on, a dummy plug or a virtual display all work.

Is a virtual display better than a dummy plug?

It depends. A virtual display can match your client’s resolution and frame rate exactly; Apollo does this automatically on Windows. A dummy plug is simple and works without drivers, but only offers the modes its EDID reports.

Can I stream HDR from a headless PC?

Yes, if Windows can turn HDR on. That needs an HDR-capable display, an HDR-capable EDID emulator, or a virtual display that supports HDR.

Sources