From c942ea8456c72a6215ab2b1e45dcea9aaf3b9146 Mon Sep 17 00:00:00 2001 From: antheas Date: Wed, 21 Feb 2024 13:07:46 +0100 Subject: [PATCH] update readme, bump version --- pyproject.toml | 2 +- readme.md | 25 +++++++++++++++++++------ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index a6a98c0..404037a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "adjustor" -version = "0.1.1" +version = "0.2.0" authors = [ { name="Kapenekakis Antheas", email="pypi@antheas.dev" }, ] diff --git a/readme.md b/readme.md index 7bf5d0d..acb7cdb 100644 --- a/readme.md +++ b/readme.md @@ -18,22 +18,35 @@ As part of the latest Lenovo bios, it also allows for setting a custom fan curve for the Legion Go. ## AMD TDP Control -Adjustor controls TDP through the Dynamic Power and Thermal Configuration Interface, -which exposes a superset of the parameters that can be found in +Adjustor controls TDP through the Dynamic Power and Thermal Configuration Interface +of AMD, which exposes a superset of the parameters that can be currently found in [RyzenAdj](https://github.dev/FlyGoat/RyzenAdj/), through ACPI. -This vendor function is part of the ACPI ASL library, and provided through the +This vendor interface is part of the ACPI ASL library, and provided through the ALIB method 0x0C. +The underlying implementation of the interface is SMU calls. This means that as long as the kernel module `acpi_call` is loaded, Adjustor can control TDP in an equivalent way to [RyzenAdj](https://github.dev/FlyGoat/RyzenAdj/). -ALIB does not provide a way for reading the performance metrics table, so -Adjustor can only write TDP values. +Right now, Adjustor only implements a subset of useful ALIB parameters that are +well documented. +In addition, ALIB does not provide a way for reading the performance metrics table, +so Adjustor can only write (not read) TDP values. From reverse engineering the Legion Go (see [here](./alib.md)), and seeing how it interacts with ALIB, it was found that there are at least 10 parameters which control the method STTv2 and are not part of RyzenAdj or have been documented elsewhere. ## Installation -Installation instructions coming the following days. +Adjustor is available on [AUR](https://aur.archlinux.org/packages/adjustor) +and provided Handheld Daemon has been installed through +[AUR](https://aur.archlinux.org/packages/hhd) too, it will load it automatically +on restart. +COPR coming soon. + +Alternatively, on a local install of Handheld Daemon you may: +```bash +~/.local/share/hhd/venv/bin/pip install --upgrade adjustor +``` +However, the autoupdater in Handheld Daemon does not support updating yet. ## Development Install to the same virtual environment as hhd to have Adjustor picked up