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.
Go to file
Ondrej Čerman 65bc4c391d Added support for more CCD Temperatures
Version 0.1.8
2020-02-08 12:37:12 +01:00
.gitignore Initial commit 2018-11-10 23:17:51 +01:00
LICENSE Added LICENSE file 2020-02-02 20:00:11 +01:00
Makefile Added support for more CCD Temperatures 2020-02-08 12:37:12 +01:00
README.md Added fallback method (from k10temp) for reading data from SMN 2019-11-02 23:22:20 +01:00
dkms.conf version 0.1.4 2019-10-06 20:50:44 +02:00
zenpower.c Added support for more CCD Temperatures 2020-02-08 12:37:12 +01:00

Zenpower

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/

Installation

You can install this module via dkms.

Installation commands for Ubuntu

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

Module activation

Because zenpower is using same PCI device as k10temp, you have to disable k10temp first.

  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

Sensors monitoring

You can use this app: zenmonitor, or your favourie 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

Known Issues

  • On some systems the SVI2 values for Core/SOC may be swapped. As a workaround you can install module with sudo make dkms-install MCFLAGS=-DSWAP_CORE_SOC to swap them back. (Should be fixed in version 0.1.4)
  • The formula for calculating amperage/wattage from raw values may not be correct for all systems. (Should be fixed for Zen2 Ryzen CPUs in version 0.1.4)