Power Plan often not doing what it should (EDIT: Caused by SteamVR)

Started by Globespy, September 16, 2021, 07:55:49 PM

Previous topic - Next topic

Globespy

Been noticing some odd things with PL.
I have Windows and PL to open with Balanced power plan, then I use 'Induce Performance' mode for the games that PL doesn't seem to recognize as games and stays on Balanced instead of Bitsum HP.

Game in question is iRacing. PL happily changes to Bitsum HP on launch, and seems to recognize when iRacing closes and says it is returning power to balanced, but it stays on Bitsum HP.
Really would love to figure out why this is doing this as it's causing unnecessary heat by keeping the clock speeds on my CPU at max when there's no game being played - I have Speedstep On in BIOS and use offset/adaptive vcore.

Here's an excerpt from my logs - you can see that it 'should' have gone to 'balanced', but in fact when I open PL it is still on Bitsum HP.
Should I use 'Idle Saver'? Not something I have used before and not sure it's what I need for a PC that is built for gaming?

I have tried resetting PL to stock settings, then only choosing 'Induce Performance Mode' for the games that PL doesn't seem to understand are games, but same result.
Please help.
Thank you.

Jeremy Collake

#1
Can you please copy/paste your INI config file here? You can get to it via 'File / Manually Edit Configuration'.

Also turning on log events for process creation and termination may be helpful, via 'Options / Log'. There could be a particular sequence of process creation and terminations that are causing confusion with your power profile rules.

Some VR apps have also been known to change the power profiles themselves, which could confuse Process Lasso rules. We can check this in your Windows Event Logs, or using ParkControl's notify on power profile change feature.

Hopefully with more data we can get to the bottom of this.

To answer your question: IdleSaver would take your PC to Balanced when idle. However, it wouldn't resolve the core issue here. I'd prefer to figure out what is occurring prior to any further config changes.
Software Engineer. Bitsum LLC.

Globespy

ini file attached.
I will turn on the other options you suggested just in case the ini isn't explaining why this happens.

Globespy

Quote from: Globespy on September 17, 2021, 01:40:18 PM
ini file attached.
I will turn on the other options you suggested just in case the ini isn't explaining why this happens.
When you say turn on logs, mostly everything is checked - see image attached:

Jeremy Collake

I meant to check the 'Log Launches' and 'Log Terminations'. That will add a little more info to your log.

However, I'm not sure that will illuminate the issue here. The cause isn't yet apparent to me, everything looks OK. As you noted, the log indicates that Process Lasso is acting appropriately.

A feature to log external changes to the power profile is planned for this beta series. It may aid in diagnosis, or at least rule out an external actor.

Please hold for that, I'll post when it is available, or when I have any other thoughts about what could cause this result.
Software Engineer. Bitsum LLC.

Globespy

Thank you Jeremy.
Look forward to your reply.

Jeremy Collake

#6
Do you also have ParkControl installed? Its update process could have changed the active power profile, though this would have been a one-time event after each update.
Software Engineer. Bitsum LLC.

Globespy

#7
No. Only PL Pro.

I noticed some strange inconsistencies that may be of interest/provide clues as to why this problem is happening.
I am playing in VR for reference - WMR Reverb G2 (SteamVR)
If I open the native 'WMR Portal' from the Windows start menu (not the Steam version of WMR for SteamVR), the power plan stays on Balanced - note that SteamVR is not open, only WMR Portal.

When I launch 'WMR for SteamVR' from the Steam Client, it opens the 'WMR portal' (Steam version) and with it SteamVR - the power plan changes automatically to Bitsum HP.
NOTE: No game has been launched, only 'WMR Portal for SteamVR' (which opens SteamVR)

I launched and then closed 'WMR for SteamVR' 4 times, one after the other.
The first three times I could see the power plan changing to Bitsum HP and then back again to balanced when the WMR Portal was closed.
However on the 4th try, it remained on Bitsum HP.

From the logs, it seems that on the 2nd attempt, several services were executed that were not on the 1st - 'environmentsapp.exe'
Then on the 3rd try, some new processes executed that were not in the 1st or 2nd tries - 'openvrsettingssux.exe' and 'mixedrealityportal.exe', but 'environmentsapp.exe was there also.
Then on the 4th try none of these processes seen in the first 3 attempts were executed, and the power plan stayed on Bitsum HP when the WMR portal was closed?

Maybe you can see something I can't?
Hope this is helpful, logs attached.

Jeremy Collake

#8
Based on your latest log file, I think the Steam VR helper processes are causing confusion since they are errantly auto-detected as games.

This change in v10.3.0.21 beta (now available) is intended to address it, tentatively, with the following change:

