Turn Idle Devices Into Windows Extended Screens Using Sunshine, Moonlight, and Virtual-Display-Driver
Contents
🧰 Tool Introduction
1. Sunshine
- GitHub Repository: https://github.com/LizardByte/Sunshine
- Function: Sunshine is an open-source game streaming server that allows you to stream PC screens to other devices.
- Installation Location: Install on the Windows host that you want to use as the “main computer”.
2. Moonlight
- Official Website: https://moonlight-stream.org/
- Function: Moonlight is a multi-platform streaming client that can run on Android, iOS, Linux, macOS, and other devices to receive Sunshine streaming content.
- Installation Location: Install on the idle device you want to use as an “extended screen”.
3. Virtual-Display-Driver (VDD)
- GitHub Repository: https://github.com/VirtualDrivers/Virtual-Display-Driver
- Function: Creates a virtual display that makes the system recognize a real monitor connection, enabling software-level extended screen functionality.
- Installation Location: Install on the Windows host to create virtual display output.
📌 Implementation Principle Overview
The solution works through the following steps:
- Use Virtual-Display-Driver to create a virtual display on Windows.
- Set this virtual display as an “extended desktop”.
- Use Sunshine to encode and stream the virtual display content.
- Use Moonlight on the extended screen device to receive the streaming content and display it in fullscreen.
✅ Prerequisites
- A Windows host computer (Windows 10 or 11 recommended)
- A device to serve as the extended screen (such as Android phone, tablet, or another computer)
- Same local network environment
- Download the 3 tools mentioned above
🛠️ Setup Steps
Step 1: Install Virtual-Display-Driver
-
Download
Virtual.Display.Driver-vxxx-setup-x64.exe
from the project releases and install it. -
[Optional] Configure virtual screen resolution to match your extended screen device
-
Edit
"C:\VirtualDisplayDriver\vdd_settings.xml"
-
Add configuration in
<resolutions></resolutions>
, for example:<resolutions> ... <resolution> <width>2880</width> <height>1920</height> <refresh_rate>30</refresh_rate> </resolution> </resolutions>
-
Restart Drivers in
VDD Control
If the driver shuts down correctly but fails to restart automatically, you can manually start the device in the system’s Device Manager -
Configure the virtual screen resolution and refresh rate in system display settings
-
Step 2: Configure Sunshine
- Install the Sunshine program
- The first startup will guide you through initial configuration - select language and enter the pairing interface.
- Access Sunshine’s Web UI (default address is
https://localhost:47990
) - Open the Troubleshooting page in the Web UI
- Search for
Currently available display devices
on the page to find the virtual screen’sdevice_id
- Fill in the found
device_id
in Settings > Audio/Video > Output Name - Save and click Apply to restart Sunshine
Step 3: Configure Moonlight
- Install the Moonlight app on your device
- After opening the app, it will automatically search for Sunshine servers on the local network
- If discovery is successful, click the pair button and enter the PIN code
- Start streaming - you should now see the Windows host’s extended desktop screen.