Skip to content

A service that automatically sets the TDP of the Steam Deck APU to a higher that stock value

Notifications You must be signed in to change notification settings

CodeRunner5235/SteamDeck-Auto-TDP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

No Longer Needed

The lastes releases of SteamOS make this hacky fix unnecessary

SteamDeck Auto TDP

What is it?

A service that allows the TDP to be set higher than 15w automatically while preserving functionality of the existing TDP control slider in the quick access menu ON LCD DECKS. I don't know if the OLED uses different files to control the TDP. You can try, but I don't know what will happen, and don’t recommend it.

How does it work?

The service is started automatically at boot and runs every few seconds to check the current maximum TDP setting. If it is 14w or lower, it does nothing. If it is 16w or higher, it does nothing. If it is exactly 15w, the service will run a script that will set the TDP to your desired maximum TDP setting. The idea being to still have a higher than stock TDP while being able to use the built in SteamOS TDP control slider. Just set the slider to 15w and it will be set to your desired higher-than-stock TDP automatically.

Note: You must set the TDP higher than 15w in the deck bios for this to work. Otherwise, the bios will lock the TDP to 15w regardless of SteamOS settings.

Why not just use PowerTools?

The main reason I made this was that PowerTools, while an awesome plugin, has a deal-breaking bug for me. It limits the CPU clock speed to 3.5GHz max. This is no good for people like me who want to overclock the deck CPU. So the solution is to just not install PowerTools. However, that means no TDP control over 15w. Hence, this service. Basic, automatic TDP control while having a higher than stock CPU clock speed.

Is there a better way?

Definitely. This is just the quickest way I could think of.

Installing

To install this on your deck, choose your desired TDP folder (or make your own). I'm going to assume 20 so make sure to change your number if necessary.

Installing the files

sudo cp /path/to/ppt20W.service /etc/systemd/system/ppt20W.service
sudo cp /path/to/ppt20W.timer /etc/systemd/system/ppt20W.timer
sudo cp /path/to/ppt20w.sh /usr/bin

Make sure to take note of the lowercase w in the ppt20w.sh.

Make sure the script is executable

sudo chmod +x /usr/bin/ppt20w.sh

Enable and start the service

sudo systemctl daemon-reload
sudo systemctl enable ppt20W.timer
sudo systemctl enable ppt20W.service

Then run

sudo systemctl start ppt20W.timer

or reboot to start the service.

FAQ

Q: Will this work with my deck?

A: It works on my test suit of one LCD deck, so your milage may very. Tested SteamOS versions 3.5.7 through 3.5.17.

Q: Will this survive a major update?

A: Nope.

Q: Why would I use this over PowerTools?

A: No good reason if you’re not overclocking the CPU and trying to set a higher TDP at the same time. Maybe you don't like decky for some reason?

Q: I installed but the slider still says 15w

A: The script will set the TDP, but it wont change what the slider says. I don't know how to make it do that. You can check the current max TDP with

cat /sys/devices/pci0000:00/0000:00:08.1/0000:04:00.0/hwmon/hwmon5/power1_cap

and

cat /sys/devices/pci0000:00/0000:00:08.1/0000:04:00.0/hwmon/hwmon5/power2_cap

both should read your current max TDP in microwatts (six extra zeros).

About

A service that automatically sets the TDP of the Steam Deck APU to a higher that stock value

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages