Reworked fork of RyzenAdj, library only.
- gcc/clang/msvc
- cmake
- ninja
RyzenAdj needs elevated access to the NB config space. This can be achieved by using either one of these two methods:
- CkNoSFeRaTU ryzen_smu driver (recommended, safe and easy)
- libpci and exposing
/dev/mem(locked in most modern distro kernels)
RyzenAdj will try ryzen_smu first, and then fallback to /dev/mem, if no compatible smu driver is found.
The minimum supported version of ryzen_smu is 0.1.7.
If no backend is available, RyzenAdj will fail initialization.
Please make sure that you have libpci dependency before compiling.
On Debian-based distros:
sudo apt install libpci-dev
On Fedora:
sudo dnf install pciutils-devel
On Arch:
sudo pacman -S pciutils
On OpenSUSE Tumbleweed:
sudo zypper in pciutils-devel
You may need to add the iomem=relaxed param to your kernel params on Tumbleweed, or you may run into errors at runtime.
If your Distribution is not supported, try finding the packages or use Distrobox or Toolbox instead.
The simplest way to build it:
git clone https://github.com/PowerTuner/RyzenAdj.git
cd RyzenAdj
cmake -B build -DCMAKE_BUILD_TYPE=Release
make -C buildTo let RyzenAdj use ryzen_smu module, you have to install it first, it is not part of the linux kernel.
Clone and install ryzen_smu:
git clone -b dev https://github.com/CkNoSFeRaTU/ryzen_smu
cd ryzen_smu/ && sudo make dkms-installInstall latest visual studio IDE community edition and select Desktop development in C++ in the installer.
Install Windows terminal (the default terminal in Windows 11).
Open terminal and a new instance of Developer Command Promp for VS xx or Developer PowerShell for VS xx.
(where xx is the visual studio version)
git clone https://github.com/PowerTuner/RyzenAdj.git
cd RyzenAdj
cmake -B build -DCMAKE_BUILD_TYPE=Release -G "Ninja"
ninja -C build