Hello,

I've been using Solus Budgie as my secondary OS for about a month now. Since I like both Solus and Budgie so much (and find myself spending a growing amount of time with them), I've installed it on a second laptop a few days ago (if it matters, it's a thinkpad x250 with the smallest external battery).

What simple programs can I install to maximize battery life? Should I be running tlp or powertop? I've read somewhere that running both at the same time isn't a good idea. Do I just download one of them from the Software Center and that's it or do I have to set it up somehow?

I've had Solus Budgie installed in other laptop and battery life wasn't that great. I've also had Elementary OS installed in that laptop (before installing Solus) and with Solus battery life was only about half of what it was with Elementary OS. But I don't know if this remains the case with this laptop since it has only ran Solus; I might be getting the most out of it already.

I'm unsure if this is the right topic for this post; I'm sorry if it isn't. I've seen this thread (https://discuss.getsol.us/d/73-what-are-your-favorite-battery-saving-tweaks-on-solus/9) but i was looking for something easier than what is discussed there.

Thank you for taking the time to read this.

Don't install TLP and PowerTOP together that will for sure cause problems and will certainly not give any significant power saving.

Have a good ad-blocker like Ublock Origin installed and configured or use an ad-block hosts file at least:

https://github.com/StevenBlack/hosts

Browsers are the biggest power users, and loading ads and trackers is the biggest battery drain by far IMO.

I dunno if Linux kernel 5.0 will bring some power saving improvements or that Gnome 3.30 will improve it, but I hope so.

Thank you, kyrios and XerXes, for your help.

@kyrios Between tlp and powertop, which one do you recommend?

@XerXes I only use Adblock Plus for the browser. Is it significantly worse than what you recommended?

    I might be wrong but TLP have some unique options for Thinkpads (such as fan speed management) as it was originally made for them.

    computerilliterate

    Adblock plus is much heavier on CPU cycles and RAM. Ublock Origin is light as a feather and much more powerful, plus it's open source and does not have "paid ads" policy. With Advanced mode dynamic filtering it's a lot more flexible too.

    computerilliterate Tbqf, I don't know. I see many people using TLP and some getting problems because they don't understand/check what the tool exactly do. You may get problem with PowerTOP as well I guess, but for me it just works fine in "autotune" mode (I added a systemd service for this last time I updated the package so all you have to do is to run sudo systemctl enable powertop.service to enable it at boot time. Do not forget to execute sudo powertop --calibrate before enablng the service.

      • [deleted]

      kyrios On desktops I've seen --auto-tune likes to disable also mouse movement

      Thank you all for your help.

      @XerXes I'll follow your advice and switch from Adblock Plus to Ublock Origin, thank you.

      Given what @Skyeun said about the connection between thinkpads and tlp, I might try it before powertop, but thank you @kyrios for suggesting how to configure it.

      Searching online how to configure tlp I found that I should run "sudo systemctl enable tlp.service" and "sudo systemctl start tlp.service". Would this be enough?

      On a general note, it is quite pleasing to see that the new Solus forum is as helpful as the previous one.

      TLP is a piece of software which automatically or optionally enables pretty much all of the powertop options, and has many more features to boot. I would recommend TLP.

      To enable TLP, just execute the command it tells you about when you run sudo tlp stat. After that, you might want to install any extra packages that aid TLP in its various functionalities, I find that hdparm, smartmontools and ethtool are helpful. If you would like the ThinkPad-specific functionality, that requires either or both of 2 out-of-tree kernel modules not included in Solus. I might write up a guide on how to build them if you're interested.

      For configuration it is best to understand what you are doing, so either leave it at default or follow the documentation.

      When configured, I find that TLP quite significantly improves battery life on laptops. One issue I have had was when the HDD spindown setting was causing my HDD to constantly park on one of my machines, but I got it solved by tweaking the setting in the config.

      Hi abdulocracy,

      Thank you for your thoughtful and thorough reply.

      I kind of jumped the gun and ran "sudo systemctl enable tlp.service" and "sudo systemctl start tlp.service" because they appeared to be frequently recommended when I searched online how to configure tlp. Should I undue this?

      I'm pasting the output of running "sudo tlp stat bellow" (I'm sorry for how long it is). Based on it, should I run "sudo systemctl enable tlp-sleep.service" and "sudo systemctl mask systemd-rfkill.service"?

      I'll follow your advice and install the extra packages you mentioned.

      Given what both you and @kyrios said, I think that for my use-case it's best if I leave tlp in default configuration or I'll probably break something...

      I have a SSD so I suppose that your problem with the HDD does not apply to my case.

      Thank you very much for your willingness to write a guide for thinkpad-specific functionalities.

      Browsing through the documentation to which you linked and through the tlp entry at Arch wiki, the only thinkpad-specific functionality I find is the battery thresholds configuration. Does configuring them make much of a difference? If not, I think I'll pass (at least for for now).

      But maybe the guide would be helpful to other Solus users in the same situation?

      The output of "sudo tlp stat":

      --- TLP 1.1 --------------------------------------------

      +++ Configured Settings: /etc/default/tlp
      TLP_ENABLE=1
      TLP_DEFAULT_MODE=AC
      TLP_PERSISTENT_DEFAULT=0
      DISK_IDLE_SECS_ON_AC=0
      DISK_IDLE_SECS_ON_BAT=2
      MAX_LOST_WORK_SECS_ON_AC=15
      MAX_LOST_WORK_SECS_ON_BAT=60
      CPU_HWP_ON_AC=balance_performance
      CPU_HWP_ON_BAT=balance_power
      SCHED_POWERSAVE_ON_AC=0
      SCHED_POWERSAVE_ON_BAT=1
      NMI_WATCHDOG=0
      ENERGY_PERF_POLICY_ON_AC=performance
      ENERGY_PERF_POLICY_ON_BAT=power
      DISK_DEVICES="sda sdb"
      DISK_APM_LEVEL_ON_AC="254 254"
      DISK_APM_LEVEL_ON_BAT="128 128"
      SATA_LINKPWR_ON_AC="med_power_with_dipm max_performance"
      SATA_LINKPWR_ON_BAT="med_power_with_dipm min_power"
      AHCI_RUNTIME_PM_TIMEOUT=15
      PCIE_ASPM_ON_AC=performance
      PCIE_ASPM_ON_BAT=powersave
      RADEON_POWER_PROFILE_ON_AC=high
      RADEON_POWER_PROFILE_ON_BAT=low
      RADEON_DPM_STATE_ON_AC=performance
      RADEON_DPM_STATE_ON_BAT=battery
      RADEON_DPM_PERF_LEVEL_ON_AC=auto
      RADEON_DPM_PERF_LEVEL_ON_BAT=auto
      WIFI_PWR_ON_AC=off
      WIFI_PWR_ON_BAT=off
      WOL_DISABLE=Y
      SOUND_POWER_SAVE_ON_AC=0
      SOUND_POWER_SAVE_ON_BAT=0
      SOUND_POWER_SAVE_CONTROLLER=Y
      BAY_POWEROFF_ON_AC=0
      BAY_POWEROFF_ON_BAT=0
      BAY_DEVICE="sr0"
      RUNTIME_PM_ON_AC=on
      RUNTIME_PM_ON_BAT=auto
      USB_AUTOSUSPEND=0
      USB_BLACKLIST_BTUSB=0
      USB_BLACKLIST_PHONE=0
      USB_BLACKLIST_PRINTER=1
      USB_BLACKLIST_WWAN=1
      RESTORE_DEVICE_STATE_ON_STARTUP=0

      +++ System Info
      System = LENOVO ThinkPad X250 20CLS10QPC
      BIOS = N10ET36W (1.15 )
      Release = "Solus"
      Kernel = 4.20.10-111.current #1 SMP PREEMPT Wed Feb 20 00:56:02 UTC 2019 x86_64
      /proc/cmdline = BOOT_IMAGE=/com.solus-project.current.4.20.10-111 root=UUID=c254ed5e-9998-40df-96fb-3c665ac7afc7 quiet loglevel=3 splash systemd.show_status=false rw radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1 resume=UUID=57ba07ac-bed2-41ec-beba-ff416f2762c5
      Init system = systemd v239
      Boot mode = BIOS (CSM, Legacy)

      +++ TLP Status
      State = enabled
      Last run = 09:09:52 AM, 33 sec(s) ago
      Mode = battery
      Power source = battery

      Notice: tlp-sleep.service is not enabled -- invoke "systemctl enable tlp-sleep.service" to correct this!
      Notice: systemd-rfkill.service is not masked -- invoke "systemctl mask systemd-rfkill.service" to correct this!

      +++ Processor
      CPU model = Intel(R) Core(TM) i5-5300U CPU @ 2.30GHz

      /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver = intel_pstate
      /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = powersave
      /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors = performance powersave
      /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq = 500000 [kHz]
      /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq = 2900000 [kHz]

      /sys/devices/system/cpu/cpu1/cpufreq/scaling_driver = intel_pstate
      /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor = powersave
      /sys/devices/system/cpu/cpu1/cpufreq/scaling_available_governors = performance powersave
      /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq = 500000 [kHz]
      /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq = 2900000 [kHz]

      /sys/devices/system/cpu/cpu2/cpufreq/scaling_driver = intel_pstate
      /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor = powersave
      /sys/devices/system/cpu/cpu2/cpufreq/scaling_available_governors = performance powersave
      /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq = 500000 [kHz]
      /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq = 2900000 [kHz]

      /sys/devices/system/cpu/cpu3/cpufreq/scaling_driver = intel_pstate
      /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor = powersave
      /sys/devices/system/cpu/cpu3/cpufreq/scaling_available_governors = performance powersave
      /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq = 500000 [kHz]
      /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq = 2900000 [kHz]

      /sys/devices/system/cpu/intel_pstate/min_perf_pct = 17 [%]
      /sys/devices/system/cpu/intel_pstate/max_perf_pct = 100 [%]
      /sys/devices/system/cpu/intel_pstate/no_turbo = 0
      /sys/devices/system/cpu/intel_pstate/turbo_pct = 29 [%]
      /sys/devices/system/cpu/intel_pstate/num_pstates = 25

      x86_energy_perf_policy.cpu0 = power
      x86_energy_perf_policy.cpu1 = power
      x86_energy_perf_policy.cpu2 = power
      x86_energy_perf_policy.cpu3 = power

      /sys/module/workqueue/parameters/power_efficient = Y
      /proc/sys/kernel/nmi_watchdog = 0

      +++ Undervolting
      PHC kernel not available.

      +++ Temperatures
      CPU temp = 29 [°C]
      /proc/acpi/ibm/fan = 0 [/min]

      +++ File System
      /proc/sys/vm/laptop_mode = 2
      /proc/sys/vm/dirty_writeback_centisecs = 6000
      /proc/sys/vm/dirty_expire_centisecs = 6000
      /proc/sys/vm/dirty_ratio = 20
      /proc/sys/vm/dirty_background_ratio = 10
      /proc/sys/fs/xfs/xfssyncd_centisecs = 6000

      +++ Storage Devices
      /dev/sda:
      Model =
      Firmware =
      APM Level = none/disabled
      Status = (not available)
      Scheduler = mq-deadline

      Runtime PM: control = on, autosuspend_delay = -1

      +++ AHCI Link Power Management (ALPM)
      /sys/class/scsi_host/host0/link_power_management_policy = max_performance
      /sys/class/scsi_host/host1/link_power_management_policy = med_power_with_dipm
      /sys/class/scsi_host/host2/link_power_management_policy = med_power_with_dipm

      +++ AHCI Host Controller Runtime Power Management
      /sys/bus/pci/devices/0000:00:1f.2/ata1/power/control = on
      /sys/bus/pci/devices/0000:00:1f.2/ata2/power/control = on
      /sys/bus/pci/devices/0000:00:1f.2/ata3/power/control = on

      +++ Docks and Device Bays
      /sys/devices/platform/dock.0: battery_bay = battery present

      +++ PCIe Active State Power Management
      /sys/module/pcie_aspm/parameters/policy = default (using bios preferences)

      +++ Intel Graphics
      /sys/module/i915/parameters/enable_dc = -1 (use per-chip default)
      /sys/module/i915/parameters/enable_fbc = 1 (enabled)
      /sys/module/i915/parameters/enable_psr = -1 (use per-chip default)
      /sys/module/i915/parameters/modeset = -1 (use per-chip default)

      +++ Wireless
      bluetooth = off (software)
      wifi = on
      wwan = none (no device)

      wlp3s0(iwlwifi) : wifi, connected, power management = off

      +++ Audio
      /sys/module/snd_hda_intel/parameters/power_save = 0
      /sys/module/snd_hda_intel/parameters/power_save_controller = N

      +++ Runtime Power Management
      Device blacklist = (not configured)
      Driver blacklist = amdgpu nouveau nvidia radeon (default)

      /sys/bus/pci/devices/0000:00:00.0/power/control = auto (0x060000, Host bridge, bdw_uncore)
      /sys/bus/pci/devices/0000:00:02.0/power/control = auto (0x030000, VGA compatible controller, i915)
      /sys/bus/pci/devices/0000:00:03.0/power/control = auto (0x040300, Audio device, snd_hda_intel)
      /sys/bus/pci/devices/0000:00:14.0/power/control = auto (0x0c0330, USB controller, xhci_hcd)
      /sys/bus/pci/devices/0000:00:16.0/power/control = auto (0x078000, Communication controller, mei_me)
      /sys/bus/pci/devices/0000:00:19.0/power/control = auto (0x020000, Ethernet controller, e1000e)
      /sys/bus/pci/devices/0000:00:1b.0/power/control = auto (0x040300, Audio device, snd_hda_intel)
      /sys/bus/pci/devices/0000:00:1c.0/power/control = auto (0x060400, PCI bridge, pcieport)
      /sys/bus/pci/devices/0000:00:1c.1/power/control = auto (0x060400, PCI bridge, pcieport)
      /sys/bus/pci/devices/0000:00:1d.0/power/control = auto (0x0c0320, USB controller, ehci-pci)
      /sys/bus/pci/devices/0000:00:1f.0/power/control = auto (0x060100, ISA bridge, lpc_ich)
      /sys/bus/pci/devices/0000:00:1f.2/power/control = auto (0x010601, SATA controller, ahci)
      /sys/bus/pci/devices/0000:00:1f.3/power/control = auto (0x0c0500, SMBus, i801_smbus)
      /sys/bus/pci/devices/0000:00:1f.6/power/control = auto (0x118000, Signal processing controller, no driver)
      /sys/bus/pci/devices/0000:02:00.0/power/control = auto (0xff0000, Unassigned class [ff00], rtsx_pci)
      /sys/bus/pci/devices/0000:03:00.0/power/control = auto (0x028000, Network controller, iwlwifi)

      +++ USB
      Autosuspend = disabled
      Device whitelist = (not configured)
      Device blacklist = (not configured)
      Bluetooth blacklist = disabled
      Phone blacklist = disabled
      WWAN blacklist = enabled

      Bus 001 Device 002 ID 8087:8001 control = auto, autosuspend_delay_ms = 0 -- Intel Corp. (hub)
      Bus 001 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 2.0 root hub (hub)
      Bus 003 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 3.0 root hub (hub)
      Bus 002 Device 003 ID 04ca:703c control = auto, autosuspend_delay_ms = 2000 -- Lite-On Technology Corp. (uvcvideo)
      Bus 002 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 2.0 root hub (hub)

      +++ ThinkPad Battery Features
      tp-smapi = inactive (unsupported hardware)
      tpacpi-bat = inactive (kernel module 'acpi_call' not installed)

      +++ Battery Status
      /sys/class/power_supply/BAT0/manufacturer = LGC
      /sys/class/power_supply/BAT0/model_name = 45N1113
      /sys/class/power_supply/BAT0/cycle_count = (not supported)
      /sys/class/power_supply/BAT0/energy_full_design = 23480 [mWh]
      /sys/class/power_supply/BAT0/energy_full = 17470 [mWh]
      /sys/class/power_supply/BAT0/energy_now = 15500 [mWh]
      /sys/class/power_supply/BAT0/power_now = 9939 [mW]
      /sys/class/power_supply/BAT0/status = Discharging

      Charge = 88.7 [%]
      Capacity = 74.4 [%]

      +++ Battery Status
      /sys/class/power_supply/BAT1/manufacturer = SANYO
      /sys/class/power_supply/BAT1/model_name = 45N1775
      /sys/class/power_supply/BAT1/cycle_count = (not supported)
      /sys/class/power_supply/BAT1/energy_full_design = 23200 [mWh]
      /sys/class/power_supply/BAT1/energy_full = 17620 [mWh]
      /sys/class/power_supply/BAT1/energy_now = 950 [mWh]
      /sys/class/power_supply/BAT1/power_now = 0 [mW]
      /sys/class/power_supply/BAT1/status = Unknown

      Charge = 5.4 [%]
      Capacity = 75.9 [%]

      +++ Charge total = 46.9 [%]

      +++ Suggestions

      • Install acpi-call kernel module for ThinkPad battery features
      • Install ethtool to disable Wake On LAN (WOL)
      • Install smartmontools for disk drive health info
      13 days later

      Hi,

      After running TLP for 2 weeks I don't notice any improvement on battery life.

      I'm still getting only around 2 hours doing light stuff (one or two documents open in Libreoffice Writer and two or three tabs in Firefox; or watching videos using VLC).

      Since this thinkpad x250 has the smallest external battery, and both the internal and the external batteries only have around 2/3 of their original capacity, I'm thinking this might be the most I can get.

      Nonetheless, I'm going to try running Powertop instead of TLP . I want to be sure that TLP is correctly uninstalled before installing Powertop. Would a kind soul tell me how to do this?

      Is it enough to run "sudo eopkg remove tlp" (or do the same through the Software Center) and then install Powertop?

      Should I also uninstall hdparm, smartmontools, and ethtool?

      And will simply removing tlp undo all tlp configurations? It would be logical for this to be the case, but I'd rather be sure.

      This is what I did after installing TLP (at least, it's what I remember doing...):

      sudo systemctl enable tlp.service

      sudo systemctl start tlp.service

      sudo systemctl enable tlp-sleep.service

      sudo systemctl start tlp-sleep.service

      sudo systemctl mask systemd-rfkill.service

      and I installed the abovementioned packages that @abdulocracy recommended.

      On a side note, the laptop's fan has been spinning like crazy (4000 to 5000 rpm) with just the use I described above. This started around the same time that I installed TLP. I cannot fathom how these issues could be related, but can they be or is it just a weird coincidence?

      Thank you for your patience with my computer ineptitude.