Additional per-game configs #82

Closed
opened 2023-03-19 15:18:04 +00:00 by NGnius · 5 comments
NGnius commented 2023-03-19 15:18:04 +00:00 (Migrated from github.com)

Please confirm

  • I have searched existing issues
  • This issue is not a duplicate of an existing one
  • I will fill this out to the best of my ability

Describe what you'd like to be able to do

Create multiple PowerTools configs for a game. This could be used for functionality such as having a high-power config for playing plugged in and a more efficient profile for playing on battery.

Changing between profiles could be done manually or automatically for certain scenarios. Manual config select could be done by a dropdown. Automatic could maybe be triggered by events like charger un/plugged, low battery, temperature, etc. (suggestions welcome).

This may be possible to do without breaking existing configs, but will undoubtedly force a file format upgrade which will change things in arbitrary (and possibly undesirable) ways. It may be best to make this a breaking change with no upgrade path.

Describe alternatives you've considered

Multiple configs can currently be accomplished by remembering the settings and applying them manually when desired. I'm not a fan of remembering things that I don't have to, though.

Anything else?

I think this is a misuse of the Steam Deck, since it isn't designed to increase performance like the Nintendo Switch when docked, but I'm not going to force my opinion on others.

### Please confirm - [X] I have searched existing issues - [X] This issue is not a duplicate of an existing one - [X] I will fill this out to the best of my ability ### Describe what you'd like to be able to do Create multiple PowerTools configs for a game. This could be used for functionality such as having a high-power config for playing plugged in and a more efficient profile for playing on battery. Changing between profiles could be done manually or automatically for certain scenarios. Manual config select could be done by a dropdown. Automatic could maybe be triggered by events like charger un/plugged, low battery, temperature, etc. (suggestions welcome). This may be possible to do without breaking existing configs, but will undoubtedly force a file format upgrade which will change things in arbitrary (and possibly undesirable) ways. It may be best to make this a breaking change with no upgrade path. ### Describe alternatives you've considered Multiple configs can currently be accomplished by remembering the settings and applying them manually when desired. I'm not a fan of remembering things that I don't have to, though. ### Anything else? I think this is a misuse of the Steam Deck, since it isn't designed to increase performance like the Nintendo Switch when docked, but I'm not going to force my opinion on others.
NGnius commented 2023-03-19 16:19:40 +00:00 (Migrated from github.com)

For detecting whether the Deck is plugged in, there's /sys/class/hwmon/hwmon5/in0_input which is the USB PD negotiated voltage (presumably in mV). It's 0 when unplugged, and changes based on the charger's capabilities (non-PD USB is 5000, my PD laptop charger through a dock is 15000).

I'd really like a way to detect that without polling, but I'd rather not have to tie it into the frontend battery event if possible. Frontend tie-in increases risk of breakages, since the JS is not guaranteed to be stable.

For detecting whether the Deck is plugged in, there's `/sys/class/hwmon/hwmon5/in0_input` which is the USB PD negotiated voltage (presumably in mV). It's 0 when unplugged, and changes based on the charger's capabilities (non-PD USB is 5000, my PD laptop charger through a dock is 15000). I'd really like a way to detect that without polling, but I'd rather not have to tie it into the frontend battery event if possible. Frontend tie-in increases risk of breakages, since the JS is not guaranteed to be stable.
phush0 commented 2023-05-15 07:23:19 +01:00 (Migrated from github.com)

you can try ACPI event or UPOWER dbus, I don't know if it is installed on deck though. I have successfully used rust dbus to connect to it to write something similar for Razer laptops - aka profiles for plugged and unplugged.

you can try ACPI event or UPOWER dbus, I don't know if it is installed on deck though. I have successfully used rust dbus to connect to it to write something similar for Razer laptops - aka profiles for plugged and unplugged.
TedsGitHubEmporium commented 2023-07-28 19:08:22 +01:00 (Migrated from github.com)

This would be greatly appreciated. I use my deck in handheld mode alot and would like to have per game settings like the system profiles. This would allow me to limit tdp per game so it can be high when needed or capped without needed to tweak every single time.

This would be greatly appreciated. I use my deck in handheld mode alot and would like to have per game settings like the system profiles. This would allow me to limit tdp per game so it can be high when needed or capped without needed to tweak every single time.
NGnius added this to the Vacation Fun project 2023-08-25 02:31:20 +01:00

This is still missing a dropdown in the UI to switch between profiles

This is still missing a dropdown in the UI to switch between profiles
https://git.ngni.us/NG-SD-Plugins/PowerTools/commit/d481f1314409c99a0ed48b006a8e9b53f6caa8a5 https://git.ngni.us/NG-SD-Plugins/PowerTools/commit/4eaf6fae2bba0219a316d37499ee6e1549645862 https://git.ngni.us/NG-SD-Plugins/PowerTools/commit/bba9452383d7e15b140fce5a1c9cc890a443f82c https://git.ngni.us/NG-SD-Plugins/PowerTools/commit/59a0727f88f38b0d1a1ca491bf1966f39b951c3f
NGnius added
tbr
and removed
research
labels 2024-02-03 02:48:04 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: NG-SD-Plugins/PowerTools#82
No description provided.