- 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
2.3 KiB
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:
fwupdmgr refresh && fwupdmgr update— flashes Prometheus firmwarefprintd-enroll— enroll fingerprints- 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:
- BIOS → Config → Power → Sleep State → "Linux" (re-enables S3 on some versions)
- Downgrade BIOS (pre-2020 versions have S3)
- 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)