All Projects → ocerman → Zenpower

ocerman / Zenpower

Licence: gpl-2.0
Zenpower is Linux kernel driver for reading temperature, voltage(SVI2), current(SVI2) and power(SVI2) for AMD Zen family CPUs.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Zenpower

Mars
Asynchronous Block-Level Storage Replication
Stars: ✭ 168 (-29.11%)
Mutual labels:  linux-kernel
Srmd Ncnn Vulkan
SRMD super resolution implemented with ncnn library
Stars: ✭ 186 (-21.52%)
Mutual labels:  amd
Synwall
A zero-configuration (IoT) firewall
Stars: ✭ 219 (-7.59%)
Mutual labels:  linux-kernel
Awesome Vulkan
Awesome Vulkan ecosystem
Stars: ✭ 2,322 (+879.75%)
Mutual labels:  amd
Linux Uek
Oracle Linux UEK: Unbreakable Enterprise Kernel
Stars: ✭ 185 (-21.94%)
Mutual labels:  linux-kernel
Ipftrace2
A packet oriented Linux kernel function call tracer
Stars: ✭ 193 (-18.57%)
Mutual labels:  linux-kernel
Linux Kernel Utilities
👷 Utilities to compile and / or update linux kernels for Debian and derivatives (e.g. Ubuntu, LinuxMint, etc.)
Stars: ✭ 166 (-29.96%)
Mutual labels:  linux-kernel
Polycube
eBPF/XDP-based software framework for fast network services running in the Linux kernel.
Stars: ✭ 217 (-8.44%)
Mutual labels:  linux-kernel
Cacule Cpu Scheduler
The CacULE CPU scheduler is based on interactivity score mechanism. The interactivity score is inspired by the ULE scheduler (FreeBSD scheduler).
Stars: ✭ 185 (-21.94%)
Mutual labels:  linux-kernel
Prototype Kernel
Prototyping kernel development work outside mainline
Stars: ✭ 214 (-9.7%)
Mutual labels:  linux-kernel
Linux 0.12
《Linux内核完全剖析》linux0.12源码及实验环境
Stars: ✭ 177 (-25.32%)
Mutual labels:  linux-kernel
Out Of Tree
out-of-tree kernel {module, exploit} development tool
Stars: ✭ 181 (-23.63%)
Mutual labels:  linux-kernel
Lttng Tools
The lttng-tools project provides a session daemon (lttng-sessiond) that acts as a tracing registry, the "lttng" command line for tracing control, a lttng-ctl library for tracing control and a lttng-relayd for network streaming.
Stars: ✭ 202 (-14.77%)
Mutual labels:  linux-kernel
Wifi Txpower Unlocker
Stars: ✭ 173 (-27%)
Mutual labels:  linux-kernel
Ryzen Hackintosh
OpenCore EFI for AMD Ryzen Hackintosh
Stars: ✭ 217 (-8.44%)
Mutual labels:  amd
Kvdo
A pair of kernel modules which provide pools of deduplicated and/or compressed block storage.
Stars: ✭ 168 (-29.11%)
Mutual labels:  linux-kernel
Kernel Exploit Tech
Linux Kernel exploitation Tutorial.
Stars: ✭ 192 (-18.99%)
Mutual labels:  linux-kernel
Linux Exploit Suggester
Linux privilege escalation auditing tool
Stars: ✭ 3,126 (+1218.99%)
Mutual labels:  linux-kernel
Kvm Kernel Example
Examples for: Learning KVM - implement your own kernel
Stars: ✭ 221 (-6.75%)
Mutual labels:  linux-kernel
Linux Kernel Module Cheat
The perfect emulation setup to study and develop the Linux kernel v5.4.3, kernel modules, QEMU, gem5 and x86_64, ARMv7 and ARMv8 userland and baremetal assembly, ANSI C, C++ and POSIX. GDB step debug and KGDB just work. Powered by Buildroot and crosstool-NG. Highly automated. Thoroughly documented. Automated tests. "Tested" in an Ubuntu 19.10 ho…
Stars: ✭ 2,748 (+1059.49%)
Mutual labels:  linux-kernel

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

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

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

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).
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].