Power saving, linux fw16

on my framework 16 with cachy os what are the ebst way to try and set a combiantion of pwoer profiles and power saving mesures. what i want are a slection of profiles that i can select between via hyprland key bindings, i want stuff like cpu and gpu power limtis, setting kenrel parameters telling the kernel to act more effeicently probaly threw some sysctl stuff and if systemd has a way for me to kill backround serivces such as syncthing that would also be nice.

1 Like

Here’s what I do:

When entering battery-power mode:

  • Switch to 60hz display mode
  • Activate a more efficient power-profiles-daemon profile, like balanced/power-saver
  • lower brightness

In the past, those changes were enough to get down to about 7W power draw, but lately it seems to hover around 10W instead. Idk what’s changed. I’ve also messed with other things such as autocpu-freq, powertop, ryzenadj, and etc. but none of those showed me an improvment.

2 Likes

ah thx, what exactly do you mean by power-profiles-daemon profile, if it is a thing to make systemd services run more power effiecntly that would be great

I am using powertop and its --auto-tuneargument.
Executing powertop allows you to set some power saving optimizations. When you switch those power saving optimizations, it shows what it actually does in the background at the top of the powertop terminal UI. You can then add those things to a script that you trigger with a shortcut.

it it’s otpmizations be toggeled on and off or is it a static always on thing

It really depends on what Desktop Environment you are used (DE).

If gnome, you can adjust your power profile in the top right of the panel. Click up there and you can set between perf, balanced, power savings.

On KDE, hyperland, etc etc etc is somewhere else. I dont use those so IDK where.

Alternatively, you can do the following in your terminal:

tuned-amd active
tuned-adm list
tuned-adm profile (whatever profile you want)

Once powertop –auto-tunewas run, it will stick until you manually disable the things or reboot.

I just now remembered cpupower which can be used to set the maximum CPU-frequency, brightnessctlto set the screen brightness and powerprofilesctlwhich allows you to set the cpu governor (power profile). Scripts could look like this:

Low power mode

#!/bin/bash

# Enable low power mode:
cpupower frequency-set -u 1.2Ghz
powerprofilesctl set power-saver

# Dim screen
brightnessctl s 0

High power mode

#!/bin/bash

# Enable performance mode:
cpupower frequency-set -u 6Ghz
powerprofilesctl set performance

# Set screen brightness to maximum
brightnessctl s "$(brightnessctl m)"

cpupower and brightnessctlare available in the Arch extra repository and you should be able to install them with pacman. To allow the maximum available frequency as upper limit, it should be enough to set a really high value.

OP, you may also be interested in an old thread of mine:

Minimum Power Draw Competition - Framework Laptop 16 - Framework Community

1 Like