Code Monkey home page Code Monkey logo

lenovolegiontoolkit's Introduction

Logo

Lenovo Legion Toolkit

Build Crowdin Join Discord


Other language versions of this README file:


Ukrainian Flag

Support the Armed Forces of Ukraine and People Affected by Russia’s Aggression on UNITED24, the official fundraising platform of Ukraine: https://u24.gov.ua.

Слава Україні!

Ukrainian Flag


Lenovo Legion Toolkit (LLT) is a utility created for Lenovo Legion (and similar) series laptops, that allows changing a couple of features that are only available in Lenovo Vantage or Legion Zone.

It runs no background services, uses less memory, uses virtually no CPU, and contains no telemetry. Just like Lenovo Vantage, this application is Windows only.

 

Join the Legion Series Discord: https://discord.com/invite/legionseries!

If you are looking for a Vantage alternative that was made for Linux, check LenovoLegionLinux project.

 

Click here for more screenshots...
Keyboard Battery
Actions Downloads
Custom Mode Custom Mode

Table of Contents

Disclaimer

The tool comes with no warranty. Use at your own risk.

Please be patient and read through this readme carefully - it contains important information.

Download

You can download the program by the following ways:

  • Manually from the Releases page

  • Using winget:

    winget install BartoszCichecki.LenovoLegionToolkit
  • Using Scoop:

    scoop bucket add versions
    scoop bucket add extras
    scoop install extras/lenovolegiontoolkit

Next steps

LLT works best when it's running in the background, so go to Settings and enable Autorun and Minimize on close. Next thing is to either disable Vantage and Hotkeys or just uninstall them. After that LLT will always run on startup and will take over all functions that were handled by Vantage and Hotkeys.

If you close LLT completely some functions will not work, like synchronizing power plans with current Power Mode or Actions. This is due to the fact that LLT does not run any background services and won't be able to respond to changes.

Required drivers

If you installed LLT on a clean Windows install, make sure to have necessary drivers installed. If drivers are missing, some options might not be available. Especially make sure that these two are installed on your system:

  1. Lenovo Energy Management
  2. Lenovo Vantage Gaming Feature Driver

Problems with .NET?

If for whatever reason LLT installer did not setup .NET properly:

  1. Go to https://dotnet.microsoft.com/en-us/download/dotnet/8.0
  2. Find section ".NET Desktop Runtime"
  3. Download x64 Windows installer
  4. Run the installer

Note: If you installed LLT from Scoop, .NET 8 should have been installed automatically as a dependency. If anything fails, use scoop update to update all packages and try to reinstall LLT with --force argument.

After following these steps, you can open Terminal and type: dotnet --info. In the output look for section .NET runtimes installed, in this section you should see something like:

Microsoft.NETCore.App 8.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

and

Microsoft.WindowsDesktop.App 8.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

The exact version number can be different, but as long as it is 8.x.x it should be fine. If after these steps LLT still shows an error on startup that .NET couldn't be found or similar, the problem is on your machine and not with LLT.

Want to help with testing?

Join the Legion Series Discord and head to #legion-toolkit channel. Beta versions of future releases are posted there frequently!

Compatibility

Lenovo Legion Toolkit is made for Lenovo Legion laptops, and other similar laptops like Ideapad Gaming, LOQ and their Chinese variants.

Generations 6 (MY2021), 7 (MY2022) and 8 (MY2023) are supported, although some features also work on the 5th generation (MY2020). Issues related to devices older than Gen 6 or that are not Legions are out of scope of this project.

If you are getting an incompatible message on startup, you can check the Contribution section down at the bottom, to see how can you help. Keep in mind, that not always I can make all options compatible with all hardware since I do not have access to it.

Support for other laptops is not planned.

Lenovo's software

Overall the recommendation is to disable or uninstall Vantage, Hotkeys and Legion Zone while using LLT. There are some functions that cause conflicts or may not work properly when LLT is working along side other Lenovo apps.

Other remarks

LLT currently does not support installation for multiple users, so if you need to have multiple users on you laptop you might encounter issues. Same goes for accounts without Administrator rights - LLT needs an account with Administrator rights. If you install LLT on an account without such rights, LLT will not work properly.

Features

The app allows to:

  • Change settings like power mode, battery charging mode, etc. that are available only through Vantage.
  • Spectrum RGB, 4-zone RGB and White backlight keyboards support.
  • Deactivate discrete GPU (NVIDIA only).
  • View battery statistics.
  • Check for driver and software updates.
  • Check warranty status.
  • Define Actions that will run when the laptop is i.e. connected to AC power.
  • Disable/enable Lenovo Vantage, Legion Zone and Lenovo Hotkeys service without uninstalling them.
  • ... and more!

