cross-posted from: https://lemmit.online/post/2209265

This is an automated archive made by the Lemmit Bot.

The original was posted on /r/steamdeck by /u/je7ebel on 2024-02-19 10:49:35.


  1. install sunshine on host (and needed programs: moondeckbuddy, ViGEmBus)

  2. download and install virtual monitor on host, save files on folder C:\IddSampleDriver

  3. From Windows, open display settings and configure the new virtual screen with the steamdeck resolution 1280x800

  4. download multimonitortool From nirsoft and unrar files on C:\IddSampleDriver folder

  5. install moonlight on steamdeck from desktop mode with discover app

  6. pair moonlight with sunshine

  7. from first time run multimonitortool, and write down the names of the adapters, you should have a virtual monitor with adapter IddSampleDriver

  8. write the following cmd scripts in C:\IddSampleDriver folder, note the display names are same From multimonitortool gui (this can vary From yours)

Steamdeck-on.cmd

cd C:\IddSampleDriver
MultiMonitorTool.exe /enable \\.\DISPLAY9
MultiMonitorTool.exe /turnoff \\.\DISPLAY1
MultiMonitorTool.exe /turnoff \\.\DISPLAY2
MultiMonitorTool.exe /SetPrimary \\.\DISPLAY9

Steamdeck-off.cmd

cd C:\IddSampleDriver
MultiMonitorTool.exe /disable \\.\DISPLAY9

  1. Configure sunshine to run scripts when stream is launched and finished, inside Configuration -> General

now every time you launch a game in stream through moonlight + sunshine, the script Steamdeck-on.cmd, will turn off the “real” monitors you have, turn on a virtual monitor with the steam deck resolution, put this virtual monitor as primary and the game will launch and stream from this virtual monitor.

When you finish the game session, the script Steamdeck-off.cmd will disable the virtual monitor (you can add commands to turn on real monitors)

I hope you find it helpful.