-
Notifications
You must be signed in to change notification settings - Fork 12
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
Request: MMIO adjustments #2
Comments
Hello,
Sure, definitely will give a try. Actually I just brought a i9-19200H tablet few months ago, MMIO PL1/PL2 is exactly what I'm planning to experiment in next few days, since my full-time job is finishing soon. But there may have some obstacles, I have googled a bit, it seems that we lack of opensource libs that can read/write mmio. I found WinIO, but it is a legacy lib without proper signed driver, which means, windows had to run in debug mode (a debug string will appear at desktop) or disabling driver signing (not sure it still can be disabled on Win10/11). Anyway, will give it a try. BTW, seems I can read/write address
It is Nvidia cards related? I'm interested too, googled but did not help. 👻 |
For what it's worth, it sounds like the Windows Debug Kit may have a semi-open-source method to modify MMIO/MSR that you could look into with rdmsr, wrmsr and devcon. From my super quick investigation into it, devcon.exe can run standalone without having to install the rest of the devkit. I am at work currently, but I can definitely share all of my currently-used MSR-CMD and RW commands with some documentation on what they are/what portions of the keys do what. Granted, this is on intel 11th gen and below - I have not tested on 12th gen at all yet. As for the GPU clocks, no this is actually for intel Xe. Surprisingly powerful, able to run new AAA games at 720p/medium-low settings, but has some exponential power draw at higher clock speeds and really likes to stretch its legs. Control/God of War for example can run at 45 FPS using 1100Mhz at around 8-9W GPU power draw, but if you don't limit, it will use 1300Mhz-1400Mhz (depending on your chip) 14-19W and still only hit around 45 FPS. |
https://github.com/namazso/physmem_drivers think you'd get anywhere with any of these drivers? the hwrwdrv seems to be used with a program similar to rweverything https://github.com/Faintsnow/HE unfortunately this one doesn't seem to accept external command line inputs and the last one in the list the evga driver is used on one of my desktops to change tdp in mmio |
I found some sample code: gonna try it tomorrow |
@Hyatice just a quick report here, seems that it just worked. 👻 |
Hi, @ciphray I'm writing a program to adjust power limits. I saw your comment and I have two questions. 1You use rw 2The result of I tried these commands and addresses, and they seem to be correct, but I still want to figure out what I'm missing. |
For question 2, address should be 4 aligned, aka, The contents read from |
@cocafe Thank you! Big help! |
😉 |
@Hyatice you can return RWE back into play - open |
Hi!
I'm not sure how possible this is, but with Windows cracking down on RWE, it would be nice to have a reliable tool to adjust MMIO values as well as MSR values.
A few of the things that I previously had to use RWE for:
PL1 and PL2 - these are written in multiple places, and depending on the manufacturer MSR-CMD is enough, though certain programs will still report the power limit as what is set in MMIO/BIOS.
GPU Max Clock Speed - these are written exclusively in MMIO, and are incredibly important for maximizing battery life for handheld/portable computers.
Thanks for any consideration and time you put into this.
The text was updated successfully, but these errors were encountered: