this post was submitted on 20 Feb 2024
31 points (100.0% liked)

Steam Deck

14917 readers
407 users here now

A place to discuss and support all things Steam Deck.

Replacement for r/steamdeck_linux.

As Lemmy doesn't have flairs yet, you can use these prefixes to indicate what type of post you have made, eg:
[Flair] My post title

The following is a list of suggested flairs:
[Discussion] - General discussion.
[Help] - A request for help or support.
[News] - News about the deck.
[PSA] - Sharing important information.
[Game] - News / info about a game on the deck.
[Update] - An update to a previous post.
[Meta] - Discussion about this community.

Some more Steam Deck specific flairs:
[Boot Screen] - Custom boot screens/videos.
[Selling] - If you are selling your deck.

These are not enforced, but they are encouraged.

Rules:

Link to our Matrix Space

founded 3 years ago
MODERATORS
 

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.

top 4 comments
sorted by: hot top controversial new old
[–] blindsight@beehaw.org 3 points 9 months ago* (last edited 9 months ago) (1 children)

Seems like a good idea, but why didn't the off script reset the SetPrimary monitor? And does the "turn off" command just temporarily turn the screens off, so any action on the desktop will turn the screens back on?

Edit: Also, the cd command seems a bit strange. I haven't written a batch file in a while, but I think there's a way to set the path as a variable and then call the executables directly. Probably doesn't matter, but changing directories in a .bat file just feels wrong for some reason, y'know?

Regardless, thanks for posting. This is a great idea, regardless of the specific implementation details.

[–] Jz5678910@lemdro.id 2 points 9 months ago (1 children)

So after sitting down and setting it up, I found that on my setup the script above didn't work for my machine. I had to set up my own scripts that specified the path of the executable, and then I used a command that toggles the monitor instead, it worked much better that way.

But scripting aside, now that it's working, it is beautiful! Set it up for my living room TV to be a 4k 120hz virtual monitor.

[–] blindsight@beehaw.org 2 points 9 months ago (1 children)

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.

[–] Jz5678910@lemdro.id 2 points 9 months ago* (last edited 9 months ago)

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