Add Legion Linux Toolkit GUI with legion-cli integration#435
Closed
VVAT3R wants to merge 2 commits into
Closed
Conversation
added 2 commits
May 7, 2026 20:07
On Kernel >= 7.0.0 the legion driver binds to a virtual platform device with no ACPI companion (priv->adev = NULL). Add absolute ACPI paths (FQN) per-model via .acpi_paths in model_v0 for rapidcharge (GBMD/SBMC). In eval_int() and exec_simple_method(), use acpi_get_handle(NULL, path, &handle) on Kernel >= 7.0.0 to resolve FQN paths directly. Old kernels continue using adev->handle unchanged.
Contributor
Author
|
@MrDuartePT Here I gave you my toolkit GUI code for the original LLL (lenovolegionlinux) GUI so feel free to what ever you wnat and if you need anything from my toolkit like any new features which i added to my toolkit which can be added to the LLL (lenovolegionlinux) GUI and make it work. |
Collaborator
|
remove commit a8ed113 was already merged |
MrDuartePT
reviewed
May 7, 2026
| os.environ["XDG_RUNTIME_DIR"] = f"/run/user/{os.getuid()}" | ||
|
|
||
| # ── Legion logo icon (embedded, no external file) ──────────────────────────── | ||
| _LEGION_ICON_B64 = "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" |
Collaborator
There was a problem hiding this comment.
add this to a seperate file like legion_gui_tookit.icon or something
Collaborator
|
@v4cachy seperate the PR in multiple commit, per feature or per "tab" in the UI that way it easy to review. I didnt review everthing yet but not forget to add a page to set fancurve |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New standalone GUI that uses legion-cli for driver interaction (rapid-charging, batteryconservation, fnlock, touchpad, always-on-usb-charging, camera-power, lockfancontroller, maximumfanspeed). Falls back to sysfs/daemon for unsupported features. Original legion_gui.py untouched.
Based on Legion Linux Toolkit v0.6.3.