ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.9k stars 1.04k forks source link

Need a fake implementation of POWRPROF.dll.PowerSettingRegisterNotification for compatibility with Special K mods #5625

Open Kaldaien opened 2 years ago

Kaldaien commented 2 years ago

Special K has a lot of integration with power management on Windows to help with low-end systems. It has been a part of Special K for many years, so there are versions of Special K used in mods 5+ years old at this point that require this API.

I cannot go back and retroactively add compat hacks into all my old mods to make them work with WINE, so I really need the compat hack burden to be placed on Proton's shoulders. Newer versions actually detect WINE and start to disable these features, but I need Proton to do some of the work to make Tales of Vesperia Fix, etc. compatible with SteamDeck.

As I understand things, WINE doesn't implement much of any of the power management APIs in Windows, so there should be absolutely no harm in implementing a stub that just lies to my software and claims to have registered a notification.

Kaldaien commented 2 years ago

In fact... Special K can handle an unsuccessful notification registration, so maybe do that? Anything's better than aborting the entire game because of an API call that isn't implemented.

aeikum commented 2 years ago

I don't know that we'll have time to do this ourselves any time soon, but we'd welcome patches if you'd like to take a stab at it yourself. They could go upstream first, and then we can pick them back into Proton's Wine.