NGnius / PowerTools

Moved to

Home Page:https://git.ngni.us/NG-SD-Plugins/PowerTools

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Command line interface or API expose

madarexxx opened this issue · comments

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

Hi!
I have recently discovered existence of PowerTools project and would like to thank everyone who participates in development, for this huge amount of work done!

I think that PowerTools need command line interface for desktop mode operation in following test case:

  1. Set up lowest possible CPU/GPU clocks, disable 2 cores/4 threads in gaming mode/big picture mode on desktop
  2. Switch to desktop mode
  3. Everything is slow as hell, 480p video in browser is constantly dropping frames
  4. Quit Steam (losing buttons and touchpad controls, yes)
  5. Use Deck as 10 hours lasting reader/video player
  6. To turn back you have to launch Steam in big picture mode, wait and hope that DeckyLoader initializes in time

Having command line interface allows for fast profile switching, without running Steam dependency, and may possibly simplify testing/debugging.

Describe alternatives you've considered

This can also be achieved via used API documentation, so users can write their own scripts. For example I see libryzenadj.so in PowerTools folder. May be ryzenadj binary file should be included too, with a simple script for disabling powersave? I have compiled RyzenAdj on my deck, but this is huge pain since Valve deleted every single header file without any warnings.

I am trying to read backend Rust source files looking for used API description, but it is way too complicated for me :(

Anything else?

Thank in advance :)

Unfortunately this is very out of scope for the project. PowerTools is first and foremost a plugin and is tightly coupled to having a single instance connected to a single GUI. If you're looking for alternatives, consider using the equivalent commands listed in the wiki or RyzenAdj's CLI. Digression: build RyzenAdj on a Linux computer with headers; Steam Deck & SteamOS isn't intended to be a good dev experience.

I wouldn't be opposed to refactoring some of the Steam Deck-specific sysfs interactions into a separate library, and that may happen if that provides value. Allowing other user interfacing options could be accomplished with that, if necessary.