Giter Club home page Giter Club logo

powertools's Introduction

PowerTools

Decky store Custom store

Liberapay GitHub GitHub package.json version GitHub package.json dependency version (prod)

plugin_demo

Steam Deck power tweaks for power users.

This is generated from the template plugin for the Decky Plugin Loader. You will need that installed for this plugin to work.

What does it do?

  • Enable & disable CPU threads & SMT
  • Set CPU frequencies
  • Set GPU frequencies and power (fastPPT & slowPPT)
  • Cap battery charge rate (when awake)
  • Display supplementary battery info
  • Keep settings between restarts (stored in ~/.config/powertools/<gameId>.json)

Install

Please use Decky's built-in store to install official releases. If you're an advanced user, and/or would like to use an in-development version, feel free to build PowerTools yourself.

Build

  1. Requirements: a functioning Rust toolchain for x86_64-unknown-linux-musl, npm, and some tech literacy
  2. In a terminal, navigate to the backend directory of this project and run ./build.sh
  3. In the root of this project, run npm run build
  4. Transfer the project (especially dist/ and bin/) to a folder in your Steam Deck's homebrew plugins directory

License

This is licensed under GNU GPLv3.

powertools's People

Contributors

danyi avatar james2432 avatar jesusrojass avatar ngnius avatar olegenot avatar rodoma92 avatar zxrrx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

powertools's Issues

Overclocking Profiles

Hi! First of all i Love this Plugin! Great Work so far!
I Overclocked my Steam Deck (with https://github.com/DavidS95/Smokeless_UMAF) and would like to ask, if it's possible to make an Expert toggle in PowerTools or maybe Extend the Frequency Slider for CPU and GPU? Currently my TDP is set in Bios to 21W, MAX CPU clock is set to 3900mhz and the GPU can theoretically boost up to 2100mhz. Obviously the Cooling solution cant sustain max speed @21w but it would be nice to disable smt and maybe a couple of cores to boost CPU performance in emulators etc. The same with the GPU clocks.

Thanks!

Other hardware support

Describe what you'd like to be able to do
Control configurations on system which do not have exactly the same CPU, GPU and fan as the Steam Deck. This would be a big shift to dynamically detecting hardware at startup, and customizing sliders & toggles depending on that information.

Additional context
Currently, PowerTools only supports the Steam Deck's hardware configuration (it's simpler that way). But other configurations with very similar software exist, like HoloISO and maybe others.

This may be made easier by the UI improvement work being done with the PluginLoader, but it's definitely achievable without that as well.

Question about the limitation to detect the game closing/opening.

I have notice that this part has been remove from the readme:

The biggest limitation right now is it can't detect a game closing -- only opening -- and only after PowerTools is looked at at least once (per SteamOS restart).

You have to look once at PowerTools to get the game profiles work after a reboot (you need to look once too after waking up the sleep after a long period of sleep), as far as i know is still working like that as of 0.7.0 version. Just wanted to be sure if this is still a limitation or if it's a bug.

Per-Game configuration

Per-Game setting by exemple I have this game I want to limit the GPU clock, but in another game I want it to be a little higher.

Manually doing it is pretty slow and it takes time.

By keeping a config file in every game.

Profiles not applying

Profiles don’t apply when loading a game but do once changing PowerTools settings after launch. After quitting and launching again, the profile still doesn’t apply. Persistent is enabled

BT/Wifi/Rumble/Haptics control

Describe what you'd like to be able to do
Currently these are available in quick settings but not per-game.
Would it be possible to add overrides to this? That way we can turn off this specific settings on a per-game basis while still having them enabled at the 'general' level in gaming mode
(specially wifi)

per-game profiles not working

Expected Behaviour
Clicking on the per-game profile toggle should switch it on.

Actual Behaviour
clicking on the toggle to enable per-game profiles does nothing. The toggle won't slide to the right and won't turn blue.

Is anyone having the same experience?

"Defaults" button not working

Expected Behaviour
The "Default" button returns all settings to the default when clicked, no matter which profile is loaded. Especially on the Default profile.

Actual Behaviour
Nothing happens.

To Reproduce
Steps to reproduce the behavior:

  1. Go to PowerTools settings, check which profile it uses - I assume the Default profile and no game profile now.
  2. Change some of the values to your liking: turn stuff on/off, move the sliders a bit.
  3. Exit and re-enter PowerTools, just to be sure. Everything still the way I just set it
  4. Click "Defaults".
  5. Nothing happens. Reopen PowerTools, the sliders are exactly where I left them instead of in default position and additionally the Limit functions (Frequency Limits, PowerPlay Limits, ...) remains turned on.

