New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GPU undervolting does not work on Thinkpad X1 Carbon Gen 6 #185
Comments
Can you post a monitor reading under full load? |
I ran With GPU undervolt set to
With GPU undervolt set to
|
Actually the GPU power usage went down by about 2W. There is no official documentation about the actual GPU voltage boundaries, I guess that there might be a maximum ratio between CPU and GPU voltage. We should test this on XTU and see what happens. |
I take that back. It does work and it instantly crashes with a -1050 mV adjustment. I guess I stopped just short of the crashing threshold when I reported the original bug. I'll post benchmarking results of glmark2 vs voltage offset soon. |
Hmm, still this sounds me like a bug. It is kind of impossible that your GPU can work at -1V offset voltage. On XTU I get an instant reboot on -500mV |
So, I've done some tests both on Windows and Linux. I see that you have set throttled like this:
Now, there is a long standing bug that I need to address (I guess next week) that is related to the labels for these voltage planes. Actually, from Skylake on the UNCORE plane is actually iGPU Unslice and ANALOGIO is SystemAgent, which is mostly the memory controller. Now, iGPU Unslice is a seciton of the GPU which is not dependent on the Execution Units, for instance the video encode/decode units. The processor can selectively enable and disable the execution units, leaving only the Unslice section active, like when you are just playing a movie full screen to save power. I suspect that the iGPU and iGPU Unslice planes are bound and the processor "choose" the higher voltage of the two. If you try lowering both at the same time you should get freezes much much sooner. -900mV offset means that you are actually working near 0V which is clearly impossible. I don't know how you measured the performance in your chart but the vertical axis scale is a bit misleading since there is only a 5% difference from min to max values. Have you repeated the test multiple times? Did you leave time for the laptop to cool down between tests? |
I kept the laptop hot between tests since there were only a few milliseconds between tests. I documented some more here: https://adamgradzki.com/2020/04/03/thinkpad-gpu-undervolt/ |
I am running the following on my ThinkPad X1C6: Linux thinkpad-x1c 5.8.0-arch1-1 #1 SMP PREEMPT Mon, 03 Aug 2020 18:43:29 +0000 x86_64 GNU/Linux
So far this is running stable. Has there been any new info on the GPU voltage variable? |
nszceta commentedMar 28, 2020
•
edited
Expected behavior: system crash, lock-up, or freeze upon enabling -999 mV GPU voltage adjustment at idle and/or while running
gputest /benchmark
and on AC power. I am only testing adjustments made while on AC power in AC power related settings of lenovo_fix.confActual behavior: nothing happens when a -999 mV GPU adjustment is applied. The other parameters seem to work under various stress and mprime test scenarios. I have adjusted CORE, CACHE, UNCORE parameters and encountered the expected system crashes during my experimentation. Additionally, HWP_Mode and cTDP adjustments seem to be applied.
System details:
Command line:
Configuration file:
Debug dump:
Hardware information:
The text was updated successfully, but these errors were encountered: