Coder Social home page Coder Social logo

goelbiju / ryzenadj Goto Github PK

View Code? Open in Web Editor NEW

This project forked from flygoat/ryzenadj

0.0 1.0 0.0 1.42 MB

Adjust power management settings for Mobile Raven Ridge Ryzen Processors

License: GNU Lesser General Public License v3.0

CMake 1.44% C# 22.21% C 68.52% C++ 7.37% Batchfile 0.47%

ryzenadj's Introduction

RyzenAdj

Adjust power management settings for Ryzen Processors.

Build Status

Based on: FlyGoat/ryzen_nb_smu

RyzenAdjUI_WPF by "JustSkill" is no longer maintained, for GUI please see le.storm1er/ryzen-controller.

Usage

The command line interface is identical on both Windows and Unix-Like OS.

You should run it with Administrator on Windows or root on Linux.

You can write a shell script or bat to do it automatically.

$./ryzenadj -h
Usage: ryzenadj [options] [[--] args]
   or: ryzenadj [options]

 Ryzen Power Management adjust tool.

    -h, --help                        show this help message and exit

Options
    -i, --info                        Show information (W.I.P.)

Settings
    -a, --stapm-limit=<u32>           Sustained power limit (mW)
    -b, --fast-limit=<u32>            Fast PPT power limit (mW)
    -c, --slow-limit=<u32>            Slow PPT power limit (mW)
    -d, --slow-time=<u32>             Slow PPT constant time (S)
    -e, --stapm-time=<u32>            STAPM constant time (S)
    -f, --tctl-temp=<u32>             Tctl temperature (▒?
    -g, --vrm-current=<u32>           VRM Current Limit (mA)
    -j, --vrmsoc-current=<u32>        VRM SoC Current Limit (mA)
    -k, --vrmmax-current=<u32>        VRM Maximum Current Limit (mA)
    -l, --vrmsocmax-current=<u32>     VRM SoC Maximum Current Limit (mA)
    -m, --psi0-current=<u32>          PSI0 Current Limit (mA)
    -n, --psi0soc-current=<u32>       PSI0 SoC Current Limit (mA)
    -o, --max-socclk-frequency=<u32>  Maximum SoC Clock Frequency (MHz)
    -p, --min-socclk-frequency=<u32>  Minimum SoC Clock Frequency (MHz)
    -q, --max-fclk-frequency=<u32>    Maximum Transmission (CPU-GPU) Frequency (MHz)
    -r, --min-fclk-frequency=<u32>    Minimum Transmission (CPU-GPU) Frequency (MHz)
    -s, --max-vcn=<u32>               Maximum Video Core Next (VCE - Video Coding Engine) (Value)
    -t, --min-vcn=<u32>               Minimum Video Core Next (VCE - Video Coding Engine) (Value)
    -u, --max-lclk=<u32>              Maximum Data Launch Clock (Value)
    -v, --min-lclk=<u32>              Minimum Data Launch Clock (Value)
    -w, --max-gfxclk=<u32>            Maximum GFX Clock (Value)
    -x, --min-gfxclk=<u32>            Minimum GFX Clock (Value)

demo

If I'm going to set all the Power Limit to 45W, and Tctl to 90 ℃, then the command line should be:

./ryzenadj --stapm-limit=45000 --fast-limit=45000 --slow-limit=45000 --tctl-temp=90

Build

Build Requirements

Building this tool requires C & C++ compilers as well as cmake. It requires privileged access to NB PCI config space, in order to compile it one must have pcilib library & headers available.

Linux

Please make sure that you have libpci dependency before compiling. On Debian-based distros this is covered by installing pcilib-dev package:

sudo apt install libpci-dev

The simplest way to build it:

mkdir build && cd build
cmake ..
make

Windows

It can be built by Visual Studio + MSVC automaticaly, or Clang + Nmake in command line. However, as for now, MingW-gcc can't be used to compile for some reason.

Required dll is included in ./prebuilt of source tree. Please put the dll library and sys driver in the same folder with ryzenadj.exe.

We don't recommend you to build by yourself on Windows since the environment configuarion is very complicated. If you would like to use ryzenadj functions in your program, see libryzenadj.

ryzenadj's People

Contributors

flygoat avatar goelbiju avatar road-drum avatar storm1er avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.