Screenshots, etc.
/tmp/powertools.log: not much to see here.

07:12:07 [INFO] Starting back-end (powertools-rs v1.0.5)
07:12:07 [INFO] resume_worker starting...
07:12:07 [INFO] save_worker starting...
07:12:07 [INFO] Server::run; addr=127.0.0.1:44443
07:12:07 [INFO] listening on http://127.0.0.1:44443

Add game profiles to power tools

Is it possible to add a game profile toggle to power tools so that it remembers automatically the settings according to the game/app launched, similar to how the performance tab or vibrantdeck plugin work? This would be a great quality of life improvement which will help users "set it and forget it" and not have to readjust sliders each time the steam deck reboots or each time a different game is launched.

Choose a specific core or thread to disable

Describe what you'd like to be able to do
I'd like to be able to choose wich specific core or thread I would like to disable
Describe alternatives you've considered
Slider is fast and intuitive, I would like to keep the slider but I feel like adding an advance tab for specific options would be ideal.

Port to USDPL

Describe what you'd like to be able to do
Rewrite PowerTools to work with USDPL. This would involve a complete rewrite of the back-end and some non-invasive changes to the front-end.

Describe alternatives you've considered
Status quo (staying with Decky's built-in back-end API) is really the only realistic alternative, but it does not meet my requirements for maintainability, portability, and security.

Additional context
USDPL: https://github.com/NGnius/usdpl-rs

This would also be a good time to shake off some minor technical debt and expand the tools at everyone's disposal.

"Best Core"-aware slider

Looking back at this issue #12, I am not sure the anwser here is completely right;
I am not sure if it apply to the Steam Deck's APU specifically, but since Zen 2, AMD's CPUs have a notion of "best core" (and second-best-core), which identify which core of that particular CPU's silicon perform better and usually boost higher than the other cores.
In windows, the scheduler is aware of that and will try to assign game's main thread to this core for better performances.
https://www.anandtech.com/show/15137/amd-clarifies-best-cores-vs-preferred-cores

I do not know at all if the scheduler in Linux kernel is aware of this, but if it is, then these should be the last cores to be disabled by the slider, as it should technically provide either performance or battery life advantages (albeit probably pretty small)

Much more flexible cpu frequency selection is available for the deck

Within the Deck's Van Gogh APU there is actually a much more flexible interface available to us for selecting a maximum/minimum clock speed. It's a little obscure and Phawx pointed me in the direction of what to do. Within /sys/class/drm/card0/device/pp_od_clk_voltage is actually controls you can use to control the minimum/max clocks for both the gpu and cpu of the deck. The deck actually uses this interface for it's manual gpu clock speed controls, it just turns out there is an additional setting specifically for Van Gogh that also controls cpu core clocks.

The required steps are as follows:
write "manual" to /sys/class/drm/card0/device/power_dpm_force_performance_level
This gives you access to the relevant controls in pp_od_clk_voltage.

Then you have to write a string in the form of: "p C M F" with:
C is the core number, from 0 to 3 to control individual cores, or you can use one not one of the numbers like 4 to control all of them at once.
M is for controlling the minimum or max core frequency, minimum is 0 maximum is 1.
F is the frequency, minimum has a minimum of 1400 and maximum has a maximum of 3500, but maximum can go below minimum to lock the deck at say 400 mhz is "p 4 1 400" as an example.
Then after you modify whatever clocks you want you write "c" to pp_od_clk_voltage which will commit the changes.

There are a few caveats with this, it's not necessarily useful for setting an absolute static clock on the deck's hardware as if the max is above 1.4 ghz it won't necessarily try to go all the way to that, it just controls the maximum, and setting the minimum does seem to get it to clock up at least one core, but it can depend with the others, when it gets pushed enough it will go at that frequency though. The other thing is it seems there is a bug with the deck where it will lock the cores at a wrong value when you put it to sleep and wake it again, but this can be fixed by writing the speed again to pp_od_clk_voltage and committing it. This exhibits even a little more subtly when having just a manual gpu clock will cause the first core to run at about half speed when waking up.

For reference how the deck controls the gpu clocks is setting the minimum and maximum to the set frequency, writing "s 0 400" "s 1 400" "c" to pp_od_clk_voltage in order to lock the frequency. This could potentially be used to have the minimum and maximum frequency of the gpu be settable in Power Tools.

There is one other thing I discovered which is mostly useful for doing ultra low power gaming with things such as 2d indies or the like. With power_dpm_force_performance_level at manual, it is possible to change the deck's memory clock from the max 687mhz to it's minimum 400mhz which it mostly just uses when idle by writing 1 to /sys/class/drm/card/device/pp_dpm_fclk . This does have an effect on performance in things that are too demanding such as most 3d games, but it can be used with lighter stuff to save between 0.5 and 1 watt of total power. For Hades I had 1 watt, Pillars of Eternity was more like 0.5 watts. In 2d gaming with the deck not being pushed very hard, it is possible to get a fair amount of more battery life by shaving that watt or so of power. It would be great to have this available as a toggle too that we can save as a profile, will make doing low intensity gaming on the deck for long periods even better.

Thanks for your consideration.

Battery charge control

Describe what you'd like to be able to do
Control battery charge rate

Describe alternatives you've considered
Live with the battery charging settings as-is. Not great for power users, though.

Additional context
as root, write to /sys/class/hwmon/hwmon5/maximum_battery_charge_rate (max input current in mA). Range is 250 to 2500, default is 2500. If you write 250 here the battery will charge really slowly while still allowing you to play on AC power

to check input current to the battery right now: /sys/class/power_supply/BAT1/current_now (check input current in uA)

(from https://discord.com/channels/865611969661632521/865651345083203644/1003509877915795507 )
I've discussed this with a couple of people before as well, but this is the first time I decided to actually write it down lol

Save settings for Dolphin emulator

The Dolphin emulator seems to run much better using power tools and turning off cpu smt to half the threads.

I have to do this every time I load a game. I’m using steam rom manager that came with Emudeck to launch games from the steam game mode.
it would be amazing to have a settings profile for emulators like dolphin

After the deck UI crashes profile doesn't revert back to default

Expected Behaviour
When the UI crashes PowerTools reverts back to the default profile

Actual Behaviour
When the steam deck UI crashes PowerTools doesn't revert back to default profile e.g. still says I'm using the "Fallout 4" profile

To Reproduce

  1. Steam Deck crashes
  2. Open PowerTools menu
  3. Look at current Profile

Screenshots, etc.
If applicable, add screenshots to help explain your problem.
Please include the log (located at /tmp/powertools.log) if possible.
Note: the log is deleted when the device is restarted.

Notes

  • I'm using beta client

Any Way to set 2 cores with SMT? (4 threads)

First of all wanted to thank everyone who has worked on this so far! Great work! But was wondering if there was a way to set 2 cores active with SMT active thus having 4 total threads? Might be a sweet spot to keep boost clock speeds high like 3.4-3.5ghz while keeping power usage low. Also some games, especially older titles, really like that extra boost clock because they were written for 1 or 2 cores. Just something I wanted to try in some games! Thanks Again Guys and hope we can maybe add this feature!

Translations

Describe what you'd like to be able to do
Use PowerTools with text in a different language, ideally the system language of SteamOS.

Additional context
This would require people to volunteer to translate, as well as a big re-write of the UI components to load text at runtime.

PowerTools 0.7.0 (dev) can't change any settings after launching EmulationStation

Expected Behaviour
Settings should't get locked/hang when launching EmulationStation.

Actual Behaviour
It seems that PowerTools isn't able to detect what is being played and just says "Menu (Default)" in the "Now Playing" section, it's stuck in that state even if you close it and open another game. This also means that you can't change the settings anymore for some reason and you have to reboot to fix it.

To Reproduce
Steps to reproduce the behavior:
Just opening EmulationStation.

Screenshots, etc.
If applicable, add screenshots to help explain your problem.
Please include the log (located at /tmp/powertools.log) if possible.
Note: the log is deleted when the device is restarted.

Video (sorry for the crappy quality):
https://streamable.com/q1nsxh
PowerTools.log

Powertools crashing built in games

Running the latest powertools is crashing some steam deck verified games. Not sure why. Uninstalling powertools fixes the issue. Crashes the game right after install with no tweaks. Happening on shadow of mordor for sure. Unsure if there should be specific default setting for verified games. Thank you for your time

Plugin UI Broken

Expected Behaviour
I am able to open the plugin and modify values

Actual Behaviour
The plugin is not rendering and is in a read only state

To Reproduce
Steps to reproduce the behavior:

  1. Press '...'
  2. Click on the plugin icon
  3. Click power tools
  4. See error

Screenshots
PXL_20220512_001605791

Better Slider Logic

I'm developing a similar tool for the Aya Neo in Linux, which I actually forked from your repo. I don't have a steam-deck so I haven't tested the native functionality in the designed environment so this may not apply, but I wanted to pass along what I did to get the slider to function with a more expected behavior. As written, I had to select the tiny notch location to move the slider which was kind of a pain. The slider indicator was not "dragable". I came up with a solution which is in my repo here:

https://github.com/pastaq/Aya-Neo-Power-Tools/blob/ce612cad78c512ca0dda17197d059af0b453c7bd/main_view.html#L74

Basically, you can get the local x position from a mouse event (up/down/move) which is relative to slider. You can then divide that x over the slider size to get a %, which you can send to the slider.style. If you know the # of elements for that slider you can also trigger notching logic, or have it snap to the nearest on mouseup events.

Powertools disappears from the Steamdeck quickmenu, when using the Beta or Preview update channels.

Expected Behaviour
Being able to access Powertools While using Steamdeck's Beta or Preview Channel.

Actual Behaviour
Powertools "plug icon" disappears from the quickmenu when using the Steamdeck's Beta or Preview update channels, so you can't access it while using them.

To Reproduce
Steps to reproduce the behavior:
Press the "..." button to access the Steamdeck quickmenu, while using either the Beta or Preview channel.

etc.
Switching back to Stable Does allow you to access Powertools once again, but... Stable is behind the curve on features, so using it kinda sucks.

PowerTools 1.0.1 refuses to install.

Hello, any attempt at updating to the latest uninstalls the previous version (1.0.0) and then nothing. Instaling 1.0.0 will install it but i dont have my power tools saved each time i try to launch a game (Team Fortress 2, any emulators, etc.)

Anyone else experiencing this? Is there a way to manually install 1.01.

Locking when quickly sliding sliders

Expected Behaviour
Sliders slide smoothly

Actual Behaviour
Sliders slide quickly for one change, and then take a while to update on the next change.

To Reproduce
Steps to reproduce the behavior:

  1. Slide any slider in powertools by holding down the left or right d-pad button.
  2. Watch it move inconsistently

Additional context
This is possibly due to lock contention on the back-end. Making the API lock-free (by sending config updates to a single thread which applies them) would be a good mitigation strategy.

Wifi / BT / Rumble / Haptics per game

Describe what you'd like to be able to do
Currently these are available in quick settings but not per-game.
Would it be possible to add overrides to this? That way we can turn off this specific settings on a per-game basis while still having them enabled at the 'general' label in gaming mode
(specially wifi)

Per-game setting profiles

Describe what you'd like to be able to do
Choose & apply settings based on the currently-running game, instead of globally

Describe alternatives you've considered
Manually changing the settings after each game is launched. This is tedious and requires a good memory/notepad.

Additional context
Investigation is required to find out how Steam handles it's per-game configs for non-Steam apps. For steam games, there's probably sufficient information in ~/.steam/registry.vdf

Per per-game toggling

from Discord; Iris Nebula

I knew the problem was that you can't easily detect games closing, as I'd read that while you were still developing. I answered that question quickly to help, but now that I have little more time to write it down:

What I would like, regardless of closing detection, is for PowerTools to actively respond to the "Per-game" toggle. Save a global profile and when the toggle is disabled, immediately load that. When it's enabled, immediately load the profile for the "active" app. Even if it's not really active.

What that will enable is for me to turn that toggle off as soon as I close a game to get back my global settings, and also turn it on whenever I remember it even after I launched a game.

As is right now, the only way to use another set of settings for menus without destroying the last game's profile everytime is to have a dummy game that I launch right after I stop playing, then immediately close it, just so that I can use its profile for menus navigation, otherwise the feature is pretty useless for what I want it.

Number of available threads to choose

Expected Behaviour
I expected to be always available 1 to 8 threads for choose.

Actual Behaviour
On steam gaming mode there is only 1 to 4 threads available for choose.
The same problem when I run dolphin game in gaming mode (EmuDeck).
When I run some PC game (e.g. Mafia II) there is all 8 options available.
At the begining there was always 8 options available and suddenly I see just 4 options.
I tried to reinstall PowerTools but problem is still present.

To Reproduce
Steps to reproduce the behavior:

  1. Open PowerTools
  2. There is 1 to 4 threads available to choose.

Plugin Loader not changing threads and frequency.

It's been stuck like that and deleting,uninstalling, or resetting has done nothing for me. I can't see the change in the smt toggle on and off as well as the frequency. I don't believe it works at all whether I change it to smt on or off and it may be related to the new update in deckyloader.

PowerTools (1.0.0) no longer detects certain non-Steam games

Hi there, been loving PowerTools 1.0.0 so far. A regression I've noticed however is that certain non-Steam games aren't detected by the new version of PowerTools, and thus I'm unable to make per-game profiles for these games. In example, PowerTools no longer detects anything added from EmuDeck. Launching anything that was added from EmuDeck will just have the "Default" profile applied.
Other non-Steam games made for PC work perfectly fine on the other hand, such as XIVLauncher or games added to Steam from Lutris.

Powertools 1.0.4 seems to be effecting RPCS3 performance

Expected Behaviour
Powertools being able to use the cpu properly in rpcs3 without massive stuttering or inconsistency in performance

Actual Behaviour
When booting a game on RPCS3 with Powertools installed, the cpu performance will become extremely choppy https://streamable.com/iyo6nh
I've isolated the issue to powertools effecting the performance by uninstalling it and then running a ps3 game. Any games run fine with powertools uninstalled. It is not a single game that is being effected, it's the entire library with this stuttering. For some weird reason, after uninstalling PowerTools, the performance tab still shows 7 or 8 cores being used despite powertools being completely removed. The temporary solution is to uninstall PowerTools. Sometimes Reinstalling it from RPCS3 and then using it works. However, upon rebooting it later, the deck will go back to stuttering (I have tried to delete any profile tab that PowerTools keeps, but I cant find the location for it.) Lastly, I'm also getting crashing with PowerTools randomly after pressing ... sometimes: #29

To Reproduce
Steps to reproduce the behavior:

  1. Boot into RPCS3 with the PT settings for it (7 cores, 3100hz)
  2. Load into a game (doesnt matter which one, they're all effected)
  3. Get massive stuttering https://streamable.com/iyo6nh
  4. temporarily fixed by uninstalling Powertools completely

Screenshots, etc.

https://streamable.com/iyo6nh
Video of the problem. I did not record the performance with Powertools uninstalled, but it runs completely fine without Powertools installed.

Regarding the log file, launched RPCS3 from gaming mode, then went into desktop mode to retrieve the file. Tried running rpcs3 on desktop, then getting the log file and it still had the same results.
powertools-rs.log

New way of handling charge handling on the deck

Within the deck firmware, there actually is a method of turning on/off the charging of the battery that isn't just doing the current limiting or anything, but actually control it manually like how the deck currently discharges to 90% if it's plugged in for a while. Within the jupiter-hw-support package there is actually a file /usr/share/jupiter_controller_fw_updater/RA_bootloader_updater/linux_host_tools/BatCtrl that is able to control the charging circuitry. There are other functions like controlling the charging led, changing fan speeds, enabling shipping mode, controlling power to the board, and many others. But the one that is interesting in this case is BatCtrl ChargeMode [0/1/2].

0 allows you to force discharge the battery, where the deck will run on the battery even while plugged into a power source, 1 is idle the battery charging circuit where it will keep the battery at that particular value, and 2 which is the normal charging behavior. Looking at an strace of what it's doing it's sending text directly to /dev/port, and I think it's talking directly to the low level controller that exists on the deck so it's not just something that's exposed within sysfs. Could potentially sniff what it's doing exactly and have power tools send that string to /dev/port, or more likely to be without issues is just running the batctrl binary directly.

Only issue is that it's executable by default within steamos 3.4, but not in 3.3. The commit that changed that is what initially brought my attention to it's presence in the first place, and found it kind of interesting. With that it should be possible to setup making the deck only charge to a certain amount when plugged in for a long period of time in order to increase battery health. I think power tools already did add that functionality, so hopefully wouldn't be a huge reengineering to change over to this method, though as I said, by default will only work on 3.4, as 3.3 the binary isn't executable. Just thought I would bring it to your attention.

Display which config powertools is using

Describe what you'd like to be able to do
After turning on Per-game profile, I hope powertools can display which config is being used currently, just like how steamdeck's performance settings do, it shows the game icon and the profile of which app is being used.

Please documents defaults, and when the plugin kicks in.

Does the plugin auto engage (as in auto change any values), after a clean shutdown and reboot?

What is the default max frequency (governor)?

Why is CPU Boost enabled by default?

Please document stuff like that if possible. I'm trying to get a grip on when powertool engages, and what it takes to "get back to default".

Thank you.

Powertools hangs the plugin menu

I'm not certain if it's the current release of the plugin loader or PowerTools, but trying to access the PowerTools from the plugin menu hangs the UI.

To Reproduce
installed:

  • SteamHomeBrew/PluginLoader v1.1.2 (current release)
  • sudo chmod -R 755 ~/homebrew
  • downloaded the latest PowerTools release (v0.2.0) into ~/homebrew/plugins/PowerTools

Edit: Nevermind, this seems to be a menu bug caused by the PluginLoader.

Plugin has to be reinstalled after every restart

Expected Behaviour
Plugin remains installed after restart.

Actual Behaviour
After every restart i have to reinstall the plugin.

To Reproduce
Steps to reproduce the behavior:

  1. Install plugin
  2. Restart steamdeck

I am running steamOS on beta.

Steam Client crashes randomly when opening UI elements

I have at least similar problems although I'm not sure it's exactly the same. Having PowerTools installed seems to cause crashes not only with the quick access menu but other overflowing Steam elements as well. These crashes seem to happen at least sometimes when a Steam Input radial menu is shown.

Also some Resetera user reported similar problems here .

Can I provide some logs that might help investigate this? I'm on the latest stable SteamOS and have the latest Decky Loader (Prerelease v2.0.5-pre20) with the 0.7.0 PowerTools.

Edit: Reading the above comments more thoroughly, I'm not sure if they have actual crashes or just freezes. In my case, Steam actually restarts from "Verifying installation" so it's not just a freeze.

Originally posted by @theCroh in #13 (comment)

Last core running above max frequency when SMT is off

Expected Behaviour
All cores should be running between the ranges of minimum frequency and max frequency.

Actual Behaviour
Setting GPU clock frequency from Gamemode interface causes the 6th core to run at more frequency than the maximum specified when SMT is off after a full Steam Deck restart.

To Reproduce
Steps to reproduce the behavior:

  1. Set GPU clock frequency on gamemode interface
  2. Set SMT off and max core frequency on Powertools
  3. Fully restart Steam Deck
  4. Last core runs above maximum frequency.

Screenshots, etc.
Screenshot 1: GPU freq: 400 MHz, CPU freq: 1600MHz
Screenshot_1
Screenshot 2: GPU freq: 600 MHz, CPU freq: 1500 MHz
Screenshot_2

PowerTools causes crash when Quick Access is launched

Have been having this issue from ver 4.0 to 6.0 and on SD OS up to the latest (3.2).

Doesn’t happen all the time…typically works fine after a reboot but after using it for a while, eventually trying to access Quick Access results in loss of all controls. Whatever is running (game, etc) continues to run in the background. Only way to recover is to hold down the power button.

Also notice that it sometimes causes a delay in opening the QA menu…and sometimes it will work fine once it’s open…other times it hangs all the same.

Removing PowerTools from plugins fixes the QA crash issue. Am using the latest version of plugin manager.

If there are log files generated anywhere, let me know and I can show them, if that helps. Or if there’s anything I can test on my end.

Investigate use of SMT setting file

Describe what you'd like to be able to do
Investigate toggling SMT with the dedicated sysfs file /sys/devices/system/cpu/smt/control instead of (or in conjunction with) disabling every second thread.

Describe alternatives you've considered
The current implementation works, but if there's a less janky way I'd prefer that.

Additional context
The file /sys/devices/system/cpu/smt/control is rw with root and seems to accept on or off(?) as input to set SMT mode. There's also /sys/devices/system/cpu/smt/active which is ro but is an integer/bool (0 is off, 1 is on) which can be used to determine the SMT status. I don't know how this affects cpu# listings in /sys/devices/system/cpu/.

Originally mentioned here ValveSoftware/SteamOS#864 (comment)
(Aside: Valve please make this project obsolete)

Beta Support

Describe what you'd like to be able to do
SteamOS beta has some software differences from SteamOS stable which make it harder to support

Describe alternatives you've considered
Only using SteamOS stable. Apparently some people enjoy being on the bleeding edge

Additional context
How hard is it to switch between beta and stable versions? Would it be better to buy an extra SSD or SD card to accomplish this?

Crankshaft

Describe what you'd like to be able to do
Port PowerTools to Crankshaft.

Additional context
Blocking problems:

  • OPTIONAL Root-level plugins support (without additional installation steps)
  • BLOCKING decky-frontend-lib, or equivalent UI bindings, support
  • BLOCKING Actually working with recent SteamOS updates
  • BLOCKING USDPL support

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.