DuoStream / Duo

An HDR-compatible multiseat streaming solution based around RdpWrap, Sunshine, Moonlight, and a variety of custom driver and library patches
400 stars 1 forks source link

Prevents system sleep #16

Closed niallobr closed 9 months ago

niallobr commented 11 months ago

After installing Duo the host machine can no longer enter sleep mode. The display turns off as expected. No errors showing in the application log.

When running powercfg /requests the result is

DISPLAY:
None.

SYSTEM:
None.

AWAYMODE:
None.

EXECUTION:
None.

PERFBOOST:
[DRIVER] Legacy Kernel Caller
Power Manager

ACTIVELOCKSCREEN:
None.

System is able to enter sleep again after Duo is uninstalled and system is rebooted.

Black-Seraph commented 10 months ago

My notebook sleeps fine running Duo and so does my Desktop Duo test rig.

As such I think we need more info to debug this, but what exactly I can't really say.

In general: Duo doesn't make any changes to power policies, as such it should have no direct influence on how sleep behaves.

niallobr commented 9 months ago

Some more info after a fresh install of Duo. I can still trigger sleep manually. Auto sleep timer is not working. The screen does turn off at the specified time in Windows, but the system doesn’t sleep. This only happens when Duo is installed, I had uninstalled everything and auto sleep started working normally again. Since Duo doesn’t directly influence how sleep behaves I wonder is it indirectly affecting it somehow.

Black-Seraph commented 9 months ago

I looked into this some more despite not having this issue myself and did find a little something while going through the Microsoft RDP documentation.

There are group policies that control the sleep behavior of remote sessions.

Given how Duo uses remote sessions to separate itself from the physical user session, this could explain your situation. Which means that system sleep behavior will differ based on what is set in those group policies.

Having found this golden nugget of information in Microsoft's RDP documentation, is there really anything I can do to rectify this though?

I feel that forcing a specific Windows setting on users might be too invasive, as they might have good reason to configure them one way or the other.

niallobr commented 9 months ago

Thanks for checking it out @Black-Seraph. I was able to workaround myissue by downloading PsTools and creating a new Scheduled Task in Windows Task Scheduler. The scheduled task just triggers the PsShutdown tool after a period of inactivity with a suspend flag. Works really well!

1

2

3

Maybe if there's anything relevant in Microsoft's RDP docs it could be added to the Duo readme. Otherwise I think we're good to close this. Thanks again for the help.