- 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
63 lines
2.3 KiB
Markdown
63 lines
2.3 KiB
Markdown
# 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)
|