/auto-epp-rs

auto-epp-rs is a program that automatically manages the energy performance preferences (EPP) of your AMD CPU using the AMD-Pstate driver (Rewritten in Rust)

Primary LanguageRustGNU General Public License v3.0GPL-3.0

auto-epp-rs

auto-epp-rs

auto-epp-rs is a program that manages the energy performance preferences (EPP) of your AMD CPU using the AMD-Pstate driver. It adjusts the EPP settings based on whether your system is running on AC power or battery power, helping optimize power consumption and performance. This project is a rewrite of the original Python version jothi-prasath/auto-epp in Rust, aiming to improve memory efficiency and overall performance.

Requirements

  • AMD CPU with the AMD-Pstate-EPP driver enabled.
  • Linux 6.3+
  • Rust (make deps)

How to enable amd-pstate-epp

Note: Since Linux 6.5, amd-pstate-epp is enabled by default, so you can skip this section.

GRUB

This can be done by editing the GRUB_CMDLINE_LINUX_DEFAULT params in /etc/default/grub. Follow these steps:

  1. Open the grub file using the following command:
sudoedit /etc/default/grub
  1. Within the file, modify the GRUB_CMDLINE_LINUX_DEFAULT line to include the setting for AMD P-State EPP:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amd_pstate=active"

systemd-boot

This can be done by editing the options params in /efi/loader/entries/your-entry.conf. Follow these steps:

  1. Open the grub file using the following command:
sudoedit /efi/loader/entries/your-entry.conf
  1. Within the file, modify the options line to include the setting for AMD P-State EPP:
options    ... amd_pstate=active

Installation

Arch Linux

On Arch Linux, and Arch-based distributions, auto-epp-rs can be found in the AUR. Install with an AUR helper like yay:

yay -S auto-epp-rs

Usage

Monitor the service status

systemctl status auto-epp-rs

To restart the service

sudo systemctl restart auto-epp-rs

To stop the service

sudo systemctl stop auto-epp-rs

Edit the config file

sudoedit /etc/auto-epp-rs.conf