2
0
Fork
You've already forked racf
0
Simple autocpu frequencer in rust
  • Rust 100%
2023年09月24日 23:14:07 -05:00
src tests.rs: move config tests into config.rs (tests.rs deleted) 2023年09月24日 23:01:46 -05:00
.gitignore .gitignore: don't ignore Cargo.lock 2023年02月27日 22:57:44 -05:00
Cargo.lock update deps 2023年09月24日 22:38:27 -05:00
Cargo.toml modularize source code 2023年09月24日 22:55:52 -05:00
LICENSE add lincese, from original sacf 2022年10月06日 17:30:57 -05:00
racf.toml new minor version: 1.6.0 - add docs for config file and rename config.toml to racf.toml 2023年03月05日 17:44:45 -05:00
README.md readme: add related section 2023年09月24日 22:32:30 -05:00

racf - auto cpu frequencer

crates io downloads license dependency status loc CodeBerg

Simple and configurable tool that dynamically switches turbo boost and the kernel governor in order to have a corresponding relationship between the computer's capabilities and the actual usage.

Another important variable is whether the machine is charging or using the battery, depending on this state racf will use the corresponding configuration profile.

This is intended mainly for battery based machines like laptops. Desktops could benefit, I haven't really thought about it that much (e.g. those systems would only be on the '[ac]' profile).

A rewrite of sacf in rust.

Reference: cpufreq

Usage

racf --help

Note A very helpful flag is --run-once which, runs once; and thus no need for racf to stay in the background. This way you can manually tweak your system with the help of racf whenever you actually need it (might be useful to put this in the status bar).

Building and Installing

Currently you need to build it from source (not that big) with cargo and then, optionally, move it to your PATH. In the example bellow I use /usr/local/bin/ as the PREFIX (target) directory.

cargo build --release
cp -f ./target/release/racf /usr/local/bin/

Alternatively use cargo install racf

Configuration

This repo contains racf.toml configuration example with the respective documentation for it's parameters.

racf searches config files in:

  1. /etc/racf.toml
  2. /etc/racf/racf.toml
  3. /etc/racf/config.toml

The first config file that is found is used.

You can copy the file like so:

cp -f racf.toml /etc/racf.toml

or simply copy and paste it.

TODO

  • Implement user space for thermal controls (just like thermald) [seems a bit complicated]
  • Allow to define profiles with an Optional battery percentage value