Hy I finished my first skin that I created from scratch. I din't want to use any plugin, so I used a lot of undokumented Measures, mainly from the UsageMonitor. Took me lot of research to figure out what does what. So if some could check if thouse Measures work on your machines that would be great.
The Skin is quite smal just 12Kb.
THX
It is currently April 28th, 2024, 2:13 am
Debugging
-
- Posts: 49
- Joined: December 16th, 2020, 8:30 am
- Location: Switzerland
Debugging
You do not have the required permissions to view the files attached to this post.
-
- Rainmeter Sage
- Posts: 16182
- Joined: October 11th, 2010, 6:27 pm
- Location: Gheorgheni, Romania
Re: Debugging
Seem to work for me, all of them.
What I'd do:
- Seems not to worth to update the Fox\INFO FOX\INFO Fox.ini skin, because usually the shown information (CPU manufacturer and / or model and so on) don't change over time. That's why I probably would replace the Update=1000 option of the [Rainmeter] section with Update=-1. Using this option, the skin is never updated (excepting the very first moment after refresh / load), but this is not even needed.
- Not sure I understand the reason of the skins included into the Fox\Tangram FOX\ config. I don't see what are they doing.
- Additionally the measures of the Fox\Tangram FOX\Fox.ini skin ([MeasureCPU], [MeasureRAM] and [MeasureGPU]) are not used at all and as such you should remove them.
Congratulations, keep working and improving the skins.
-
- Posts: 92
- Joined: July 18th, 2020, 1:23 am
- Location: California
Re: Debugging
Most everything works for me - two things:
- For INFO Fox and GPU Fox, instead of having:
SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001 for my system, the info is instead in
SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000
If I change those keys to 0000, it fixes 4 of the 5 issues. I don't know if 0000 or 0001 is the 'standard' but if you find that people are split between them, you should be able to use a measure to check which key is populated, and use !SetVariable to apply the correct key. - The only one that doesn't work with the above minor modifications is [getVRAM] linked to HardwareInformation.qwMemorySize. The Registry measure only supports REG_SZ and REG_DWORD and not REG_BINARY. I'm not sure if there's a Rainmeter-only way to convert a binary to a string or number.
You do not have the required permissions to view the files attached to this post.
Last edited by Alex88 on July 8th, 2022, 9:11 am, edited 2 times in total.
-
- Posts: 49
- Joined: December 16th, 2020, 8:30 am
- Location: Switzerland
Re: Debugging
@balala
thank you for the feedback, I will clean up the code. The Fox.ini was the first I did, just to try and play around, I havent touched it since a while. the INFO fox change makes sence.
@Alex88
thank you, I checked your key, I have there a Microsoft Hyper-V Video in the Driver.desc I asume, that since I have an Intel CPU which has a intigrated GPU Unit, that the 0000 value is for that intigrated GPU. As far as I know Ryzen does not have a GPU (correckt me if I'm wrong) on the Chip. This might be the issue
So I would kneed to set the variable accordingly, I will have to dig into that.
About the VRAM it should get 8GB according to your screen, dont know what the issue is there.
thank you for the feedback, I will clean up the code. The Fox.ini was the first I did, just to try and play around, I havent touched it since a while. the INFO fox change makes sence.
@Alex88
thank you, I checked your key, I have there a Microsoft Hyper-V Video in the Driver.desc I asume, that since I have an Intel CPU which has a intigrated GPU Unit, that the 0000 value is for that intigrated GPU. As far as I know Ryzen does not have a GPU (correckt me if I'm wrong) on the Chip. This might be the issue
So I would kneed to set the variable accordingly, I will have to dig into that.
About the VRAM it should get 8GB according to your screen, dont know what the issue is there.
-
- Posts: 49
- Joined: December 16th, 2020, 8:30 am
- Location: Switzerland
Re: Debugging
@alex88
what is your DriverDesc Value in that key.
For the GPU Fox I tryed this fix.
it workes for me, but I can't test it on a ryzen system.
the file below should fix the INFO Fox.ini
what is your DriverDesc Value in that key.
For the GPU Fox I tryed this fix.
Code: Select all
[getVRAM0000]
Measure=Registry
RegHKey=HKEY_LOCAL_MACHINE
RegKey=SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000
RegValue=HardwareInformation.qwMemorySize
[getVRAM0001]
Measure=Registry
RegHKey=HKEY_LOCAL_MACHINE
RegKey=SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001
RegValue=HardwareInformation.qwMemorySize
[CheckProviderName]
Measure=Registry
RegHKey=HKEY_LOCAL_MACHINE
RegKey=SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000
RegValue=ProviderName
IfMatch=Microsoft
IfMatchAction=[!SetOption calcVRAM Formula "(getVRAM0001)/1073741824"]
IfNotMatchAction=[!SetOption calcVRAM Formula "(getVRAM0000)/1073741824"]
IfMatchMode=1
[calcVRAM]
Measure=Calc
the file below should fix the INFO Fox.ini
You do not have the required permissions to view the files attached to this post.
-
- Rainmeter Sage
- Posts: 16182
- Joined: October 11th, 2010, 6:27 pm
- Location: Gheorgheni, Romania
Re: Debugging
For me it is SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001, however the name of the key is not HardwareInformation.qwMemorySize, but HardwareInformation.MemorySize ([getVRAM] measure).Alex88 wrote: ↑December 29th, 2020, 6:51 am
- For INFO Fox and GPU Fox, instead of having:
SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001 for my system, the info is instead in
SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000
If I change those keys to 0000, it fixes 4 of the 5 issues. I don't know of 0000 or 0001 is the 'standard' but if you find that people are split between them, you should be able to use a measure to check which key is populated, and use !SetVariable to apply the correct key.
-
- Posts: 49
- Joined: December 16th, 2020, 8:30 am
- Location: Switzerland
Re: Debugging
HardwareInformation.MemorySize is the DWORD so 32bit
HardwareInformation.qwMemorySize is the QWORD so 64bit
so anybody that has more then 4GB of VRAM uses the QWORD
hmm so for GPU's with less then 4GB I will need to do a set option to. did not think about that.
how do i set two ifmatch
HardwareInformation.qwMemorySize is the QWORD so 64bit
so anybody that has more then 4GB of VRAM uses the QWORD
hmm so for GPU's with less then 4GB I will need to do a set option to. did not think about that.
how do i set two ifmatch
Last edited by sa1nt4ch on December 29th, 2020, 3:31 pm, edited 1 time in total.
-
- Rainmeter Sage
- Posts: 16182
- Joined: October 11th, 2010, 6:27 pm
- Location: Gheorgheni, Romania
Re: Debugging
Oh, I see. Makes sense...
-
- Posts: 92
- Joined: July 18th, 2020, 1:23 am
- Location: California
Re: Debugging
For my DriverDesc it shows the GPU name, Radeon RX 580 Series: And that Info FOX works for me: What you could do for all of the 0000 and 0001 measures, or any pair of measures that would share the same space, is to apply Substitute="^0$":"" and RegExpSubstitute=1 to those measures, making both 0000 and 0001 measures for each. Like in the above picture, if the key is empty or missing, it will return 0, so that Substitute will then change it from 0 to displaying nothing. Then you can stack the display of both the 0000 and 0001 measures, and it will automatically show the correct one. That seems to be the fastest fix, and you can also add UpdateDivider=-1 on all of them so that they don't update after the initial update (connected to the last paragraph). So the measures and the meter could work like this:
Code: Select all
[getProviderName0000]
Measure=Registry
RegHKey=HKEY_LOCAL_MACHINE
RegKey=SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000
;RegValue=ProviderName
RegValue=DriverDesc
Substitute="^0$":""
RegExpSubstitute=1
UpdateDivider=-1
[getProviderName0001]
Measure=Registry
RegHKey=HKEY_LOCAL_MACHINE
RegKey=SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001
;RegValue=ProviderName
RegValue=DriverDesc
Substitute="^0$":""
RegExpSubstitute=1
UpdateDivider=-1
...
[MetergetGPUname]
Meter=String
MeterStyle=AllStyle
StringAlign=Right
MeasureName=getProviderName0000
MeasureName2=getProviderName0001
Text=%1%2
X=590
Y=260
Angle=0.785
DynamicVariables=1
I just see that in the main [Rainmeter] section of Info FOX, you have Update=1 (update every millisecond). Should that be Update=1000 (1000ms = update once a second)? Or for Info FOX specifically, it seems that you can just do Update=-1 since nothing needs to be periodically updated. Edit: I reread above and see balala already suggested it, so you probably just missed the - in Update=-1.
You do not have the required permissions to view the files attached to this post.
-
- Posts: 49
- Joined: December 16th, 2020, 8:30 am
- Location: Switzerland
Re: Debugging
Great to hear, did the Fix for the GPU Fox also work?And that Info FOX works for me:
About the Substitute I didn't know that one. But I think it will not work in this case. For bouth values in my case return some thing. If the 0000 value on an Intel System is indeed the one chip GPU then moste PC will have a value set there, what I dont know is if its always Microsoft.
But I will try your Substitute Method on the GPU fox for the DWord Value, for GPU's with less then 4gb VRAM.
and thx for the pointer yes I missed the -
PS: I did some reading, and the 4xxx Ryzen have a Graphics Chip on them to so I wonder what that Value is there.
You do not have the required permissions to view the files attached to this post.