Skip to content

Add Legion Linux Toolkit GUI with legion-cli integration#435

Closed
VVAT3R wants to merge 2 commits into
johnfanv2:mainfrom
VVAT3R:toolkit-gui
Closed

Add Legion Linux Toolkit GUI with legion-cli integration#435
VVAT3R wants to merge 2 commits into
johnfanv2:mainfrom
VVAT3R:toolkit-gui

Conversation

@VVAT3R

@VVAT3R VVAT3R commented May 7, 2026

Copy link
Copy Markdown
Contributor

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.

v4cachy 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.
@VVAT3R

VVAT3R commented May 7, 2026

Copy link
Copy Markdown
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.

@MrDuartePT

Copy link
Copy Markdown
Collaborator

remove commit a8ed113 was already merged

os.environ["XDG_RUNTIME_DIR"] = f"/run/user/{os.getuid()}"

# ── Legion logo icon (embedded, no external file) ────────────────────────────
_LEGION_ICON_B64 = "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"

@MrDuartePT MrDuartePT May 7, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add this to a seperate file like legion_gui_tookit.icon or something

@VVAT3R VVAT3R closed this May 7, 2026
@VVAT3R VVAT3R deleted the toolkit-gui branch May 7, 2026 15:10
@MrDuartePT

Copy link
Copy Markdown
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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants