Closed 1usmus closed 2 years ago
Hi @1usmus, thanks for reporting.
The -f
aka --from-registry
option is for dumping Windows Registry "Soft Power Play" data, normally set by MorePowerTool. The argument for that option is the full path to the existing SYSTEM
registry database file, usually found under C:\Windows\System32\config\SYSTEM
.
It's been a while sine I've touched Windows, but I believe you need to use following syntax:
pip install upp
upp --from-registry C:\Windows\System32\config\SYSTEM dump
or if you want to run directly form source tree:
C:\Users\1usmus\Desktop\upp-0.1.6\src> python.exe -m upp.upp --from-registry C:\Windows\System32\config\SYSTEM dump
If that doesn't work, try putting the path to the SYSTEM in double quotes or simply copying the SYSTEM file to the same dir where you are executing the python command or something.
Please note that I've only tested this option under Linux, with Windows OS NTFS partition mounted on /mnt
, so this should work as expected:
sudo pip3 install upp
upp --from-registry /mnt/Windows/System32/config/SYSTEM dump
If you still have issue with --from-registry
or dump
when running upp in Windows, I can try to fix it when I'm in proximity of a real desktop (might take some weeks), in the mean time feel free to boot your machine with something like Manjaro USB live distro, mount your Windows system partition to /mnt
and try that last command.
Cheers!
Got it, thanks!
Can I talk to you in private? How can I do that?
I can not get the table from the registry
If you need just pp_table, it's much easier to get it via WMI, and you could directly read/write from/to registry avoiding temp files.
I can not get the table from the registry
If you need just pp_table, it's much easier to get it via WMI, and you could directly read/write from/to registry avoiding temp files.
Yes, that's right I'm just interested in the PP table. Can you give me a hint?
In any case the PP table will exist everywhere if the corresponding key has not been entered in the registry. I think this is also true for WMI.
I tested this in PS console, though transfering it to the C# .NET would be pretty straightforward
$amd_drv = Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\000*'
$amd_drv.PP_PhmSoftPowerPlayTable
You probably need PP_CNEscapeInput as well (voltage slider value stored here)
PS: and btw there's no such path ControlSet001...
PPS: ...\Class\ uuid\0000 not necessarily your GPU. In my PC it's Microsoft virtual adapter and ...\0001 is 6800XT.
I tested this in PS console, though transfering it to the C# .NET would be pretty straightforward
$amd_drv = Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\000*' $amd_drv.PP_PhmSoftPowerPlayTable
You probably need PP_CNEscapeInput as well (voltage slider value stored here)
PS: and btw there's no such path ControlSet001...
PPS: ...\Class\ uuid\0000 not necessarily your GPU. In my PC it's Microsoft virtual adapter and ...\0001 is 6800XT.
The path will be completely different for Windows, ADL only knows how to specify it individually for existing adapters. Also freshly installed driver is not contain PP table. So unfortunately the clean PP table can only be obtained from the BIOS dump.
Also freshly installed driver is not contain PP table
Yep.
The PowerPlay table is actually being parsed on boot time by the drivers in both Linux and Windows, meaning that the whole structure should be in kernel memory space all the time. The table's particular memory space is exposed via sysfs In Linux, but I am not familiar if there is any user-accessible interface in Windows driver that exposes the table. But at the end of the day you can always use upp to extract the PowerPlay table from the card's ROM dump (should work even with partial dumps).
the clean PP table can only be obtained from the BIOS dump.
Afaik, the actual pp_table is part of the smu ppt, that has it in structure tables. And we could have get it just by respective request. Perhaps we need kernel driver for this, similar to the one used by cpu utils. The question is, does anyone went trough this path?
Hi! I can not get the table from the registry, there are a number of these errors. What am I doing wrong?
C:\Users\1usmus\Desktop\upp-0.1.6\src>python.exe -m upp.upp --from-registry=dummy.pp_table dump