- Complete installation and uninstallation scripts - Optimized TLP configuration for maximum battery life - PowerTOP analysis and auto-tune functionality - Real-time battery monitoring with detailed stats - ThinkPad-specific optimizations and battery thresholds - Comprehensive documentation and usage guides - Tested on ThinkPad T14 Gen 1 with 13% power reduction
280 lines
6.0 KiB
Markdown
280 lines
6.0 KiB
Markdown
# TLP Configuration Guide
|
|
|
|
## Overview
|
|
|
|
TLP (Linux Advanced Power Management) is a feature-rich command line utility for optimizing battery life on Linux laptops. This guide explains the key configuration options and their impact on battery performance.
|
|
|
|
## Configuration File Location
|
|
|
|
The main configuration file is located at:
|
|
- `/etc/tlp.conf` (system-wide configuration)
|
|
- Backup copies are created as `/etc/tlp.conf.backup.YYYYMMDD_HHMMSS`
|
|
|
|
## Key Configuration Sections
|
|
|
|
### 1. Operation Modes
|
|
|
|
```bash
|
|
# Default operation mode
|
|
TLP_DEFAULT_MODE=BAT
|
|
|
|
# Use persistent mode for consistent behavior
|
|
TLP_PERSISTENT_DEFAULT=0
|
|
```
|
|
|
|
**Explanation:**
|
|
- `BAT`: Optimizes for battery life
|
|
- `AC`: Optimizes for AC power (performance)
|
|
- `DEF`: Uses kernel defaults
|
|
|
|
### 2. CPU Power Management
|
|
|
|
```bash
|
|
# CPU frequency governor
|
|
CPU_SCALING_GOVERNOR_ON_AC=powersave
|
|
CPU_SCALING_GOVERNOR_ON_BAT=powersave
|
|
|
|
# CPU frequency limits
|
|
CPU_SCALING_MIN_FREQ_ON_BAT=800000
|
|
CPU_SCALING_MAX_FREQ_ON_BAT=1600000
|
|
|
|
# Intel P-state settings
|
|
CPU_HWP_ON_BAT=power
|
|
CPU_MAX_PERF_ON_BAT=50
|
|
CPU_BOOST_ON_BAT=0
|
|
```
|
|
|
|
**Impact:**
|
|
- Reduces CPU power consumption by 20-40%
|
|
- May slightly reduce performance under heavy loads
|
|
- Automatic scaling based on demand
|
|
|
|
### 3. Disk Power Management
|
|
|
|
```bash
|
|
# Advanced Power Management levels
|
|
DISK_APM_LEVEL_ON_BAT="128 128"
|
|
|
|
# IO scheduler optimization
|
|
DISK_IOSCHED="mq-deadline mq-deadline"
|
|
|
|
# AHCI Link Power Management
|
|
AHCI_ALPM_ON_BAT=min_power
|
|
```
|
|
|
|
**Impact:**
|
|
- Reduces disk power consumption
|
|
- May increase disk access latency slightly
|
|
- Significant savings for HDDs, moderate for SSDs
|
|
|
|
### 4. Graphics Power Management
|
|
|
|
```bash
|
|
# Radeon settings (for AMD GPUs)
|
|
RADEON_POWER_PROFILE_ON_BAT=low
|
|
RADEON_DPM_STATE_ON_BAT=battery
|
|
|
|
# Intel graphics automatically managed
|
|
```
|
|
|
|
**Impact:**
|
|
- Reduces GPU power consumption by 15-30%
|
|
- Lower graphics performance in games/3D applications
|
|
- Minimal impact on desktop usage
|
|
|
|
### 5. Wireless Device Management
|
|
|
|
```bash
|
|
# WiFi power saving
|
|
WIFI_PWR_ON_BAT=on
|
|
|
|
# Bluetooth management
|
|
DEVICES_TO_DISABLE_ON_BAT="bluetooth"
|
|
|
|
# Wake on LAN
|
|
WOL_DISABLE=Y
|
|
```
|
|
|
|
**Impact:**
|
|
- Reduces wireless power consumption
|
|
- May affect network performance slightly
|
|
- Automatic reconnection when needed
|
|
|
|
### 6. USB Power Management
|
|
|
|
```bash
|
|
# Enable USB autosuspend
|
|
USB_AUTOSUSPEND=1
|
|
|
|
# Exclude critical devices
|
|
USB_BLACKLIST_PRINTER=1
|
|
USB_BLACKLIST_PHONE=0
|
|
```
|
|
|
|
**Impact:**
|
|
- Suspends unused USB devices
|
|
- Saves 0.5-2W per device
|
|
- Blacklist prevents issues with specific devices
|
|
|
|
### 7. Battery Charge Thresholds (ThinkPad)
|
|
|
|
```bash
|
|
# Start charging at 75%
|
|
START_CHARGE_THRESH_BAT0=75
|
|
|
|
# Stop charging at 80%
|
|
STOP_CHARGE_THRESH_BAT0=80
|
|
```
|
|
|
|
**Impact:**
|
|
- Extends battery lifespan significantly
|
|
- Reduces available capacity slightly
|
|
- Optimal for plugged-in usage
|
|
|
|
## Advanced Optimizations
|
|
|
|
### CPU Undervolting
|
|
|
|
For advanced users, CPU undervolting can provide additional power savings:
|
|
|
|
```bash
|
|
# EXPERIMENTAL - Use with caution
|
|
# PHC_CONTROLS="F:V F:V F:V F:V"
|
|
```
|
|
|
|
**Warning:** Only use if you understand the risks. Incorrect values can cause system instability.
|
|
|
|
### Custom Scripts
|
|
|
|
You can add custom power management commands to:
|
|
- `/etc/tlp.d/` - Additional configuration files
|
|
- Systemd services for startup optimizations
|
|
|
|
## Monitoring Configuration Impact
|
|
|
|
### Check Current Settings
|
|
|
|
```bash
|
|
# Show all TLP settings
|
|
sudo tlp-stat
|
|
|
|
# Show specific components
|
|
sudo tlp-stat -p # Processor
|
|
sudo tlp-stat -d # Disks
|
|
sudo tlp-stat -g # Graphics
|
|
sudo tlp-stat -u # USB
|
|
```
|
|
|
|
### Measure Power Consumption
|
|
|
|
```bash
|
|
# Before configuration changes
|
|
sudo powertop --time=60
|
|
|
|
# Apply changes
|
|
sudo tlp start
|
|
|
|
# After configuration changes
|
|
sudo powertop --time=60
|
|
```
|
|
|
|
## Distribution-Specific Notes
|
|
|
|
### Ubuntu/Debian
|
|
- Install with: `sudo apt install tlp tlp-rdw`
|
|
- May conflict with `power-profiles-daemon`
|
|
|
|
### Fedora/RHEL
|
|
- Install with: `sudo dnf install tlp tlp-rdw`
|
|
- Disable conflicting services
|
|
|
|
### Arch Linux
|
|
- Install with: `sudo pacman -S tlp`
|
|
- Enable service: `sudo systemctl enable tlp.service`
|
|
|
|
## Laptop-Specific Optimizations
|
|
|
|
### ThinkPad
|
|
- Install additional tools: `tp-smapi-dkms acpi-call-dkms`
|
|
- Battery threshold support available
|
|
- Enhanced fan control
|
|
|
|
### Dell
|
|
- Use `i8kutils` for fan control
|
|
- BIOS settings may override some options
|
|
|
|
### HP
|
|
- Limited hardware support
|
|
- Focus on software optimizations
|
|
|
|
## Troubleshooting
|
|
|
|
### Common Issues
|
|
|
|
1. **TLP not applying settings**
|
|
```bash
|
|
sudo systemctl enable tlp.service
|
|
sudo systemctl start tlp.service
|
|
```
|
|
|
|
2. **Settings reset after reboot**
|
|
- Check if other power managers are active
|
|
- Ensure TLP service is enabled
|
|
|
|
3. **USB devices not working**
|
|
- Add device IDs to blacklist
|
|
- Check `lsusb` output for device identification
|
|
|
|
### Verification Commands
|
|
|
|
```bash
|
|
# Check TLP service status
|
|
systemctl status tlp.service
|
|
|
|
# Verify configuration syntax
|
|
sudo tlp-stat -c
|
|
|
|
# Test specific settings
|
|
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
|
|
```
|
|
|
|
## Performance vs Battery Life
|
|
|
|
### Maximum Battery Life Profile
|
|
- All power saving features enabled
|
|
- Significant performance reduction acceptable
|
|
- Target: 30-50% longer battery life
|
|
|
|
### Balanced Profile
|
|
- Moderate power saving
|
|
- Minimal performance impact
|
|
- Target: 15-25% longer battery life
|
|
|
|
### Performance Profile
|
|
- Limited power saving
|
|
- Maximum performance preserved
|
|
- Target: 5-10% longer battery life
|
|
|
|
## Regular Maintenance
|
|
|
|
### Monthly Tasks
|
|
- Review power consumption reports
|
|
- Check battery health
|
|
- Update TLP configuration if needed
|
|
|
|
### After System Updates
|
|
- Verify TLP service is still running
|
|
- Check for configuration file changes
|
|
- Test critical functionality
|
|
|
|
## Best Practices
|
|
|
|
1. **Start Conservative**: Begin with moderate settings and adjust gradually
|
|
2. **Monitor Impact**: Use PowerTOP to measure actual improvements
|
|
3. **Document Changes**: Keep track of modifications for troubleshooting
|
|
4. **Test Thoroughly**: Verify all hardware functions correctly
|
|
5. **Regular Updates**: Keep TLP and related tools current
|
|
|
|
---
|
|
|
|
This configuration guide should be used alongside the main installation and monitoring tools provided in this repository. |