Zenpower3 is a Linux kernel driver for reading temperature, voltage(SVI2), current(SVI2) and power(SVI2) for AMD Zen family CPUs, now with Zen 3 support! Email me to send patches. Looking for a new maintainer.
Find a file
2022-11-03 21:24:08 -04:00
.gitignore Remove *.mod files from git 2021-09-25 20:12:01 -05:00
dkms.conf version 0.1.4 2019-10-06 20:50:44 +02:00
LICENSE Added LICENSE file 2020-02-02 20:00:11 +01:00
Makefile Use -Wno-implicit-fallthrough instead of -Wimplicit-fallthrough=3 to support clang 2022-04-13 08:27:39 -05:00
README.md Add Fedora copr package repo to README 2022-02-26 23:30:59 +01:00
zenpower.c Add Lucienne support 2022-11-03 21:24:08 -04:00
zp_read_debug.sh Create debugging script 2021-12-16 11:24:40 -06:00

Zenpower3

Zenpower3 is a Linux kernel driver for reading temperature, voltage(SVI2), current(SVI2) and power(SVI2) for AMD Zen family CPUs, now with Zen 3 support!

Make sure that your Linux kernel have support for your CPUs as Zenpower is using kernel function amd_smn_read to read values from SMN. A fallback method (which may or may not work!) will be used when it is detected that kernel function amd_smn_read lacks support for your CPU. For AMD family 17h Model 70h (Ryzen 3000) CPUs you need kernel version 5.3.4 or newer or kernel with this patch: https://patchwork.kernel.org/patch/11043277/

Installation

You can install this module via DKMS.

Installation for Ubuntu

sudo apt install dkms git build-essential linux-headers-$(uname -r)
cd ~
git clone https://github.com/Ta180m/zenpower3.git
cd zenpower3
sudo make dkms-install

Installation for Arch

You can install the AUR package.

Installation for Fedora 35+

You can install it from the copr package repo

Module activation

Because zenpower is using same PCI device as k10temp, you have to disable k10temp first. This is automatically done by the AUR package.

  1. Check if k10temp is active. lsmod | grep k10temp
  2. Unload k10temp sudo modprobe -r k10temp
  3. (optional*) blacklist k10temp: sudo bash -c 'sudo echo -e "\n# replaced with zenpower\nblacklist k10temp" >> /etc/modprobe.d/blacklist.conf'
  4. Activate zenpower sudo modprobe zenpower

*If k10temp is not blacklisted, you may have to manually unload k10temp after each restart.

Sensors monitoring

You can use the sensors command, zenmonitor3, or your favorite sensors monitoring software.

Update instructions

  1. Unload zenpower sudo modprobe -r zenpower
  2. Goto zenpower directory cd ~/zenpower
  3. Uninstall old version sudo make dkms-uninstall
  4. Update code from git git pull
  5. Install new version sudo make dkms-install
  6. Activate zenpower sudo modprobe zenpower

Help needed

It would be very helpful for me for further development of Zenpower if you can share debug data from zenpower. Read more

Notes

  • Some users reported that a restart is needed after module installation
  • If you are having trouble compiling zenpower under Ubuntu 18.04 (or older) with new upstream kernel, see #23
  • The meaning of raw current values from SVI2 telemetry are not standardised so the current/power readings may not be accurate on all systems (depends on the board model).