This commit is contained in:
2025-09-16 14:27:34 +03:00
commit afeb139f5a
21 changed files with 4714 additions and 0 deletions

272
examples/gaming-laptop.md Normal file
View File

@@ -0,0 +1,272 @@
# Gaming Laptop Configuration Example
This example demonstrates WiseTLP configuration for a gaming laptop optimized for performance while maintaining reasonable battery life during non-gaming use.
## System Specifications
- **Laptop**: Gaming laptop with dedicated GPU
- **CPU**: Intel Core i7-12700H (14 cores)
- **RAM**: 32GB DDR4
- **Storage**: 1TB NVMe SSD
- **GPU**: NVIDIA RTX 3070 Mobile
- **Battery**: 90Wh Li-ion
- **Display**: 15.6" 144Hz
## User Preferences
```
Power Profile: Performance
Use Case: Gaming
Battery Priority: Balanced
Performance Mode: Maximum
Special Requirements:
- Gaming performance priority
- Prevent thermal throttling
- Fast system wake/sleep
```
## Generated TLP Configuration
### General Settings
```bash
TLP_ENABLE=1
TLP_WARN_LEVEL=3
TLP_DEBUG=0
```
### CPU Management
```bash
# Performance-oriented CPU scaling
CPU_SCALING_GOVERNOR_ON_AC=performance
CPU_SCALING_GOVERNOR_ON_BAT=ondemand
# Aggressive frequency scaling on AC
CPU_SCALING_MIN_FREQ_ON_AC=800000
CPU_SCALING_MAX_FREQ_ON_AC=4700000
# Conservative on battery to preserve power
CPU_SCALING_MIN_FREQ_ON_BAT=800000
CPU_SCALING_MAX_FREQ_ON_BAT=3200000
# Platform profiles for gaming performance
PLATFORM_PROFILE_ON_AC=performance
PLATFORM_PROFILE_ON_BAT=balanced
# CPU energy performance preference
CPU_ENERGY_PERF_POLICY_ON_AC=performance
CPU_ENERGY_PERF_POLICY_ON_BAT=balance_performance
# Turbo boost settings
CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=1
# HWP (Hardware P-states) settings
CPU_HWP_DYN_BOOST_ON_AC=1
CPU_HWP_DYN_BOOST_ON_BAT=0
```
**Rationale**: Gaming requires maximum CPU performance on AC power. On battery, we use ondemand governor to balance performance with battery life while still allowing turbo boost for responsiveness.
### GPU Power Management
```bash
# NVIDIA GPU settings
RUNTIME_PM_ON_AC=auto
RUNTIME_PM_ON_BAT=auto
# Radeon DPM (if applicable)
RADEON_DPM_STATE_ON_AC=performance
RADEON_DPM_STATE_ON_BAT=balanced
# Intel GPU settings
INTEL_GPU_MIN_FREQ_ON_AC=300
INTEL_GPU_MAX_FREQ_ON_AC=1300
INTEL_GPU_MIN_FREQ_ON_BAT=300
INTEL_GPU_MAX_FREQ_ON_BAT=800
```
**Rationale**: Dedicated GPU performance is prioritized on AC power for gaming. Battery mode reduces GPU frequency to conserve power.
### Disk Management
```bash
# Aggressive disk performance on AC
DISK_APM_LEVEL_ON_AC=254
DISK_APM_LEVEL_ON_BAT=128
# No spindown timeout for SSD
DISK_SPINDOWN_TIMEOUT_ON_AC=0
DISK_SPINDOWN_TIMEOUT_ON_BAT=0
# SATA link power management
SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=med_power_with_dipm
# NVMe power management
AHCI_RUNTIME_PM_ON_AC=on
AHCI_RUNTIME_PM_ON_BAT=auto
```
**Rationale**: Fast game loading requires maximum disk performance on AC. SSD doesn't need spindown timeout. Battery mode uses moderate power saving.
### Network Management
```bash
# WiFi power management
WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=on
# Ethernet wake-on-LAN
WOL_DISABLE=Y
# Network device power management
RUNTIME_PM_DRIVER_DENYLIST="mei_me nouveau nvidia"
```
**Rationale**: Gaming requires reliable, low-latency network connectivity. WiFi power saving is disabled on AC but enabled on battery to conserve power.
### USB and Peripheral Management
```bash
# USB autosuspend for power saving
USB_AUTOSUSPEND=1
USB_EXCLUDE_AUDIO=1
USB_EXCLUDE_BTUSB=1
USB_EXCLUDE_PHONE=1
# Exclude gaming peripherals from autosuspend
USB_ALLOWLIST="046d:c52b 1532:0037" # Gaming mouse and keyboard
# Runtime PM for USB devices
USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=1
```
**Rationale**: Gaming peripherals need to remain active for immediate response. Audio and Bluetooth devices are excluded from autosuspend to prevent interruptions.
### Thermal Management
```bash
# Thermal zone trip points (prevent throttling)
TEMP_LIMITS_ON_AC="85/95"
TEMP_LIMITS_ON_BAT="80/90"
# Fan control (if supported)
FAN_SPEED_ON_AC=auto
FAN_SPEED_ON_BAT=auto
```
**Rationale**: Higher thermal limits on AC power allow for sustained gaming performance. Battery limits are lower to prevent overheating during mobile use.
### Audio and Multimedia
```bash
# Audio power management
SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=1
SOUND_POWER_SAVE_CONTROLLER=Y
```
**Rationale**: Audio power saving disabled on AC for gaming audio quality. Enabled on battery for power conservation.
### System Sleep and Wake
```bash
# Fast resume for gaming
RESTORE_DEVICE_STATE_ON_STARTUP=1
DEVICES_TO_DISABLE_ON_STARTUP=""
# USB device handling during sleep
USB_EXCLUDE_WWAN=1
USB_EXCLUDE_PRINTER=1
```
**Rationale**: Fast wake/sleep cycle for gaming sessions. Critical devices remain configured for immediate use.
## Performance Impact
### Gaming Performance (AC Power)
- **CPU**: Maximum performance with all cores available
- **GPU**: Full performance mode for dedicated graphics
- **Storage**: Maximum I/O performance for fast game loading
- **Network**: Low-latency connectivity for online gaming
- **Thermal**: Higher limits to prevent throttling during intensive gaming
### Battery Life (Battery Power)
- **Runtime**: 4-6 hours for general use, 1.5-2.5 hours for gaming
- **Standby**: Optimized sleep/wake for extended standby time
- **Balanced**: Performance available when needed, power saving when idle
## Warnings and Considerations
1. **Thermal Management**: Higher performance settings may increase heat generation. Ensure adequate cooling.
2. **Battery Health**: Gaming on battery will reduce battery lifespan. Consider AC power for extended gaming sessions.
3. **Fan Noise**: Performance mode may result in more aggressive fan curves for thermal management.
4. **Power Consumption**: AC power consumption will be higher during gaming sessions (150-200W typical).
5. **Component Longevity**: Sustained high performance may impact long-term component reliability.
## Customization Options
### For Competitive Gaming
```bash
# Even more aggressive performance
CPU_SCALING_GOVERNOR_ON_BAT=performance
PLATFORM_PROFILE_ON_BAT=performance
WIFI_PWR_ON_BAT=off
```
### For Extended Battery Gaming
```bash
# More conservative battery settings
CPU_SCALING_MAX_FREQ_ON_BAT=2400000
CPU_BOOST_ON_BAT=0
PLATFORM_PROFILE_ON_BAT=low-power
```
### For Content Creation
```bash
# Optimize for rendering workloads
CPU_ENERGY_PERF_POLICY_ON_AC=performance
CPU_ENERGY_PERF_POLICY_ON_BAT=performance
SOUND_POWER_SAVE_ON_AC=0
```
## Monitoring and Validation
### Performance Monitoring
```bash
# CPU frequency monitoring
watch -n 1 'cat /proc/cpuinfo | grep MHz'
# Thermal monitoring
watch -n 1 'sensors'
# Power consumption
sudo powertop --time=60
```
### Gaming Benchmarks
- **3DMark**: Graphics performance validation
- **Unigine Heaven**: Thermal stability testing
- **CPU-Z**: CPU performance verification
- **CrystalDiskMark**: Storage performance testing
### Battery Testing
- **PowerTOP**: Power consumption analysis
- **Battery runtime**: Real-world usage testing
- **Standby drain**: Sleep power consumption
## Troubleshooting
### Performance Issues
- Verify CPU governor is set correctly: `cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor`
- Check thermal throttling: `dmesg | grep -i thermal`
- Monitor GPU performance: `nvidia-smi` (for NVIDIA)
### Battery Issues
- Check power consumption: `sudo powertop`
- Verify power profiles: `system76-power profile`
- Monitor charging behavior: `upower -i /org/freedesktop/UPower/devices/battery_BAT0`
### Thermal Issues
- Monitor temperatures: `sensors`
- Check fan operation: `pwmconfig` (if supported)
- Verify thermal limits: Check BIOS/UEFI settings
This configuration provides optimal gaming performance while maintaining reasonable power management for non-gaming use cases.