Anyone have a list of changes that they’ve made to increase battery life? I’ve got about three hours (with 80% limit in BIOS, which I might get rid of), so I’m sure there’s a lot that can be changed.

  • Jumuta
    link
    fedilink
    arrow-up
    10
    ·
    edit-2
    7 months ago

    have you done the TLP stuff?

    first make sure you don’t have power profiles daemon because this conflicts with tlp

    you can turn it off with

    sudo systemctl stop power-profiles-daemon.service
    sudo systemctl mask power-profiles-daemon.service
    

    install tlp with

    sudo apt install tlp
    sudo systemctl enable tlp
    

    and edit the config at /etc/tlp.conf to optimise your battery

    the instructions are in the file iirc

    basically set your CPU settings (I use powersave on my intel non-framework), and maybe have a look at the radeon graphics things (I don’t have an amd system so I can’t say much about this)

    and refresh your config with

    sudo tlp start

    if you also get powertop (sudo apt install powertop) you can monitor your power consumption in that. (sudo powertop)

    If you can’t be bothered with this, I think you can also just install power profiles daemon but I like tlp better because it gives you much finer control over your system

      • Jumuta
        link
        fedilink
        arrow-up
        6
        ·
        7 months ago

        I think the most important ones are:

        • CPU_SCALING_GOVERNOR_ON_BAT
        • CPU_ENERGY_PERF_POLICY_ON_BAT
        • CPU_BOOST_ON_BAT
        • CPU_HWP_DYN_BOOST_ON_BAT
        • SATA_LINKPWR_ON_BAT (this had an issue where it corrupted data, but that was a few years ago so it should be fine)
        • AHCI__RUNTIME_PM_ON_BAT
        • WIFI_PWR_ON_BAT
        • PCIE_ASPM_ON_BAT
        • RUNTIME_PM_ON_BAT

        (I haven’t used these myself because I don’t have a radeon card, but it should improve battery life for you):

        • RADEON_DPM_PERF_LEVEL_ON_BAT
        • RADEON_DPM_STATE_ON_BAT

        I had to set USB_AUTOSUSPEND=0 because otherwise my usb devices kept turning off, but you might not need this.