Skip to content

Commit

Permalink
update readme, bump version
Browse files Browse the repository at this point in the history
  • Loading branch information
antheas committed Feb 21, 2024
1 parent a48bf7f commit c942ea8
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 7 deletions.
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "adjustor"
version = "0.1.1"
version = "0.2.0"
authors = [
{ name="Kapenekakis Antheas", email="[email protected]" },
]
Expand Down
25 changes: 19 additions & 6 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit c942ea8

Please sign in to comment.