BartoszCichecki / LenovoLegionToolkit

Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops.
GNU General Public License v3.0
5.54k stars 249 forks source link

[BUG]: Exclude refresh rate doesn't work at all. #442

Closed ZZZXXX0110 closed 1 year ago

ZZZXXX0110 commented 1 year ago

Version

2.7.0

OS

Windows 11 22H2 build 22621.900

Device

Legion 7i 16IAX7 (7th gen)

BIOS version

K1CN31WW

What's wrong?

The "Exclude refresh rate" setting does not make any difference to the drop list that shows the available refresh rate options, nor does it affect what refresh rates will be switched to with FN + R shortcut. This is observed in both Hybrid and dGPU mode, with the corresponding available refresh rate options in each mode. Having Lenovo Vantage disabled or not disabled, as well as having LTT taking over FN key control or not, make no difference either for this bug.

How to reproduce the bug?

  1. Use LTT's Exclude Refresh Rate setting to exclude any refresh rate option.
  2. Notice that the now supposedly excluded refresh rate is still listed in the refresh rate list in LTT.
  3. Switch refresh rate with FN+R key combo and notice that it can still switch to the now supposedly excluded refresh rate.

What is the behavior that you expected?

When a refresh rate is excluded in the LTT setting, it is no longer listed in the refresh rate list in LTT, and FN+R can no longer switch to that particular refresh rate.

Logs

log_2022_12_07_06_19_19.txt

Do you have Lenovo software installed?

Did you disable any Lenovo software using Lenovo Legion Toolkit?

Additional information

Also noticed that with Disable Lenovo Hotkeys option enabled, FN+R shortcuts only work in dGPU mode, and doesn't work anymore in Hybrid mode.

BartoszCichecki commented 1 year ago

I think you are a little confused, so let me explain.

does not make any difference to the drop list that shows the available refresh rate options

As described in settings: You can exclude refresh rates, to make Fn+R shortcut more useful. This option only affects Fn+R shortcut. Regardless of the setting, all available refresh rates will appear in the dropdown.

Having Lenovo Vantage disabled or not disabled

LLT ignores Fn keys shortcuts whenever Hotkeys are enabled, so no Fn related settings you do in LLT will have any effect when LLT detects that Hotkeys are running.

Now regarding your log. I can see that there are 2 refresh rates available (since I have the same model as you I suspect it's 165Hz and 60Hz). After you pressed LLT found these two refresh rates, your screen was at 165Hz and one of the available refresh rates was excluded in settings. Since there is only one available refresh rate, nothing happened and current refresh rate wasn't changed.

So I am not really sure what doesn't work here. I am not even sure why do you exclude any refresh rates if your display only has 2 available?

ZZZXXX0110 commented 1 year ago

Thank you for the clarification, however the bug still stands, as even though no change is expected in the drop list, FN+R key does still switch the refresh rate to 30Hz upon first press, 48Hz upon 2nd press, and so on, even though these refresh rates are all selected (with check marks) in the Exclude Refresh Rates setting.

ZZZXXX0110 commented 1 year ago

Sorry for accidentally closing it. The bug is not closed yet.

BartoszCichecki commented 1 year ago

Please upload logs that show this behavior, because the one you uploaded does not.

ZZZXXX0110 commented 1 year ago

Please upload logs that show this behavior, because the one you uploaded does not.

Without knowing precisely what could be causing this problem, I did what I think could capture it on the log. That log I already uploaded was generated while I selected and de-selected refresh rates in the Exclude Refresh Rates setting, as well as switched between different refresh rates using FN+R.

I am not familiar with the nature of this problem, what else should I try to attempt to capture whatever could be causing this problem on a log?

BartoszCichecki commented 1 year ago

You wrote that:

FN+R key does still switch the refresh rate to 30Hz upon first press, 48Hz upon 2nd press

So I would like to see the log from this happening. You can also attach settings.json file (it's in the same folder as logs folder).

I understand that this is happening in dGPU mode right?

I am trying to reproduce this on my machine - we have the same model.

BartoszCichecki commented 1 year ago

I just did a test. I put my laptop in dGPU mode and configured "Exclude Refresh Rates" as follows:

Screenshot_20221208_233807

When I press Fn+R my internal display cycles correctly between 60 and 165Hz. What I realized is that it might be confusing whether the refresh rates you want to keep should be checked or not, so I will add a description to this window.

So, what I would suggest is that you make sure your configuration is the same and all should be good.