All Projects → kevinlekiller → amdctl

kevinlekiller / amdctl

Licence: GPL-3.0 license
Set P-State voltages and clock speeds on recent AMD CPUs on Linux.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to amdctl

radeon-scripts
Scripts to manage various aspects of the AMD line of cards in Linux
Stars: ✭ 39 (-59.79%)
Mutual labels:  gplv3, overclock, undervolt
AMD-APU-Tuning-Utility
Unlock the full potential of your Zen-based APU with AMD APU Tuning Utility!
Stars: ✭ 299 (+208.25%)
Mutual labels:  overclock
NVOC
No description or website provided.
Stars: ✭ 26 (-73.2%)
Mutual labels:  overclock
A-Key-s-Path
A short puzzle-platformer game made with Godot, running on GLES 2.0.
Stars: ✭ 146 (+50.52%)
Mutual labels:  gplv3
AutoAirplaneMode
✈️ Automatic Aiplane Mode for Android
Stars: ✭ 15 (-84.54%)
Mutual labels:  gplv3
vdcd
vdcd - virtual device controller daemon/framework for digitalSTROM
Stars: ✭ 19 (-80.41%)
Mutual labels:  gplv3
jverein
JVerein - Open Source Vereinsverwaltung
Stars: ✭ 48 (-50.52%)
Mutual labels:  gplv3
QPrompt
Personal teleprompter software for all video creators. Built with ease of use, productivity, control accuracy, and smooth performance in mind.
Stars: ✭ 168 (+73.2%)
Mutual labels:  gplv3
HypnosMusicPlayer
A Lightweight, Clean, and Powerful Music Player and Library.
Stars: ✭ 21 (-78.35%)
Mutual labels:  gplv3
MPL
A language to generate command blocks for Minecraft 1.9 and higher
Stars: ✭ 18 (-81.44%)
Mutual labels:  gplv3
easyPokerHUD
This is the official repository for easyPokerHUD.
Stars: ✭ 40 (-58.76%)
Mutual labels:  gplv3
ZenStates-Linux
Dynamically edit AMD Ryzen processor P-States
Stars: ✭ 52 (-46.39%)
Mutual labels:  overclock
CommanderPi
Easy RaspberryPi4 GUI system managment
Stars: ✭ 163 (+68.04%)
Mutual labels:  overclock
Mat-O-Wahl
🇩🇪 Mat-O-Wahl - Ein einfach zu bedienender, freier Open Source Wahl-O-Mat Klon fuer jedermann ### 🇬🇧 🇺🇸 A simple to handle, free "Voting Advice Application" / "Electoral Compass" alternative
Stars: ✭ 27 (-72.16%)
Mutual labels:  gplv3
XPS9570-8570H-macos
9570 mac完善&&超频指南
Stars: ✭ 21 (-78.35%)
Mutual labels:  overclock
balistica
A open source ballistics calculator
Stars: ✭ 45 (-53.61%)
Mutual labels:  gplv3
LangageLinotte
Code source officiel du langage de programmation Linotte - Langage de programmation en français simple créé dans le but de permettre aux enfants et aux personnes n'ayant pas une connaissance approfondie de l’informatique d’apprendre la programmation facilement.
Stars: ✭ 29 (-70.1%)
Mutual labels:  gplv3
klog
KLog is a multiplatform free hamradio logger. It runs natively on Linux, macOS and Windows.
Stars: ✭ 31 (-68.04%)
Mutual labels:  gplv3
nitrokey-storage-firmware
Firmware for the Nitrokey Storage device
Stars: ✭ 53 (-45.36%)
Mutual labels:  gplv3
akvo-flow-mobile
Akvo Flow app
Stars: ✭ 18 (-81.44%)
Mutual labels:  gplv3

amdctl

Set P-State voltages and clock speeds on recent AMD CPUs on Linux.

Disclaimer:

This software can damage your hardware, use at your own risk.

Description:

Tool for changing voltages and clock speeds for AMD processors with control over every power state and CPU core.

Compilation:

You can compile with the program make.

Usage:

Make the binary executable chmod +x amdctl.
Run the program for a list of options, you can type ./amdctl to run it.
./amdctl -x to get a description of the various words used in the program.

Undervolting:

Undervolting is done by increasing the value of the CpuVid field for a specific P-state.
This can be done by invoking 'sudo /path/to/amdctl -pP -vV' in console, where P is the P-state of which the CpuVid you want to change and V is the value you want the CpuVid field to have.
For example, 'sudo /path/to/amdctl -p1 -v25' will change the value of the CpuVid field of P-state #1 to 25.
This applies the undervolt to all cores. You can specify a core by using the -c flag.

Supported CPU Families:

AMD CPU family's 10h(K10), 11h(Turion), 12h(Fusion), 14h (Bobcat), 15h(Bulldozer), 16h(Jaguar), 17h(Zen, Zen+, Zen 2), 19h(Zen 3).
This would be most AMD CPU's between 2007 and 2021.

You can find your CPU family by typing cat /proc/cpuinfo in a terminal, the values there are in decimal.
10h is equivalent to 16, 16h 22 for example. See https://en.wikipedia.org/wiki/List_of_AMD_CPU_microarchitectures for a table with all AMD CPU families.

The program will check if your CPU is supported when run.

Unsupported CPU Families:

AMD CPU family 9h(K9) and earlier.
AMD 13h, I could not find any info on this, so I assume this CPU family does not exist.
AMD 18h(EPYC / Hygon Dhyana), no public documentation available ?
Anything newer than 19h (for now).

Requirements:

  • Root access.
  • Msr kernel module.

To manually load the msr module: sudo modprobe msr
To automatically load the msr module see the arch wiki.

On Kernel's 5.9 and higher, userspace writes to MSR are restricted, for now (in the future this may become impossible) you can allow writing to MSR from userspace using one of the following methods:

  • Using amdctl: Pass the -m option: sudo ./amdctl -m -g
  • After the kernel is loaded (runtime): sudo bash -c "echo on > /sys/module/msr/parameters/allow_writes"
  • When loading the kernel: Add msr.allow_writes=on to kernel parameters : https://wiki.archlinux.org/title/kernel_parameters

References:

https://developer.amd.com/resources/developer-guides-manuals/ https://wiki.archlinux.org/index.php/K10ctl http://sourceforge.net/projects/k10ctl/ https://web.archive.org/web/20090914081440/http://www.ztex.de/misc/k10ctl.e.html https://01.org/msr-tools https://en.wikipedia.org/wiki/List_of_AMD_CPU_microarchitectures http://users.atw.hu/instlatx64/

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].