Nonary/ResolutionAutomation

Resolution reverts when starting a game

Closed this issue · 3 comments

I opened a thread here, but now that I've looked into this more, this is the spot I should have posted. I'm not sure how these scripts are setting the resolution/refresh rate is any different from QRes, but I have not been able to get this to work. I was using both MonitorAutomation and ResolutionAutomation. MonitorAutomation seems to work flawlessly, while ResolutionAutomation, on the other hand, appears to work initially (looking at the Windows display settings on a Moonlight Windows stream), but as soon as I open a game, the resolution and refresh rate revert to whatever was originally set by MonitorAutomation. If I use MonitorAutomation in conjunction with QRes to set the resolution and refresh rate on the virtual display adapter, the resolution and refresh rate DO NOT revert when I start a game.

Failing Scenario: I have MonitorAutomation set up to disable my physical displays and set my Virtual Display Adapter to 1080p/60Hz. However, when I start a stream with a client that requests something else, we'll say 720p/90Hz, ResolutionAutomation will set the Virtual Display Adapter to 720p/90Hz and Windows display settings will show the same, but as soon as I start a game (verified by running in Windowed mode), the resolution reverts. All resolutions/refresh rates are supported by the Virtual Display Adapter (if they weren't they wouldn't be set initially). I have tried starting a game from the desktop directly and through Playnite, both yield the same results.

My setup:
1x 2560 x 1440 monitor
1x 3440 x 1440 monitor
1x Virtual Display Adapter (non-HDR version)

Including primary/dummy.cfg just so you understand what MonitorAutomation is doing:

dummy.cfg

[Monitor0]
Name=\\.\DISPLAY1
MonitorID=MONITOR\HPN375B\{4d36e96e-e325-11ce-bfc1-08002be10318}\0007
SerialNumber=
BitsPerPixel=0
Width=0
Height=0
DisplayFlags=0
DisplayFrequency=0
DisplayOrientation=0
PositionX=0
PositionY=0
[Monitor1]
Name=\\.\DISPLAY2
MonitorID=MONITOR\HPN3728\{4d36e96e-e325-11ce-bfc1-08002be10318}\0006
SerialNumber=
BitsPerPixel=0
Width=0
Height=0
DisplayFlags=0
DisplayFrequency=0
DisplayOrientation=0
PositionX=0
PositionY=0
[Monitor2]
Name=\\.\DISPLAY10
MonitorID=MONITOR\LNX0000\{4d36e96e-e325-11ce-bfc1-08002be10318}\0000
SerialNumber=Linux #0
BitsPerPixel=32
Width=1280	
Height=720
DisplayFlags=0
DisplayFrequency=30
DisplayOrientation=0
PositionX=0
PositionY=0

primary.cfg

[Monitor0]
Name=\\.\DISPLAY1
MonitorID=MONITOR\HPN375B\{4d36e96e-e325-11ce-bfc1-08002be10318}\0007
SerialNumber=
BitsPerPixel=32
Width=2560
Height=1440
DisplayFlags=0
DisplayFrequency=165
DisplayOrientation=0
PositionX=0
PositionY=0
[Monitor1]
Name=\\.\DISPLAY2
MonitorID=MONITOR\HPN3728\{4d36e96e-e325-11ce-bfc1-08002be10318}\0006
SerialNumber=
BitsPerPixel=32
Width=3440
Height=1440
DisplayFlags=0
DisplayFrequency=165
DisplayOrientation=0
PositionX=-520
PositionY=-1440
[Monitor2]
Name=\\.\DISPLAY10
MonitorID=MONITOR\LNX0000\{4d36e96e-e325-11ce-bfc1-08002be10318}\0000
SerialNumber=Linux #0
BitsPerPixel=0
Width=0
Height=0
DisplayFlags=0
DisplayFrequency=0
DisplayOrientation=0
PositionX=0
PositionY=0
Nonary commented

Please try the latest version of the script released today, it has some fixes to make it easier to use with MonitorSwapper

I've switched to just using MultiMonitorTool and QRes directly because I couldn't get this to work as advertised. I also did not like the built-in functionality of reverting resolution or monitor configuration if a stream was suspended because it would not set again when the stream was started (at least not for me).

Nonary commented

I've switched to just using MultiMonitorTool and QRes directly because I couldn't get this to work as advertised. I also did not like the built-in functionality of reverting resolution or monitor configuration if a stream was suspended because it would not set again when the stream was started (at least not for me).

In both scripts you can disable the revert by setting the delay to something like 2147483648 which is like 70 years. It reverts because people tend to forget to end stream and it would keep their computer on a black screen basically.