1
0
Fork
You've already forked acg
0
the thing that should make your laptop battery last longer
  • Rust 100%
Find a file
2023年06月04日 22:54:46 +02:00
acg remove unnecessary braces 2023年06月01日 11:27:20 +02:00
acg-common added some traits to the structs 2023年06月04日 22:53:49 +02:00
acg-daemon removed unnecessary ctrl handling 2023年06月04日 22:54:46 +02:00
.gitignore init 2023年06月01日 11:20:27 +02:00
acg.conf.example init 2023年06月01日 11:20:27 +02:00
acg.service init 2023年06月01日 11:20:27 +02:00
Cargo.lock added removal of old sockets in case of crash 2023年06月04日 22:53:25 +02:00
Cargo.toml init 2023年06月01日 11:20:27 +02:00
LICENSE init 2023年06月01日 11:20:27 +02:00
README.md changed todo 2023年06月04日 19:19:29 +02:00

acg

justforfunnoreally.dev badge

⚠️ WARNING ⚠️

do NOT use this unless you know what you're doing, it has barely any functionality and isn't tested at all

the config and cli aren't stable yet, things might change so be ready for that


acg stands for auto cpu governor - it automatically sets the cpu governor based on the system load

it does more but that's the first thing I implemented and I like short names

this is a clone of auto-cpufreq

why?

I'm on arch (btw) so some python packages get installed through the AUR and some through pip, which creates conflicts

maybe because I did something wrong or maybe not but one day auto-cpufreq became a victim of that, it didn't start and I had to manually delete the python files

maybe it was my fault, maybe it wasn't, what matters is that's part of what got me started on this

the other part was getting interested in the kernel and lower level shit so this was an excuse to learn some of that

installing

I've yet to make official packages so right now you need to do it manually

first the usual - git clone, cargo build --release

then copy the binaries (acg and acg-daemon) to /usr/bin, copy acg.conf.example to /etc/acg.conf

if you use systemd copy the service file to /etc/systemd/system, then you can start/enable/whatever the acg.service just like any other systemd service

roadmap

these aren't gonna be implemented in any specific order

  • official packaging
  • make every core configurable by itself
  • implement all of auto-cpufreq's features:
    • a way to get stats back from the daemon
    • settings for each governor (only performance right now Xd)
  • ncurses interface for the statistics
  • logs in the daemon
  • better error messages (human-panic seems nice)
  • support other init systems
  • configurable settings (when to enable turbo, what frequencies to set, what governor to use, etc.)
  • stabilize the api between the daemon and cli and the config file for 1.0