Custom Mode

Custom Mode is available on all devices that support it. You can find it in the Power Mode dropdown as it basically is 4th power mode and it allows for adjusting power limits and fans. Custom Mode can't be accessed with Fn+Q shortcut. Not all features of Custom Mode are supported by all devices.

If you have one of the following BIOSes:

  • G9CN (24 or higher)
  • GKCN (46 or higher)
  • H1CN (39 or higher)
  • HACN (31 or higher)
  • HHCN (20 or higher)

Make sure to update it to at least minimum version mentioned above for Custom Mode to function properly.

RGB and lighting

Both Spectrum per-key RGB and 4-zone RGB backlight is supported. Vantage and it's services need to be disabled to avoid conflicts when communicating with hardware. If you use other RGB apps that might conflict with LLT, check FAQ for solutions.

Other lighting features like both 1 and 3 level white keyboard backlight, panel logo and rear ports backlight are also supported, however there are some constraints:

  • GKCN54WW and lower - some lighting features are disabled due to a bug in these BIOS versions causing BSOD
  • some (mostly Gen 6) laptops models might not show all options or show options that aren't there - this is due misconfigured BIOS that doesn't report availability of these features

Lighting that required Corsair iCue is not supported by LLT.

Important: Riot Vanguard DRM (used in Valorant for example) is known to cause issues with RGB controls. If you don't see RGB settings and have it installed, make sure it doesn't run on startup or uninstall it.

Hybrid Mode and GPU Working Modes

There are two main way you can use your dGPU:

  1. Hybrid mode on - internal laptop display is connected to integrated GPU, discrete GPU will work when needed and power off when not in use, giving better battery life
  2. Hybrid mode off (aka dGPU) - internal laptop display is conenected directly to discreted GPU, giving best performance but also worst battery life

Switching between two modes requires restart.

On Gen 7 and 8 laptops, there are additional 2 settings for Hybrid mode:

  1. Hybrid iGPU-only - in this mode dGPU will be disconnected (think of it like ejecting USB drive), so there is no risk of it using power when you want to achieve best battery life
  2. Hybrid Auto - similar to the above, but tries to automate the process by automatically disconnecting dGPU on battery power and reconnecting it when you plug in AC adapter

Discrete GPU may not disconnect, and in most cases will not disconnect, when it is used. That includes apps using dGPU, external monitor connected and probably some other cases that aren't specified by Lenovo. If you use the "Deactivate GPU" option in LLT, make sure that it reports dGPU Powered Off and no external screens are connected, before switching between Hybrid Modes in case you encounter problems.

All above settings are using built in functions of the EC and how well they work relies on Lenovo's firmware implementation. From my observations, they are reliable, unless you start switching them frequently. Be patient, because changes to this methods are not instantanous. LLT also attempts to mitigate these issues, by disallowing frequent Hybrid Mode switching and additional attempts to wake dGPU if EC failed to do so. It may take up to 10 seconds for dGPU to reappear when switching to Hybrid Mode, in case EC failed to wake it.

If you encounter issues, you might try to try alternative, experimental method of handling GPU Working Mode - see Arguments section for more details.

Disabling dGPU via Device Manager DOES NOT disconnect the device and will cause high power consumption!

These options are not Advanced Optimus and work separately from it.

Deactivate discrete NVIDIA GPU

Sometimes discrete GPU stays active even when it should not. This can happen for example, if you work with an external screen and you disconnect it - some processes will keep running on discrete GPU keeping it alive and shortening battery life.

There are two ways to help the GPU deactivate:

  1. killing all processes running on dGPU (this one seems to work better),
  2. disabling dGPU for a short amount of time, which will force all processes to move to the integrated GPU.

Deactivate button will be enabled when dGPU is active, you have Hybrid mode enabled and there are no screens connected to dGPU. If you hover over the button, you will see the current P state of dGPU and the list of processes running on it.

Keep in mind that some apps may not like this feature and crash when you deactivate dGPU.

Overclock discrete NVIDIA GPUs

The overclock option is intended for simple overclocking, similar to the one available in Vantage. It is not intended to replace tools like Afterburner. Here are some points to keep in mind:

  • Make sure GPU overclocking is enabled in BIOS, if your laptop has such option.
  • Overclocking does not work with Vantage or LegionZone running in the background.
  • It is not recommended to use the option while using other tools like Afterburner.
  • If you edited your Dashboard, you might need to add the control manually.

Windows Power Plans & Windows Power Mode

