Don't install TLP and PowerTOP together that will for sure cause problems and will certainly not give any significant power saving.
Battery life (Solus Budgie)
- Edited
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.
- Edited
I might be wrong but TLP have some unique options for Thinkpads (such as fan speed management) as it was originally made for them.
- Edited
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.
- Edited
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
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.