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.
install sunshine on host (and needed programs: moondeckbuddy, ViGEmBus)
download and install virtual monitor on host, save files on folder C:\IddSampleDriver
From Windows, open display settings and configure the new virtual screen with the steamdeck resolution 1280x800
download multimonitortool From nirsoft and unrar files on C:\IddSampleDriver folder
install moonlight on steamdeck from desktop mode with discover app
pair moonlight with sunshine
from first time run multimonitortool, and write down the names of the adapters, you should have a virtual monitor with adapter IddSampleDriver
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
- 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.
If you’d be willing to post your .bat file, that would be fabulous! I haven’t had a chance to set this up yet.
I’m not sure if I did this right, but here it is! This is the script to run on moonlight launch, just reverse the numbers for your script to run on moonlight exit.
The instructions above worked well with the exception of the script. Make sure that the iddsampledriver folder is on the root of the C: drive. and make sure that Multimonitortool is inside that folder.
You’ll have to switch the numbers in the script with your monitor values. You’ll get those from MultiMonitorTool. Open MMT, right click on your monitor, click properties, and the value you’re looking for is under “Name”
@echo off
:: Path to MultiMonitorTool.exe set “MultiMonitorToolPath=C:\IddSampleDriver\MultiMonitorTool.exe”
“%MultiMonitorToolPath%” /disable \.\DISPLAY1 “%MultiMonitorToolPath%” /enable \.\DISPLAY21 “%MultiMonitorToolPath%” /setprimary \.\DISPLAY21