First of all, the Power Mode you see in LLT (or toggle with Fn+Q) is not the same as Power Plans (that you access from Control Panel) or Power Mode (that you can change from Settings app).

The more modern approach is to use only one, default, "Balanced (recommended)" power plan. If you do have other power plans, either delete them, or in LLT settings set all Power Modes to use this plan. Next, go to the Settings app and under System > Power & battery select "Best performance" when laptop is connected to AC adapter, then unplug AC adapter and set it to "Recommended". You can also configure "Battery saver" to automatically turn on "Always". This approach will utilize the modern "power plan overlays" that Microsoft introduced to replace legacy Power Plans.

The legacy approach is to use multiple Power Plans, that some devices had installed from factory. If you decide to use them, or configure your own plans, leave the settings in Windows Settings app on the default "Recommended" setting. You can configure LLT to switch Power Plans automatically whenever you change the "Legion" Power Mode in LLT settings.

You can read more about the new Power Mode handling in Windows here: Customize the Windows performance power slider.

Boot Logo

On Gen 6 and 7 laptops, it is possible to change the boot logo (the default "Legion" image you see at boot). Boot logo is not stored in UEFI - it is stored on the UEFI partition on boot drive. When setting custom boot logo, LLT conducts basic checks, like resolution, image format and calculates a checksum to ensure compatibility. However, the real verification happens on the next boot. UEFI will attempt to load the image from UEFI partition and show it. If that fails for whatever reason, default image will be used. Exact criteria, except for resolution and image format, are not known and some images might not be shown. In this case, try another image, edited with different image editor.

Running programs or scripts from actions

You can use "Run" step in Actions to start any program or script from Actions. To configure it, you need to provide path to the executable (.exe) or a script (.bat). Optionally, you can also provide arguments that the script or program supports - just like running anything from command line.

Examples

Here are couple of examples:

Shutdown laptop

  • Executable path: shutdown
  • Arguments: /s /t 0

Restart laptop

  • Executable path: shutdown
  • Arguments: /r

