4.1 KiB
SunshineDisplaySwitch
English
Solves a problem with game streaming via Sunshine + Moonlight: The physical PC monitor is disabled during the stream and reliably reactivated afterwards.
Files
| File | Purpose |
|---|---|
idd_an.bat |
Sunshine Do-Command — enables IDD virtual monitor, disables physical monitor |
idd_aus.bat |
Sunshine Undo-Command — reactivates physical monitor |
register_task.bat |
Run once — registers a logon task as fallback if the PC is shut down during a stream |
Setup
1. Configure Sunshine
In the Sunshine web UI under Configuration > General:
| Field | Value |
|---|---|
| Command Preparations — Do | C:\Projekte\SunshineDisplaySwitch\idd_an.bat |
| Command Preparations — Undo | C:\Projekte\SunshineDisplaySwitch\idd_aus.bat |
2. Register fallback task (once)
Run register_task.bat as administrator. Registers DisplaySwitch /internal as a logon task (MoonlightTeardown). This activates if the PC is shut down during a stream and the physical monitor is still disabled on next boot.
How it works
Stream starts
└─> idd_an.bat
└─> DisplaySwitch.exe /external (IDD active, physical monitor off)
Stream ends
└─> idd_aus.bat
├─> DisplaySwitch.exe /extend (both displays in topology)
├─> 4 second wait
└─> DisplaySwitch.exe /internal (IDD removed, physical monitor stays)
Why /extend before /internal?
After DisplaySwitch /external, the physical monitor is removed from the Windows display topology. A direct DisplaySwitch /internal cannot bring it back — Windows no longer sees it. /extend restores both monitors into the topology, then /internal removes the IDD monitor again.
Requirements
- Windows 10/11
- Sunshine as streaming server
- IDD (Indirect Display Driver) as virtual monitor
Deutsch
Löst ein Problem beim Game-Streaming mit Sunshine + Moonlight: Der physische PC-Monitor wird während des Streams deaktiviert und danach zuverlässig wieder aktiviert.
Dateien
| Datei | Zweck |
|---|---|
idd_an.bat |
Sunshine Do-Command — aktiviert virtuellen IDD-Monitor, deaktiviert physischen Monitor |
idd_aus.bat |
Sunshine Undo-Command — reaktiviert physischen Monitor |
register_task.bat |
Einmalig ausführen — registriert Logon-Task als Fallback nach Shutdown während Stream |
Einrichtung
1. Sunshine konfigurieren
In der Sunshine Web-UI unter Configuration > General:
| Feld | Wert |
|---|---|
| Command Preparations — Do | C:\Projekte\SunshineDisplaySwitch\idd_an.bat |
| Command Preparations — Undo | C:\Projekte\SunshineDisplaySwitch\idd_aus.bat |
2. Fallback-Task registrieren (einmalig)
register_task.bat als Administrator ausführen. Registriert DisplaySwitch /internal als Logon-Task (MoonlightTeardown). Greift, falls der PC während eines Streams heruntergefahren wird und der physische Monitor beim nächsten Start noch deaktiviert ist.
Funktionsweise
Stream startet
└─> idd_an.bat
└─> DisplaySwitch.exe /external (IDD aktiv, physischer Monitor aus)
Stream endet
└─> idd_aus.bat
├─> DisplaySwitch.exe /extend (beide Displays in Topologie)
├─> 4 Sekunden warten
└─> DisplaySwitch.exe /internal (IDD entfernt, physischer Monitor bleibt)
Warum /extend vor /internal?
Nach DisplaySwitch /external wird der physische Monitor aus der Windows Display-Topologie entfernt. Ein direktes DisplaySwitch /internal würde ihn nicht zurückholen — er ist für Windows nicht mehr sichtbar. /extend bringt beide Monitore zurück in die Topologie, danach entfernt /internal den IDD-Monitor wieder.
Voraussetzungen
- Windows 10/11
- Sunshine als Streaming-Server
- IDD (Indirect Display Driver) als virtueller Monitor