(21) Core: Exclude any Steam child process running from "common\steamvr" subfolder from Performance Mode automatic game detection

Alternatively, you can disable Automatic Game Detection by unchecking 'Options / Power / Performance Mode / Enable Automatic Detection'. You'd then need to manually mark individual games as Performance Mode processes.

If you try either option, please let me know how it goes.
Software Engineer. Bitsum LLC.

Globespy


Globespy

tried the Beta and still doing the same thing unfortunately.

Will try the other option you suggested, disabling automatic game detection - however that seems like a backwards step where essentially PL isn't doing what most love about it, and that's automation

Globespy

Disabling automatic game detection still does not resolve.
What else can be done other than having to keep manually changing the power plan every time I finish playing a game in VR?

Jeremy Collake

#12
That's unfortunate, thanks for trying. It was unclear from your log if this was the issue you're seeing, but was apparent that SteamVR processes shouldn't be detected as a game.

EDIT: v10.3.0.27 (when available) also will exclude your OpenVR process from automatic gaming mode.

The issue may potentially be mitigated by setting an application power profile for lsass.exe to your 'Balanced' profile (attached screenshot 1).

Yes, the beta is compatible with Windows 11.





Software Engineer. Bitsum LLC.

Jeremy Collake

#13
As to the cause, we need to check to see if SteamVR is changing the power profile itself. It is known to do this.

You can do this by opening the 'Event Viewer' and checking the 'System' source for Event ID 12, like shown in the attached screenshot 1. If SteamVR is changing the power profile, you'll see a record of it.

Alternatively, ParkControl can show you what and when a process changes the power profile (attached screenshot 2).

Software Engineer. Bitsum LLC.

Globespy

I will check all these suggestions, thank you.
I didn't think I needed Park Control installed if I have PL Pro?

Globespy

Seems that the Event ID 12 you mentioned is always Steam 'vrmonitor.exe'

Jeremy Collake

#16
Great! So we see vrmonitor.exe is changing the power profile on its own accord.

This (SteamVR) is therefore the culprit. When it exits, it is likely switching the power profile back to that which it started in, leaving you stuck in BHP.

You can read more about SteamVR changing the power profile here.

Ideally, there would be a SteamVR option to turn off its change of the power profile. However, I don't know if such exists. We'll be working on ways to improve this interaction in the future, but in the interim you may have to keep manually changing the power profile back after using SteamVR.

Other mitigatory rules are also possible, such as setting an application power profile on a system process like 'explorer.exe'. However, I can not currently attest to that.

And, no, you don't need ParkControl. It just has that handy feature to show what process changed the power profile. But now you've looked that up in the Windows Event Log, so it is unnecessary.

Software Engineer. Bitsum LLC.

Globespy

Hello
I have been running all the latest releases (in the Beta channel - current version does not seem to be beta) and with each new release the same issue exists.
I play a lot of one game title 'iRacing', which is probably the most well known car sim racing title in the world.

Every time the iRacing executable (iRacingSim64DX11.exe) launches, PL faithfully changes my usual default 'balanced' power plan to 'Bitsum HP', however on exit, the PL log seems to show that it changed the power plan back to 'Balanced' - but in actual fact it just switches straight back to 'Bitsum HP' and will stay there indefinitely unless manually changed or a PC restart.

Why would this be happening?

Jeremy Collake

#18
Probably it is the same phenomenon as your topic here: https://community.bitsum.com/forum/index.php?topic=10259.0

The VR components are known to switch the power profile, conflicting with Process Lasso. It is actually SteamVR that is changing to BHP when tries to restore the power profile as it exits.

You can follow guidance in this post: https://community.bitsum.com/forum/index.php?topic=10259.msg30896#msg30896

You could also try setting some system process, like wininit.exe, to use a Balanced application power profile. That may mitigate the problem.

However, we hope to offer better detection and mitigation strategies in the near future. I'll post here when this work progresses.
Software Engineer. Bitsum LLC.

Globespy

#19
Thanks Jeremy.
I hope you guys can come up with something soon that mitigates this VR related issue - I really want to keep using PL, but it's the little things that tend to grow into huge things when not addresses. Like paper cuts continually being doused with salt water.

PS - I read that other post. The issue is that even after I turn VR power off (close SteamVR/WMR Portal etc), it remains on BHP plan

Jeremy Collake

#20
As of Process Lasso v10.4.2.3 beta, the 'Start Process Lasso with Power Profile' setting is used as a base power profile that will go into effect when no other power rules are active.

Set this to 'Balanced' via menu item 'Options / Power / Start Process Lasso with Power Profile' and SteamVR's undesired changing of the power profile should be nullified.
Software Engineer. Bitsum LLC.