Runing a program

  • Executable path: C:\path\to\the\program.exe (if the program is on your PATH variable, you can use the name only)
  • Arguments: (optional, for list of supported argument check the program's readme, website etc.)

Running a script

  • Executable path: C:\path\to\the\script.bat (if the script is on your PATH variable, you can use the name only)
  • Arguments: (optional, for list of supported argument check the script's readme, website etc.)

Python script

  • Executable path: C:\path\to\python.exe (or just python, if it is on your PATH variable)
  • Arguments: C:\path\to\script.py

Environment

LLT automatically adds some variables to the process environment that can be accessed, from within the script. They are useful for more advanced scripts, where context is needed. Depending on what was the trigger, different variables are added:

  • When AC power adapter is connected

    • LLT_IS_AC_ADAPTER_CONNECTED=TRUE
  • When low wattage AC power adapter is connected

    • LLT_IS_AC_ADAPTER_CONNECTED=TRUE
    • LLT_IS_AC_ADAPTER_LOW_POWER=TRUE
  • When AC power adapter is disconnected

    • LLT_IS_AC_ADAPTER_CONNECTED=FALSE
  • When Power Mode is changed:

    • LLT_POWER_MODE=<value>, where value is one of: 1 - Quiet, 2 - Balance, 3 - Performance, 255 - Custom
    • LLT_POWER_MODE_NAME=<value>, where value is one of: QUIET, BALANCE, PERFORMANCE, CUSTOM
  • When game is running

    • LLT_IS_GAME_RUNNING=TRUE
  • When game closes

    • LLT_IS_GAME_RUNNING=FALSE
  • When app starts

    • LLT_PROCESSES_STARTED=TRUE
    • LLT_PROCESSES=<value>, where value is comma separated list of process names
  • When app closes

    • LLT_PROCESSES_STARTED=FALSE
    • LLT_PROCESSES=<value>, where value is comma separated list of process names
  • Lid opened

    • LLT_IS_LID_OPEN=TRUE
  • Lid closed

    • LLT_IS_LID_OPEN=FALSE
  • When displays turn on

    • LLT_IS_DISPLAY_ON=TRUE
  • When displays turn off

    • LLT_IS_DISPLAY_ON=FALSE
  • When external display is connected

    • LLT_IS_EXTERNAL_DISPLAY_CONNECTED=TRUE
  • When external display is disconnected

    • LLT_IS_EXTERNAL_DISPLAY_CONNECTED=FALSE
  • When WiFi is connected

    • LLT_WIFI_CONNECTED=TRUE
    • LLT_WIFI_SSID=<value>, where value is the SSID of the network
  • When WiFi is disconnected

    • LLT_WIFI_CONNECTED=FALSE
  • At specified time

    • LLT_IS_SUNSET=<value>, where value is TRUE or FALSE, depending on configuration of the trigger
    • LLT_IS_SUNRISE=<value>, where value is TRUE or FALSE, depending on configuration of the trigger
    • LLT_TIME", where value is HH:mm, depending on configuration of the trigger
    • LLT_DAYS", where value is comma separated list of: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY, depending on configuration of the trigger
  • Periodic action

    • LLT_PERIOD=<value>, where value is the interval in seconds
  • On startup

    • LLT_STARTUP=TRUE
  • On resume

    • LLT_RESUME=TRUE

Output

If "Wait for exit" is checked, LLT will capture the output from standard output of the launched process. This output is stored in $RUN_OUTPUT$ variable and can be displayed in Show notification step.

Donate

If you enjoy using the Lenovo Legion Toolkit, consider donating.

Donate with PayPal

PayPal QR code

Credits

Special thanks to:

Translations provided by:

Many thanks to everyone else, who monitors and corrects translations!

FAQ

Why do I get a message that Vantage is still running, even though I uninstalled it?

Starting from version 2.14.0, LLT is much more strict about detecting leftover processes related to Vantage. Vantage installs 3 components:

  1. Lenovo Vantage app
  2. Lenovo Vantage Service
  3. System Interface Foundation V2 Device

The easiest solution is to go into LLT settings and select options to disable Lenovo Vantage, LegionZone and Hotkeys (only still installed ones are shown).

If you want to remove them instead, make sure that you uninstall all 3, otherwise some options in LLT will not be available. You can check Task Manager for any processes containing Vantage or ImController. You can also check this guide for more info: Uninstalling System Interface Foundation V2 Device, if you have troubles getting rid of ImController processes.

Why is my antivirus reporting that the installer contains a virus/trojan/malware?

LLT makes use of many low-level Windows APIs that can be falsely flagged by antiviruses as suspicious, resulting in a false-positive. LLT is open source and can easily be audited by anyone who has any doubts as to what this software does. All installers are built directly on GitHub with GitHub Actions, so that there is no doubt what they contain. This problem could be solved by signing all code, but I can't afford spending hundreds of dollars per year for an Extended Validation certificate.

If you downloaded the installer from this projects website, you shouldn't worry - the warning is a false-positive. That said, if you can help with resolving this issue, let's get in touch.

Can I customize hotkeys?

You can customize Fn+F9 hotkey in LLT settings. Other hotkeys can't be customized.

Can I customize Conservation mode threshold?

No. Conservation mode threshold is set in firmware to 60% (2021 and earlier) or 80% (2022 and later) and it can't be changed.

Can I customize fans in Quiet, Balance or Performance modes?

No, it isn't possible to customize how the fan works in power modes other than Custom.

Why can't I switch to Performance or Custom Power Mode on battery?

Starting with version 2.11.0, LLT's behavior was aligned with Vantage and Legion Zone and it does not allow using them without an appropriate power source.

If for whatever reason you want to use these modes on battery anyway, you can use --allow-all-power-modes-on-battery argument. Check Arguments section for more details.

Note that power limits and other settings are not applied correctly on most devices when laptop is not connected to full power AC adapter and unpredictable and weird behavior is expected. Therefore, no support is provided for issues related to using this argument.

Why does switching to Performance mode seem buggy, when AI Engine is enabled?

It seems that some BIOS versions indeed have weird issues when using Fn+Q. Only hope is to wait for Lenovo to fix it.

Why am I getting incompatible message after motherboard replacement?

Sometimes new motherboard does not contain correct model numbers and serial numbers. You should try this tutorial to try and recover them. If that method does not succeed, you can workaround it with --skip-compat-check argument. Check Arguments section for more details.

Why isn't a game detected, even though Actions are configured properly?

Game detection feature is built on top of Windows' game detection, meaning LLT will react to EXE files that Windows considers "a game". That also means that if you nuked Xbox Game Bar from your installation, there is 99.9% chance this feature will not work.

Windows probably doesn't recognize all games properly, but you can mark any program as game in Xbox Game Bar settings (Win+G). You can find list of recognized games in registry: HKEY_CURRENT_USER\System\GameConfigStore\Children.

Can I use other RGB software while using LLT?

In general yes. LLT will disable RGB controls when Vantage is running to avoid conflicts. If you use other RGB software like L5P-Keyboard-RGB or OpenRGB, you can disable RGB in LLT to avoid conflicts with --force-disable-rgbkb or --force-disable-spectrumkb argument. Check Arguments section for more details.

Will iCue RGB keyboards be supported?

No. Check out OpenRGB project.

Can I have more RGB effects?

Only options natively supported by hardware are available; adding support for custom effects is not planned. If you would like more customization check out L5P-Keyboard-RGB or OpenRGB.

Can you add fan control to other models?

Fan control is available on Gen 7 and later models. Older models will not be supported due to technical limitations.

Why don't I see the custom tooltip when I hover LLT icon in tray?

In Windows 10 and 11, Microsoft did plenty of changes to the tray, breaking a lot of things on the way. As a results custom tooltips not always work properly. Solution? Update your Windows and keep fingers crossed.

How can I OC/UV my CPU?

There are very good tools like Intel XTU (which is used by Vantage) or ThrottleStop made just for that.

What if I overclocked my GPU too much?

If you end up in a situation where your GPU is not stable and you can't boot into Windows, there are two things you can do:

  1. Go into BIOS and try to find and option similar to "Enabled GPU Overclocking" and disable it, start Windows, and toggle the BIOS option again to Enabled.
  2. Start Windows in Safe Mode, and delete gpu_oc.json file under LLT settings, which are located in "%LOCALAPPDATA%\LenovoLegionToolkit.

Why is my Boot Logo not applied?

When you change the Boot Logo, LLT verifies that it is in the format that is correct format and correct resolution. If LLT shows that boot logo is applied, it means that the setting was correctly saved to UEFI. If you don't see the custom boot logo, it means that even though UEFI is configured and custom image is saved to UEFI partition, your UEFI for some reason does not render it. In this case the best idea is to try a different image, maybe in different format, edited with different image editor etc. If the boot logo is not shown after all these steps, it's probably a problem with your BIOS version.

Why do I see stuttering when using Smart Fn Lock?

On some BIOS versions, toggling Fn Lock causes a brief stutter and since Smart Fn Lock is basically an automatic toggle for Fn Lock, it is also affected by this issue. Try disabling "Fool proof Fn Lock" (or similar) option in BIOS - it was reported that it fixes stutter when toggling Fn Lock.

Which generation is my laptop?

Check the model number. Example model numbers are 16ACH6H or 16IAX7. The last number of the model number indicates generation.

Arguments

Some, less frequently needed, features or options can be enabled by using additional arguments. These arguments can either be passed as parameters or added to args.txt file.

  • --trace - enables logging to %LOCALAPPDATA%\LenovoLegionToolkit\log
  • --minimized - starts LLT minimized to tray
  • --skip-compat-check - disables compatibility check on startup (No support is provided when this argument is used)
  • --disable-tray-tooltip - disables tray tooltip that is shown when you hover the cursors over tray icon
  • --allow-all-power-modes-on-battery - allows using all Power Modes without AC adapter (No support is provided when this argument is used)
  • --enable-hybrid-mode-automation - allows changing Hybrid Mode/GPU Working Mode with actions (No support is provided when this argument is used)
  • --force-disable-rgbkb - disables all lighting features for 4-zone RGB keyboards
  • --force-disable-spectrumkb - disables all lighting features for Spectrum per-key RGB keyboards
  • --force-disable-lenovolighting - disables all lighting features related to panel logo, ports backlight and some white backlit keyboards
  • --experimental-gpu-working-mode - changes GPU Working Mode switch to use experimental method, that is used by LegionZone (No support is provided when this argument is used)
  • --proxy-url=example.com - specifies proxy server URL that LLT should use
  • --proxy-username=some_username - if applicable, specifies proxy server username to use
  • --proxy-password=some_password - if applicable, specifies proxy server password to use
  • --proxy-allow-all-certs - if needed relaxes criteria needed to establish HTTPS/SSL connections via proxy server
  • --disable-update-checker - disable update checks in LLT, in case you want to rely on winget, scoop etc.

If you decide to use the arguments with args.txt file:

  1. Go to %LOCALAPPDATA%\LenovoLegionToolkit
  2. Create or edit args.txt file in there
  3. Paste one argument per line
  4. Start LLT

Arguments not listed above are no longer needed or available.

How to collect logs?

In all troubleshooting situations, logs provide important information. Always attach logs to your issues. Critical error logs are saved automatically and saved under "%LOCALAPPDATA%\LenovoLegionToolkit\log".

To collect logs:

  1. Make sure that Lenovo Legion Toolkit is not running (also gone from tray area).
  2. Open Run (Win+R) and type there: "%LOCALAPPDATA%\Programs\LenovoLegionToolkit\Lenovo Legion Toolkit.exe" --trace and hit OK
  3. LLT will start and in the title bar you should see: [LOGGING ENABLED]
  4. Reproduce the issue you have (i.e. try to use the option that causes issues)
  5. Close LLT (also make sure it's gone from tray area)
  6. Again, in Run (Win+R) type "%LOCALAPPDATA%\LenovoLegionToolkit\log"
  7. You should see at least one file. Theses are the logs you should attach to the issue.

Contribution

I appreciate any feedback that you have, so please do not hesitate to report issues. Pull Requests are also welcome, but make sure to check out CONTRIBUTING.md first!

Translation

Crowdin has been selected as the tool for handling translations. If you want to contribute, go to https://crowdin.com/project/llt and request access.

Bugs

If you find any bugs in the app, please report them. Always attach logs to your issues. You can find logs in %LOCALAPPDATA%\LenovoLegionToolkit\log.

Compatibility

It would be great to expand the list of compatible devices, but to do it your help is needed!

If you are willing to check if this app works correctly on your device that is currently unsupported, click Continue on the popup you saw on startup. Lenovo Legion Toolkit will start logging automatically so you can submit them if anything goes wrong.

If your laptop is not part of Legion, IdeaPad Gaming or LOQ series, this software is not for you. Please do NOT open compatibility requests for other devices.

Remember that some functions may not function properly.

I would appreciate it, if you create an issue here on GitHub with the results of your testing.

Make sure to include the following information in your issue:

  1. Full model name (i.e. Legion 5 Pro 16ACH6H)
  2. List of features that are working as expected.
  3. List of features that seem to not work.
  4. List of features that crash the app.

The more info you add, the better the app will get over time. If anything seems off, write down precisely what was wrong and attach logs (%LOCALAPPDATA%\LenovoLegionToolkit\log).

Thanks in advance!

lenovolegiontoolkit's People

Contributors

0x1f9f1 avatar ace-radom avatar bartoszcichecki avatar davidlogic avatar dleovl avatar ekscentricitet avatar eric-lhhi avatar flandretw avatar flying-tom avatar gaotianyu007 avatar instinctex avatar jojo2massol avatar jtganulin avatar karllee830 avatar kittendrone avatar lenuswalker avatar mairaw avatar mariobalanica avatar markciliavincenti avatar namesmt avatar pengweiqhca avatar regorforgot avatar roadtodream avatar sergiye avatar tuanzigit avatar yisuschrist avatar zyazhb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lenovolegiontoolkit's Issues

Compatibility: LENOVO Legion Y540-15IRH

Model: Legion Y540-15IRH

Features that work as intended: Power Mode, Battery Mode, Always on USB, FN Lock, Touchpad Lock.
Features that aren't supported by model: Hybrid Mode, Flip to Start, Over Drive.

While the latter two are correctly grayed-out, Hybrid Mode is shown as a working feature, but when I turned it on, my screen stopped working as soon as I rebooted my laptop. My model of Legion Y540-15IRH does not support Hybrid Mode .

LenovoLegionToolkit

CLI Interface, Hotkey and Minimize to Tray Support

Hello, thank you very much for the app! I have been using it daily and have a few suggestions:

  1. A dedicated CLI binary for quickly toggling features or additional command line parameters which can be passed on to the main app without loading GUI.
  2. Minimize to tray support, to have the app running (and possibly bring it up using a keyboard shortcut).
  3. Support for hotkeys (Fn+q for power plans, Fn+r for refresh rate) while the app stays minimized in tray. The official hotkeys app relies on Vantage services and does not seem to work hence would be great if the app can make these keys useful again :) . I am on a clean install of Windows 10 without Vantage installed due to the telemetry involved.

Legion 5 15ARH05H Compat

Full model name: Legion 5 15ARH05H
List of features that are working as expected: All except Flip To Boot (which Vantage does not have on this device)

Compatibility: Legion 5i 15IMH05H

Everything works as expected outside of Flip to start (greyed out) and Over Drive (can be enabled, but unticks itself). Unsure if these are even available on it.

Change Refresh Rate feature

Is it possible to add a switch to change screen refresh rate because FN+R does not currently work for the Intel based laptops?

Legion 5i Pro 16ITH6H

So far working as expected:
-Disable Lenovo Vantage services works as expected, the Star Fn key (Fn + F9) brings up the toolbar.
-Power modes
-Battery modes
-Misc: Haven't tried Flip to start.
-Hybrid Mode: Haven't tried.
-Always on USB: Haven't tried.

I've still to find any feature that doesn't work, and haven't experienced any crashes. Maybe allow a single instance running in order to avoid problems?

Thank you very much for the work!

Behavior "Close", "hide to tray"

When the "Run on startup" option is activated, automatically change the "cross" function from "Close" to "hide to tray". At the same time, add the ability to manually change the behavior of the "cross". Full closure will remain through "Tools-> Exit"

Prevent Screen Brightness Resetting/Maxing After Sleep/Hibernate

  • MODEL: 16ACH6H
  • BIOS: GKCN46WW
  • DRIVERS: Lenovo Fn and Function Keys, Lenovo Energy Management, WLAN, AUDIO, BT, NVIDIA 497.09

After sleep, screen resets to max brightness (100%). Brightness slider will be set correctly to previously set value, but only after moving the slider will the screen brightness adjust itself. Perhaps this tool could apply powershell.exe -(Get-WmiObject -Namespace root/WMI -Class WmiMonitorBrightnessMethods).WmiSetBrightness(1, <PreviousValue>) or whatever the correct method is.

For some it might also be useful if the tool could allow resetting power plans: by applying Legion_Balanced.pow, Legion_Quiet.pow, and Legion_Performance.pow configs, while removing the current profiles, which I believe is default Vantage behavior. While I prefer to have a single power profile, the expected behavior when FN+Q is to switch the preset power profiles.

Not sure whether this issue is resolved by proper configuration or it's a Windows 10 bug specific to me. I'm never installing Vantage or any other bloatware to find out tho.

Limitation of running a duplicate utility.

Hello. Can I still ask to implement a ban on running a duplicate program? For example, so that when the executable file is restarted, the already active version of the utility pops up from the tray, and a parallel new window does not open?

Legion S7 15ACH6 is compatible

Legion S7 15ACH6

(Legion Slim 7 2021 model, AMD Ryzen 7 5800H, RTX 3060, Windows 11 Pro)

Launched using --skip-compat-check in Powershell as administrator.

List of features that are working as expected:

  • Power Mode
  • Hybrid Mode
  • Battery Mode
  • Always on USB
  • Flip to start
  • Over Drive
  • Fn Lock
  • Touchpad Lock
  • Tools -> Lenovo Vantage -> Enable/Disable

List of features that seem to not work (they do nothing):

  • None

List of features that crash the app:

  • None

Feature request:

  • Please add a checkmark for "Tools -> Lenovo Vantage -> Enable/Disable".
  • Dark mode (sorry, if I'm asking too much)

Lenovo Legion 5 15ARH05

== Full model name (i.e. Legion 5 Pro 16ACH6H) ==

Legion 5 15ARH05

== List of features that are working as expected. ==

  • Power mode
  • fn lock
  • touchpad lock
  • Hybrid mode
  • Disable Vantage

== List of features that seem to not work (they do nothing). ==

  • over drive

== List of features that crash the app. ==

Starting the app. README says to use --no-compat-check but it's actually --skip-compat-check. I have submitted a patch.

== Features not tested ==

  • Always on USB

'Flip to boot' should be renamed, add info to toggles

The "Flip to boot" toggle should probably be renamed "Flip to Start" as that is what Lenovo has this named.

Would also be nice to have info pop-overs that give a short description to each of the toggle options as some may not know what these do.

"About" menu option is currently not programmed, would be nice to provide a link to this github from there as well as your credits, etc.

Thanks.

[Suggestion] Script-based event handling

Hi,

Let me preface this by thanking you and @ViRb3 for the great work on a lightweight Vantage alternative. Been an avid user of Legion Toolkit since the first release.

In v1.3.1, I can see Legion Toolkit is now responding to the FN+Q shortcut and setting the default Legion Power Plan for that Smart Fan Mode.

Since versions prior to v1.3.0 didn't provide this behaviour, I created a simple Powershell script which to achieve this.

Over time, I further customized the laptop behaviour:

Now that Legion Toolkit is also changing power plans on FN+Q, that conflicts with my custom scripts.

So I was thinking, since Legion Toolkit now runs in the background and is already listening to Lenovo WMI events, maybe a similar script-based event handling feature could be a useful addition for power users?

Benefits

  • A single background process (my Powershell process no longer required if Legion Toolkit is doing the event listening / handling)
  • Powerful behaviour customization, particularly if you intend to introduce a CLI

Proposed Behaviour

  1. On startup, listen for all Lenovo WMI events (LENOVO_GAMEZONE_SMART_FAN_MODE_EVENT, LENOVO_GAMEZONE_POWER_CHARGE_MODE_EVENT_EVENT, etc)
  2. When event is fired, locate all .bat, .ps1, .vbs, .bat, in a scripts folder adjacent to LegionToolkit.exe. Filter scripts to those which are prefixed with the event name.
  3. Run found scripts in serial in alphabetical order (to allow some control over execution order), passing the event info as an argument

The intention behind this approach is to make it easy for developers to distribute scripts which users can simply copy and paste to LegionToolkit folder.

For a working proof of concept, plase have a look at https://github.com/ldstein/legion-watcher:

  • lw.ps1 is the main process which listens for WMI events then locates and runs various scripts
  • scripts contains all the various event handlers
  • lws.p1 is a simple GUI which duplicates the Autostart / Vantage Service toggles of Legion Toolkit

If this sounds too out of scope, I'd like to suggest a menu option to disable Legion Toolkit's default FN+Q event handling. This would make it possible to override the default behaviour via third-party scripts/tools as described above.

Look forward to your thoughts!

Change power mode automatically when a process is running

I5 10300h+1660ti/win10, авто смена режимов производительности(например игры) не проводит в красный режим, вообще стоит на месте. Работа в фон активности в Винде работает и включена.

New icon

I tried to make a variant of the icon for your program. Because your program is connected with power supply profiles, and all that is connected with electricity, I decided to beat the theme of electric lightning. Well, the first two letters of the LT program.
https://ibb.co/DCYmX91
Here you can take a ready-made version with different resolutions (16x16, 24x24, 32x32, 64x64, 128x128) https://disk.yandex.ru/d/5mRVv3R4sqIAHw

Clear apps from nVidia GPU

Sometimes weird apps start running on nVidia GPU, for example with Hybrid mode on and external display connected. After disconnecting they keep dGPU active increasing the load on battery.

This feature will allow dGPU to go to sleep and reduce power usage.

Preconditions:

  1. There is more than one GPU active - hybrid mode is on
  2. There are no displays connected to the dGPU

Note to self:
Use nvidia-smi and Win32_VideoController WMI object.

Compatibility Test: Lenovo Legion 5 15ACH6H

Full model name (i.e. Legion 5 Pro 16ACH6H)

  • Lenovo Legion 5 15ACH6H
    List of features that are working as expected.
  • All (Tested by toggling in Lenovo Legion Toolkit and seeing Vantage recognizing the change. Did not actually test each feature.)
    List of features that seem to not work (they do nothing).
  • None
    List of features that crash the app.
  • None

Legion 5p 15arh05h

Hello i would like to inform you that this program is not compatible with lenovo legion 5p 15arh05h running windows 10 x64. I installed net framework 5 1st but after , when opening the install package i get a message saying my laptop is not compatible.

Compatibility: Lenovo Legion Y540-17IRH

Thanks for the app.

My laptop:
Lenovo Legion Y540-17IRH - i7-9750H CPU 2060 gpu
(model according to wmic: 81Q4)

List of features that are working as expected:

  • Power Mode
  • Hybrid Mode
  • Battery Mode
  • Always on USB
  • Fn Lock
  • Touchpad Lock
  • Lenovo Vantage Disable

Features that don`t supported in my model and grayed out:

  • Flip to start
  • Over Drive

Lenovo Legion Y740-17IRHg (81UJ)

== Full model name (i.e. Legion 5 Pro 16ACH6H) ==

Lenovo Legion Y740-17IRHg
(model according to wmic: 81UJ)

== List of features that are working as expected. ==

  • Power Mode
  • Hybrid Mode
  • Battery Mode
  • Always on USB
  • Fn Lock
  • Touchpad Lock
  • Lenovo Vantage Disable

== Other ==
Flip to start, Over Drive are both grayed out

UI Glitches - Resolution/DPI Changes?

Hello, I frequently see weird UI issues as shown in the image below. Very frequent when switching monitors and in some cases after resolution changes on the laptop display itself (if and when a game changes it). Not sure if this because of DPI changes or some other runtime limitation. I restart the app when this happens, but it would be great to know what causes it and if the app can redraw/reload UI when this happens, without a restart. Happy to do more testing.

image

Hotkeys Fn+Q in version 1.5 does not switch windows power profiles (on 2020 platform)

Version 1.5. Thank you so much for the update! All the wishes that we have told you have been fulfilled! However, switching WINDOWS power profiles by hotkeys Fn + Q stopped working. Vantage is disabled from this app. I have a 2020 laptop, 82B5008JRU. On the 2020 platform out of the box, the Fn + Q hotkeys only toggle BIOS power, but not Windows power profiles. This function is available to us, only in your program). In order for version 1.4 to work, we have to import power profiles from the 2021 platform, while keeping the original Lenovo GUIDs. Hope this information helps. Thanks again!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.