The new CachyOS update said that chwd “detects specific Intel CPUs for better power saving”, but this seems to be only for newly-installed system.
What is the list of the Intel CPUs and how do I see the list (or if mine is supported)? And how do I get this power saving thing in my existing system without reinstalling?
Asking this because I’m using Intel Core 5 210H, and wanna improve my battery life if possible
sudo chwd -a ─╯
> Skipping already installed profile 'intel' for device: 0000:00:02.0 (0300:8086:9b41) VGA compatible controller Intel Corporation CometLake-U GT2 [UHD Graphics]
> Using profile 'fprint' for device: 1-9 (ff:06cb:00bd) Synaptics, Inc. Prometheus MIS Touch Fingerprint Reader
> Installing fprint ...
:: Synchronizing package databases...
cachyos-v3 is up to date
cachyos-core-v3 is up to date
cachyos-extra-v3 is up to date
cachyos is up to date
core is up to date
extra is up to date
multilib is up to date
resolving dependencies...
looking for conflicting packages...
Package (3) New Version Net Change Download Size
cachyos-extra-v3/libfprint 1.94.10-1.1 1.82 MiB 0.42 MiB
cachyos-extra-v3/libgusb 0.4.9-2.1 0.36 MiB 0.07 MiB
cachyos-extra-v3/fprintd 1.94.5-2.1 0.94 MiB 0.16 MiB
Total Download Size: 0.64 MiB
Total Installed Size: 3.12 MiB
:: Proceed with installation? [Y/n]
:: Retrieving packages...
libgusb-0.4.9-2.1-x86_64_v3 70.9 KiB 111 KiB/s 00:01 [----------------------------------------] 100%
fprintd-1.94.5-2.1-x86_64_v3 161.3 KiB 217 KiB/s 00:01 [----------------------------------------] 100%
libfprint-1.94.10-1.1-x86_64_v3 427.3 KiB 494 KiB/s 00:01 [----------------------------------------] 100%
Total (3/3) 659.6 KiB 662 KiB/s 00:01 [----------------------------------------] 100%
(3/3) checking keys in keyring [----------------------------------------] 100%
(3/3) checking package integrity [----------------------------------------] 100%
(3/3) loading package files [----------------------------------------] 100%
(3/3) checking for file conflicts [----------------------------------------] 100%
:: Running pre-transaction hooks...
(1/1) Performing snapper pre snapshots for the following configurations...
==> root: 66
:: Processing package changes...
(1/3) installing libgusb [----------------------------------------] 100%
(2/3) installing libfprint [----------------------------------------] 100%
(3/3) installing fprintd [----------------------------------------] 100%
:: Running post-transaction hooks...
(1/6) Updating udev hardware database...
(2/6) Reloading system manager configuration...
(3/6) Reloading device manager configuration...
(4/6) Arming ConditionNeedsUpdate...
(5/6) Reloading system bus configuration...
(6/6) Performing snapper post snapshots for the following configurations...
==> root: 67
The unit files have no installation config (WantedBy=, RequiredBy=, UpheldBy=,
Also=, or Alias= settings in the [Install] section, and DefaultInstance= for
template units). This means they are not meant to be enabled or disabled using systemctl.
Possible reasons for having these kinds of units are:
• A unit may be statically enabled by being symlinked from another unit's
.wants/, .requires/, or .upholds/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
instance name specified.
> Successfully installed fprint
╭─░▒▓ ~/Cytadela on main ? ▓▒░─────────────────────────────────░▒▓ ✔ took 4s at 02:54:40 PM ▓▒░─╮
╰─ sudo chwd --list-all ─╯
> All PCI profiles:
╭─────────────────────────┬──────────╮
│ Name ┆ Priority │
╞═════════════════════════╪══════════╡
│ nouveau ┆ 18 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ nvidia-dkms-470xx.prime ┆ 15 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ nvidia-dkms-470xx ┆ 14 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ nvidia-dkms-580xx.prime ┆ 13 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ nvidia-dkms-580xx ┆ 12 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ nvidia-open-dkms.prime ┆ 11 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ nvidia-open-dkms ┆ 10 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ macbook-t2 ┆ 9 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ qemu ┆ 5 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ virtualbox ┆ 5 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ vmware ┆ 5 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ intel-lpmd ┆ 5 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ amd ┆ 4 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ intel ┆ 4 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ fallback ┆ 3 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ handheld.intel-msi-claw ┆ 2 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ handheld.rog-ally ┆ 2 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ handheld.steam-deck ┆ 2 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ handheld ┆ 1 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ broadcom-wl ┆ 1 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
│ marvell-wifi ┆ 1 │
╰─────────────────────────┴──────────╯
> All USB profiles:
╭────────┬──────────╮
│ Name ┆ Priority │
╞════════╪══════════╡
│ fprint ┆ 5 │
╰────────┴──────────╯
Why are the PCI profiles on the AMD and Intel the exact same here? Also Nouveau being higher priority than Nvidia’s official driver? Isn’t Nouveau slower tho?
If you run chwd without arguments you’ll see what’s your current configuration. If you have a newer nvidia card default is going to be either 10 or 11 depending on your CPU (if you have iGPU or not), at least I think so. On my desktop I always disable iGPU, so I can’t say with 100% that prime profile is always used when iGPU is detected, something else could be used as the deciding factor (e.g. laptop vs desktop could make sense.)
Also, I am not sure how effectively can chwd recognize the architecture of the GPU, and pick one of the older drivers like 580 (IMO, this one would make sense as default in most cases) or 470 for pre 10 series cards. So, you might need to manually select 470xx or 580xx profiles if you have 10 series or older.