Zenpower is Linux kernel driver for reading temperature, voltage(SVI2), current(SVI2) and power(SVI2) for AMD Zen family CPUs.
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/
You can install this module via dkms.
sudo apt install dkms git build-essential linux-headers-$(uname -r)
cd ~
git clone https://github.com/ocerman/zenpower.git
cd zenpower
sudo make dkms-install
Because zenpower is using same PCI device as k10temp, you have to disable k10temp first.
lsmod | grep k10temp
sudo modprobe -r k10temp
sudo bash -c 'sudo echo -e "\n# replaced with zenpower\nblacklist k10temp" >> /etc/modprobe.d/blacklist.conf'
sudo modprobe zenpower
*If k10temp is not blacklisted, you may have to manually unload k10temp after each restart.
You can use this app: zenmonitor, or your favourie sensors monitoring software
sudo modprobe -r zenpower
cd ~/zenpower
sudo make dkms-uninstall
git pull
sudo make dkms-install
sudo modprobe zenpower
It would be very helpful for me for further development of Zenpower if you can share debug data from zenpower. Read more