I am using TLP for power management. But I suspect it doesn't really help extend the battery life on my Dell Inspiron 5346 with Ubuntu 14.04, so I ran sudo tlp-stat once with display brightness minimum and once with the display brightness on maximum. Both the times I get the same current drain as follows.

/sys/class/power_supply/BAT1/current_now                    =    882 [mA]

So my question is as follows. Does TLP really help to manage and extend battery life? And, secondly, if not, what are really good alternatives for my laptop?

The TLP log:

--- TLP 0.8 --------------------------------------------

+++ Configured Settings: /etc/default/tlp
DISK_DEVICES="sda sdb"

+++ System Info
System         = Dell Inc. A02 Inspiron 5548
BIOS           = A02
Release        = Ubuntu 14.04.3 LTS
Kernel         = 3.16.0-53-generic #72~14.04.1-Ubuntu SMP Fri Nov 6 18:17:23 UTC 2015 x86_64
/proc/cmdline  = BOOT_IMAGE=/boot/vmlinuz-3.16.0-53-generic.efi.signed root=UUID=ff176661-2ba0-4348-9143-535a788862b4 ro quiet splash vt.handoff=7
Init system    = upstart

+++ System Status
TLP power save = enabled
power source   = battery

+++ Processor
CPU Model      = Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz

/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_min_freq  =   500000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq  =  2700000 [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_min_freq  =   500000 [kHz]
/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq  =  2700000 [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_min_freq  =   500000 [kHz]
/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq  =  2700000 [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_min_freq  =   500000 [kHz]
/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq  =  2700000 [kHz]

/sys/devices/system/cpu/intel_pstate/min_perf_pct      = 18
/sys/devices/system/cpu/intel_pstate/max_perf_pct      = 100
/sys/devices/system/cpu/intel_pstate/no_turbo          = 0

x86_energy_perf_policy: program for your kernel not installed.

/proc/sys/kernel/nmi_watchdog                          = 0

+++ Undervolting
PHC kernel not available.

+++ Temperatures
CPU temp               =    54 [°C]
Fan speed              = (not available)

+++ 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/age_buffer_centisecs  = (not available)
/proc/sys/fs/xfs/xfssyncd_centisecs    = (not available)
/proc/sys/fs/xfs/xfsbufd_centisecs     = (not available)

+++ Storage Devices
          Model     = ST1000LM024 HN-M101MBB                  
          Firmware  = 2BA30003
          APM Level = 128
          Status    = active/idle
          Scheduler = deadline

        SMART info:
            4 Start_Stop_Count          =      109 
            5 Reallocated_Sector_Ct     =        0 
            9 Power_On_Hours            =       87 [h]
          193 Load_Cycle_Count          =     2731 
          194 Temperature_Celsius       =       34 (Min/Max 20/44)  [°C]
          241 Total_LBAs_Written        =    0.004 [TB]

+++ SATA Aggressive Link Power Management
/sys/class/scsi_host/host0/link_power_management_policy  = min_power
/sys/class/scsi_host/host1/link_power_management_policy  = min_power
/sys/class/scsi_host/host2/link_power_management_policy  = min_power

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

+++ Intel Graphics
/sys/module/i915/parameters/powersave        =  1 (enabled)
/sys/module/i915/parameters/enable_rc6       =  1 (enabled)
/sys/module/i915/parameters/enable_fbc       = -1 (use per-chip default)
/sys/module/i915/parameters/lvds_downclock   =  0 (disabled)
/sys/module/i915/parameters/semaphores       = -1 (use per-chip default)

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

hci0(btusb)         : not connected
wlan0(iwlwifi)      : connected, power management = on

+++ Audio
/sys/module/snd_hda_intel/parameters/power_save            = 1
/sys/module/snd_hda_intel/parameters/power_save_controller = Y

+++ Runtime Power Management
device classes   = all
device blacklist = (not configured)
driver blacklist = radeon nouveau

/sys/bus/pci/devices/0000:00:00.0/power/control = auto (0x060000, Host bridge, no driver)
/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: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.2/power/control = auto (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:1c.3/power/control = auto (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:1c.4/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, no driver)
/sys/bus/pci/devices/0000:02:00.0/power/control = auto (0x020000, Ethernet controller, r8169)
/sys/bus/pci/devices/0000:03:00.0/power/control = auto (0x028000, Network controller, iwlwifi)
/sys/bus/pci/devices/0000:04:00.0/power/control = auto (0x038000, Display controller, fglrx_pci)

+++ USB
autosuspend        = enabled
device whitelist   = (not configured)
device blacklist   = (not configured)
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 004 ID 1bcf:2b8a control = auto, autosuspend_delay_ms =  2000 -- Sunplus Innovation Technology Inc.  (uvcvideo)
Bus 002 Device 003 ID 0bda:0129 control = auto, autosuspend_delay_ms =  2000 -- Realtek Semiconductor Corp. RTS5129 Card Reader Controller (rtsx_usb)
Bus 002 Device 002 ID 8087:07dc control = auto, autosuspend_delay_ms =  2000 -- Intel Corp.  (btusb)
Bus 002 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms =     0 -- Linux Foundation 2.0 root hub (hub)

+++ Battery Status
/sys/class/power_supply/BAT1/manufacturer                   = SDI
/sys/class/power_supply/BAT1/model_name                     = DELL VVMKC52C
/sys/class/power_supply/BAT1/cycle_count                    = (not supported)
/sys/class/power_supply/BAT1/charge_full_design             =   3900 [mAh]
/sys/class/power_supply/BAT1/charge_full                    =   3900 [mAh]
/sys/class/power_supply/BAT1/charge_now                     =    689 [mAh]
/sys/class/power_supply/BAT1/current_now                    =    882 [mA]
/sys/class/power_supply/BAT1/status                         = Discharging

2 Answers 2


Sure it does, but it depends on your hardware ...

What tlp-stat shows in current_now is the exact value the ACPI-BIOS gets from the battery pack electronics and signals it to the Linux kernel. So no interpretation or conversion in tlp-stat here.

Even with modern LED backlight displays there is a typical difference around 2-4 W between min and max brightness.

Conclusion: something goes wrong between battery pack – ACPI-BIOS – kernel; causing a wrong reading of current_now.

Another hint: your laptop has two graphics chips:

/sys/bus/pci/devices/0000:00:02.0/power/control = auto (0x030000, VGA compatible controller, i915)
/sys/bus/pci/devices/0000:04:00.0/power/control = auto (0x038000, Display controller, fglrx_pci)

An integrated one (Intel, i915 driver) and a discrete one (AMD, fglrx driver). The impact of two graphics chips is huge – possibly far more than TLP can save. You should disable one of them – preferable AMD – to optimize power consumption on battery.

TLP intentionally doesn't have a feature to switch graphics, so please look for Ubuntu hybrid graphics tutorials.

  • How can I disable Intel Integrated Graphics? If I disable AMD ubuntu run in Low Graphics Mode. This may be a bug for my Hardware.. Nov 25, 2015 at 20:05
  • 1
    Disclaimer: i avoid hybrid/discrete graphics for may years now, so i have no own experience with the subject ------------------ Ubuntu Wiki says: 1. Make sure that no other fglrx driver is installed -- 2. Install fglrx (or fglrx-updates) -- 3. Reboot the system (restarting X won't be enough) -- NOTE: you can easily switch between GPUs using AMD's control panel.
    – linrunner
    Nov 26, 2015 at 18:11

TLP is a framework that controls lots of power management options for laptops and works for all laptops (except that Thinkpads require specific configuration). Without TLP, you may still be using some of your laptop's power management options: TLP is just a package that offers fairly comprehensive control over a wide range of laptop power management features all in one place and its default configuration is good for battery life.

Your tlp-stat output indicates that TLP is active, with this section

+++ System Status
TLP power save = enabled
power source   = battery

And you can also see all the devices whose power consumption it is controlling.

As for why the battery current did not update between two runs, I don't know the answer. It is possible that the battery hardware in your laptop doesn't report this statistic correctly or averages it over a specific time period. This in itself is not an indication that TLP is not working; a proper test should involve giving the laptop a known workload and timing how long it is until the battery depletes. Of course this takes time.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.