laptop-config/docs/T490-BATTERY.md
Scott Scoble 5051dfdc8c Add T490 hardware configuration and docs
- modules/t490.nix: TLP power management, CPU throttling (throttled), S3 sleep,
  remote Nix builders (cluster), fwupd, fprintd, fprintd, Syncthing, Tailscale,
  Intel VA-API, TrackPoint sensitivity, PipeWire defaults
- flake.nix: add nixos-hardware input, import T490 module + nixos-hardware
- docs/T490-HARDWARE.md: WiFi variants, graphics, audio, fingerprint, sleep guide
- docs/T490-BATTERY.md: TLP config, threshold strategy, real-world battery numbers
- docs/T490-OFFLOADING.md: local vs cluster split, remote builder setup
- MIGRATION.md: add T490 post-install steps (fwupd, fprint, remote build key)
- README.md: reflect new module and docs structure
2026-05-14 17:40:04 -07:00

56 lines
1.8 KiB
Markdown

# T490 Battery Life
## Hardware Baseline
- **50 Wh** internal battery (3-cell)
- Panel draws ~4-5W at typical brightness
- CPU TDP-up 25W, TDP-down 10W
## Real-World Estimates
| Scenario | Runtime |
|---|---|
| Idle, screen off | 10-12 hours |
| Light work (terminal, notes) | 7-8 hours |
| Dev work (editor, browser, kubectl) | 5-6 hours |
| Browsing (10+ tabs, video) | 4-5 hours |
| Compiling / heavy CPU | 1.5-2 hours |
## TLP Configuration
`modules/t490.nix` configures:
- `powersave` governor on battery, `performance` on AC
- Turbo disabled on battery
- CPU capped at 40% max frequency on battery (~1.7 GHz)
- WiFi power saving on battery
- PCIe runtime PM (auto on battery)
- Intel GPU frequency limits (300-600 MHz on battery)
### Battery Health Thresholds
Lenovo Battery Team recommendations — configured in `modules/t490.nix`:
- **Start charging** below 40%
- **Stop charging** at 80%
- Thresholds persist in firmware (survive reboots without TLP)
This dramatically extends battery lifespan. Don't leave plugged in at 100% for days.
## CPU Throttling Fix
Intel Whiskey Lake CPUs have a bug where BD PROCHOT fires spuriously, locking the CPU at 400 MHz. The nixos-hardware T490 module enables `services.throttled` (erpalma/throttled) — this is mandatory.
**Skip thermald** — it conflicts with throttled. `services.thermald.enable = false` is set in `modules/t490.nix`.
## Additional Tweaks
- `pcie_aspm=force` — force PCIe power saving
- `i915.enable_rc6=7` — max GPU power saving
- `noatime,nodiratime` — reduce disk writes
- **zram swap** at 50% of RAM — faster, saves NVMe writes
## Quick Wins (No Config Needed)
- Lower screen brightness (40-60% is plenty — biggest power draw)
- Disable Bluetooth when not in use
- Use S3 deep sleep (not s2idle)
- Close unused browser tabs