laptop-config/docs/T490-HARDWARE.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

63 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# T490 Hardware Compatibility
## WiFi
Two possible cards depending on SKU:
- **Intel Wireless-AC 9560** (CNVio, older) — firmware: `iwlwifi-9000-pu-b0-jf-b0-*.ucode`
- **Intel Wi-Fi 6 AX200** (M.2, discrete, newer) — firmware: `iwlwifi-cc-a0-*.ucode`
Both use `iwlwifi` and work out of the box. If AX200 scan fails after suspend, firmware version may be the culprit. The `modules/t490.nix` includes a resume hook that reloads the module.
## Graphics — Intel UHD 620 (Whiskey Lake)
Single iGPU. No NVIDIA. No Optimus. Ideal for Linux.
| Feature | Support |
|---|---|
| OpenGL 4.6 | Mesa Iris driver |
| Vulkan 1.3 | Mesa ANV driver |
| VA-API decode | H.264, H.265 8-bit, VP9 8+10-bit, MPEG-2, VC-1, VP8 |
| VA-API encode | H.264 only (no H.265) |
| DisplayPort over USB-C | Up to 4096×2304 @ 60Hz |
| HDMI 1.4b | Up to 4096×2304 @ 24Hz |
## Thunderbolt 3
One full-speed TB3 port (also USB-C PD). `services.hardware.bolt.enable = true` in `modules/t490.nix`. Lenovo TB3 Dock Gen 2 works — update dock firmware via fwupd.
## Fingerprint Reader — Synaptics 06cb:00bd
Works after firmware update. Steps:
1. `fwupdmgr refresh && fwupdmgr update` — flashes Prometheus firmware
2. `fprintd-enroll` — enroll fingerprints
3. Works for sudo, login, and screen unlock via PAM
Check: `lsusb | grep 06cb` should show `06cb:00bd`.
## Audio
Single Intel audio card (`8086:9dc8`) with 5 sub-devices (speaker + 4 HDMI/USB-C). The nixos-hardware T490 module provides a custom PulseAudio profile set that exposes all 5 sinks simultaneously.
## Sleep / Resume — Critical
The T490 supports S3 (deep sleep) and S0ix (s2idle, modern standby). Lenovo removed S3 from some BIOS versions.
**Check:**
```
cat /sys/power/mem_sleep
```
| Output | Status | Action |
|---|---|---|
| `s2idle [deep]` | S3 default | Good |
| `[s2idle] deep` | S3 exists but not default | Already fixed in `modules/t490.nix` (`mem_sleep_default=deep`) |
| `[s2idle]` | S3 missing | Troubleshoot below |
**If S3 is missing:**
1. BIOS → Config → Power → Sleep State → "Linux" (re-enables S3 on some versions)
2. Downgrade BIOS (pre-2020 versions have S3)
3. Use hibernation instead (more reliable than s2idle)
**Sleep battery drain:**
- S3 (deep): ~0.5%/hour (~8 days on a 50 Wh battery)
- s2idle: ~2-4%/hour (1-2 days)