# ------------------------------------------------------------------------------ # TLP - Linux Advanced Power Management # Optimized Configuration for Maximum Battery Life # # This configuration prioritizes battery life over performance. # Adjust settings based on your specific laptop and usage patterns. # # Documentation: https://linrunner.de/tlp/ # ------------------------------------------------------------------------------ # Operation mode when no power supply can be detected: AC, BAT, DEF # Concerns laptops in docking stations which do not report the power supply status TLP_DEFAULT_MODE=BAT # Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE # Hint: use in combination with TLP_DEFAULT_MODE=BAT for BAT settings on AC TLP_PERSISTENT_DEFAULT=0 # Seconds laptop mode has to wait after the disk goes idle before doing a sync. # Non-zero value enables, zero disables laptop mode. DISK_IDLE_SECS_ON_AC=0 DISK_IDLE_SECS_ON_BAT=2 # Dirty page values (timeouts in 1/100s). MAX_LOST_WORK_SECS_ON_AC=15 MAX_LOST_WORK_SECS_ON_BAT=60 # Hint: CPU parameters below are disabled by default, remove the leading # # to enable them, otherwise kernel default values are used. # Select a CPU frequency scaling governor. # Intel Core i processor with intel_pstate driver: # powersave(*), performance # For dynamic scaling between min and max, use "powersave" (it still allows turbo boost!) # "performance" keeps CPU at higher frequencies constantly # Older hardware with acpi-cpufreq driver: # ondemand(*), powersave, performance, conservative, schedutil CPU_SCALING_GOVERNOR_ON_AC=powersave CPU_SCALING_GOVERNOR_ON_BAT=powersave # Set the min/max frequency available for the scaling governor. # Possible values depend on your CPU. For available frequencies see # the output of tlp-stat -p. # AC: Full range (400 MHz - 4.2 GHz) for maximum efficiency and performance # Battery: 400 MHz minimum for best power savings, 2.2 GHz max for responsiveness CPU_SCALING_MIN_FREQ_ON_AC=400000 CPU_SCALING_MAX_FREQ_ON_AC=4200000 CPU_SCALING_MIN_FREQ_ON_BAT=400000 CPU_SCALING_MAX_FREQ_ON_BAT=2200000 # Set energy performance hints (HWP) for Intel P-state governor: # performance, balance_performance, default, balance_power, power # Values are given in order of increasing power saving. # AC: balance_performance for dynamic scaling with good responsiveness # Battery: balance_power for better battery life while still allowing boost to 2.2 GHz CPU_HWP_ON_AC=balance_performance CPU_HWP_ON_BAT=balance_power # Set Intel P-state performance: 0..100 (%) # Limit the max/min P-state to control the power dissipation of the CPU. # Values are stated as a percentage of the available performance. # Set min to 0% for dynamic scaling (allows 800MHz idle) # AC: 100% max to allow full 4.2GHz boost # Battery: ~52% max to limit to 2.2GHz (52% of 4.2GHz = ~2.2GHz) CPU_MIN_PERF_ON_AC=0 CPU_MAX_PERF_ON_AC=100 CPU_MIN_PERF_ON_BAT=0 CPU_MAX_PERF_ON_BAT=52 # ACPI Platform Profile (if available): # low-power, balanced, performance # This setting can override CPU frequency settings if not set correctly # AC: performance for maximum responsiveness # Battery: balanced for good battery life while allowing boost to 2.2 GHz PLATFORM_PROFILE_ON_AC=performance PLATFORM_PROFILE_ON_BAT=balanced # Intel RAPL power limits (replaces the missing CPU power slider): # Set CPU package power limits in watts (W) # This provides the equivalent functionality of GUI power sliders # Increased from 15W to 25W for better performance and higher boost frequencies CPU_RAPL_POWER_LIMIT_LONG_ON_AC=25 CPU_RAPL_POWER_LIMIT_LONG_ON_BAT=8 CPU_RAPL_POWER_LIMIT_SHORT_ON_AC=35 CPU_RAPL_POWER_LIMIT_SHORT_ON_BAT=12 # Set the CPU "turbo boost" feature: 0=disable, 1=allow # Requires an Intel Core i processor. # AC: Enable turbo for full performance (up to 4.2 GHz) # Battery: Enable turbo but limited by CPU_MAX_PERF to 2.2 GHz CPU_BOOST_ON_AC=1 CPU_BOOST_ON_BAT=1 # Minimize number of used CPU cores/hyper-threads under light load conditions: # 0=disable, 1=enable SCHED_POWERSAVE_ON_AC=0 SCHED_POWERSAVE_ON_BAT=1 # Kernel NMI Watchdog: # 0=disable (default, saves power), 1=enable (for kernel debugging only) NMI_WATCHDOG=0 # Change CPU voltages aka "undervolting" - Kernel with PHC patch required # Frequency voltage pairs are written to: # /sys/devices/system/cpu/cpu0/cpufreq/phc_controls # CAUTION: only use this, if you thoroughly understand what you are doing! #PHC_CONTROLS="F:V F:V F:V F:V" # CPU performance versus energy savings policy (deprecated for intel_pstate) # Modern Intel CPUs use CPU_HWP settings above instead of CPU_ENERGY_PERF_POLICY # CPU_ENERGY_PERF_POLICY_ON_AC=balance_performance # CPU_ENERGY_PERF_POLICY_ON_BAT=power # Disk devices; separate multiple devices with spaces (default: sda). # Devices can be specified by disk ID also (lookup with: tlp diskid). DISK_DEVICES="sda sdb nvme0n1" # Disk advanced power management level: 1..254, 255 (max saving, min, off). # Levels 1..127 may spin down the disk; 255 allowable on most drives. # Separate values for multiple disks with spaces. Use the special value 'keep' # to keep the hardware default for the particular disk. DISK_APM_LEVEL_ON_AC="254 254" DISK_APM_LEVEL_ON_BAT="128 128" # Hard disk spin down timeout: # 0: spin down disabled # 1..240: timeouts from 5s to 20min (in units of 5s) # 241..251: timeouts from 30min to 5.5 hours (in units of 30min) # See 'man hdparm' for details. DISK_SPINDOWN_TIMEOUT_ON_AC="0 0" DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0" # Select IO scheduler for the disk devices: cfq, deadline, noop (Default: cfq). # Separate values for multiple disks with spaces. Use the special value 'keep' # to keep the kernel default scheduler for the particular disk. DISK_IOSCHED="mq-deadline mq-deadline" # AHCI link power management (ALPM) for disk devices: # min_power, med_power_with_dipm(*), medium_power, max_performance AHCI_ALPM_ON_AC=max_performance AHCI_ALPM_ON_BAT=min_power # PCI Express Active State Power Management (PCIe ASPM): # default, performance, powersave PCIE_ASPM_ON_AC=performance PCIE_ASPM_ON_BAT=powersave # Radeon graphics clock speed (profile method): low, mid, high, auto, default; # auto = mid on BAT, high on AC; default = use hardware defaults. RADEON_POWER_PROFILE_ON_AC=high RADEON_POWER_PROFILE_ON_BAT=low # Radeon dynamic power management method (DPM): battery, performance RADEON_DPM_STATE_ON_AC=performance RADEON_DPM_STATE_ON_BAT=battery # Radeon DPM performance level: auto, low, high; auto is recommended. RADEON_DPM_PERF_LEVEL_ON_AC=auto RADEON_DPM_PERF_LEVEL_ON_BAT=low # WiFi power saving mode: on=enable, off=disable; not supported by all adapters. WIFI_PWR_ON_AC=off WIFI_PWR_ON_BAT=on # Disable wake on LAN: Y/N WOL_DISABLE=Y # Enable audio power saving for Intel HDA, AC97 devices (timeout in secs). # A value of 0 disables, >=1 enables power saving (recommended: 1). SOUND_POWER_SAVE_ON_AC=0 SOUND_POWER_SAVE_ON_BAT=1 # Disable controller too (HDA only): Y/N SOUND_POWER_SAVE_CONTROLLER=Y # Power off optical drive in UltraBay/MediaBay: 0=disable, 1=enable. # Drive can be powered on again by releasing (and reinserting) the eject lever # or by pressing the disc eject button on newer models. BAY_POWEROFF_ON_AC=0 BAY_POWEROFF_ON_BAT=0 # Optical drive device to power off (default sr0). BAY_DEVICE="sr0" # Runtime Power Management for AHCI host and disks devices: # on=disable, auto=enable. # EXPERIMENTAL: auto will most likely cause system lockups/data loss AHCI_RUNTIME_PM_ON_AC=on AHCI_RUNTIME_PM_ON_BAT=on # Seconds of inactivity before disk is suspended. AHCI_RUNTIME_PM_TIMEOUT=15 # USB autosuspend feature USB_AUTOSUSPEND=1 # Exclude USB devices from autosuspend using device IDs (separate with spaces). # Use lsusb to get the IDs. # Note: input devices (mice, keyboards, etc.) are excluded automatically #USB_BLACKLIST="1234:5678 9012:3456" # Bluetooth devices are excluded from USB autosuspend: # 0=do not exclude, 1=exclude USB_BLACKLIST_BTUSB=0 # Phone devices are excluded from USB autosuspend: # 0=do not exclude, 1=exclude (enable charging) USB_BLACKLIST_PHONE=0 # Printers are excluded from USB autosuspend: # 0=do not exclude, 1=exclude USB_BLACKLIST_PRINTER=1 # WWAN devices are excluded from USB autosuspend: # 0=do not exclude, 1=exclude USB_BLACKLIST_WWAN=0 # Include built-in bluetooth devices in USB autosuspend: # 0=do not include, 1=include USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=1 # Restore radio device state (Bluetooth, WiFi, WWAN) on system startup: # 0=disable, 1=enable. RESTORE_DEVICE_STATE_ON_STARTUP=0 # Radio devices to disable on startup: bluetooth, wifi, wwan. # Separate multiple devices with spaces. #DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan" # Radio devices to enable on startup: bluetooth, wifi, wwan. # Separate multiple devices with spaces. #DEVICES_TO_ENABLE_ON_STARTUP="wifi" # Radio devices to disable on shutdown: bluetooth, wifi, wwan. # (workaround for devices that are blocking shutdown). #DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan" # Radio devices to enable on shutdown: bluetooth, wifi, wwan. # (to prevent other operating systems from missing radios). #DEVICES_TO_ENABLE_ON_SHUTDOWN="wwan" # Radio devices to enable on AC: bluetooth, wifi, wwan. #DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan" # Radio devices to disable on battery: bluetooth, wifi, wwan. DEVICES_TO_DISABLE_ON_BAT="bluetooth" # Radio devices to disable on battery when not in use (not connected): # bluetooth, wifi, wwan. #DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth wifi wwan" # Battery charge thresholds (ThinkPad only, tp-smapi or acpi-call kernel module # required). Charging starts when the remaining capacity falls below the # START_CHARGE_THRESH value and stops when exceeding the STOP_CHARGE_THRESH value. # Main / Internal battery (values in %) START_CHARGE_THRESH_BAT0=75 STOP_CHARGE_THRESH_BAT0=80 # Ultrabay / Slice / Replaceable battery (values in %) START_CHARGE_THRESH_BAT1=75 STOP_CHARGE_THRESH_BAT1=80 # Restore charge thresholds when AC is unplugged: 0=disable, 1=enable RESTORE_THRESHOLDS_ON_BAT=1 # ------------------------------------------------------------------------------ # tlp-stat will print warnings for missing kernel modules and unsupported # laptop models.