It is currently July 30th, 2021, 4:31 am

Gadgets 6.1.1 - inspired by AddGadgets.com Sidebar Gadgets

A package of skins with a "theme" or by a single author
User avatar
SilverAzide
Rainmeter Sage
Posts: 1383
Joined: March 23rd, 2015, 5:26 pm

Re: Gadgets 6.1.1 - inspired by AddGadgets.com Sidebar Gadgets

Post by SilverAzide »

olenbr wrote: June 13th, 2021, 1:12 am how can I get the cpu meter to show two charts, for dual CPUs?
OK, there are a couple issues to consider.

First, both Windows and the CPU Meter monitor logical cores. So Windows doesn't normally "see" two separate sockets, it just sees a bunch of cores all combined together in a single logical CPU. The CPU Meter will show up to 64 logical cores (I have not extended it beyond that [yet?], as the skin gets hard to deal width and super tall).

Second, to alter the existing skin to show dual (or more) sockets is actually rather difficult. I've been trying to do this for a long time, and I really have not gotten very far because it will essentially mean rewriting a lot of the skin logic. My approach (so far) is to create separate CPU Meters in the same manner as the separate GPU Meters, so you'd have a separate CPU Meter for each socket. This means the skin logic needs to switch to monitor physical cores and map them to logical cores (or vice versa); alternatively, a skin that is based entirely on HWiNFO (like the GPU Meters) would make this simpler, but so far I have not tried this approach.

So to answer your exact question, you CAN create two charts for two sockets, but the solution would only work for you. Basically, increase the height of the CPU Meter and tack on a second graph at the bottom. Then, assign/move the Line meters corresponding to the logical CPUs that apply to socket 1 to one graph, and assign the Line meters for the cores corresponding to socket 2 to the other. (So add a graph and re-position some of the existing line meters; it is actually not terribly difficult.) But remember that the skin is still limited to 64 logical cores, so if you have more cores than that you'll need to do a lot more work.

In the back of my mind, someday I would like to have the ability for the CPU Meter to handle multi-socket machines, but so far I have not gotten very far due to the amount of effort involved. Perhaps I'll start on this if there is a lot of interest out there...
Gadgets Wiki GitHub More Gadgets...
APK17
Posts: 3
Joined: June 21st, 2021, 11:39 pm

Re: Gadgets 6.1.1 - inspired by AddGadgets.com Sidebar Gadgets

Post by APK17 »

Some how my CPU Meter (AMD Ryzen 9) has started showing 0% utilization on all cores all the time. I'm not sure what I did to bugger it up. Any ideas what I should check or reset?

Thank you

Edit: The chart shows CPU usage.
User avatar
SilverAzide
Rainmeter Sage
Posts: 1383
Joined: March 23rd, 2015, 5:26 pm

Re: Gadgets 6.1.1 - inspired by AddGadgets.com Sidebar Gadgets

Post by SilverAzide »

APK17 wrote: June 21st, 2021, 11:41 pm Some how my CPU Meter (AMD Ryzen 9) has started showing 0% utilization on all cores all the time. I'm not sure what I did to bugger it up. Any ideas what I should check or reset?

Thank you

Edit: The chart shows CPU usage.
Sounds like a classic case of a corrupted performance counter database. The good news is it's not your fault and you can blame Microsoft... sometimes it just happens. :confused: But the best news is that it's super easy to fix:

HOW TO: Fix your Performance Counters database
Gadgets Wiki GitHub More Gadgets...
olenbr
Posts: 25
Joined: December 30th, 2017, 4:58 am

Re: Gadgets 6.1.1 - inspired by AddGadgets.com Sidebar Gadgets

Post by olenbr »

SilverAzide wrote: June 22nd, 2021, 12:29 am Sounds like a classic case of a corrupted performance counter database. The good news is it's not your fault and you can blame Microsoft... sometimes it just happens. :confused: But the best news is that it's super easy to fix:

HOW TO: Fix your Performance Counters database
hey, could you pls help me, i'm getting stuck on trying to get chart to show correct sensors on the corresponding CPU.

I first duplicated CPU meter and have a 2nd meter, call it ALL CPU METER2.ini. it still loads everything else the same but in that file I replaced all "CPU0" with "CPU1" and then refresh the meter, still no luck, both meter show loads the same on same processor.

in 2nd screenshot I compare HWINFO.inc side by side, the CPU1 and CPU0 values are both the same?

not sure what I am missing here.
You do not have the required permissions to view the files attached to this post.
User avatar
SilverAzide
Rainmeter Sage
Posts: 1383
Joined: March 23rd, 2015, 5:26 pm

Re: Gadgets 6.1.1 - inspired by AddGadgets.com Sidebar Gadgets

Post by SilverAzide »

olenbr wrote: June 24th, 2021, 12:40 am hey, could you pls help me, i'm getting stuck on trying to get chart to show correct sensors on the corresponding CPU.

I first duplicated CPU meter and have a 2nd meter, call it ALL CPU METER2.ini. it still loads everything else the same but in that file I replaced all "CPU0" with "CPU1" and then refresh the meter, still no luck, both meter show loads the same on same processor.

in 2nd screenshot I compare HWINFO.inc side by side, the CPU1 and CPU0 values are both the same?

not sure what I am missing here.
Sure, I can try to help. It looks like you've duplicated the skin correctly and renamed all the variables properly, so all seems OK there. However, from the partial screenshot you posted of the HWiNFO.inc file, it appears you have not remapped the HWiNFO sensor IDs to the proper CPU. Both sets of CPU0/CPU1 variables are all pointing at CPU #0 sensors.

To clarify what I mean, notice the line HWiNFO-CPU1-DTS-SensorInstance=0x0 in the comparison right pane. This is the same as the left side. I am just guessing, but I bet that should be HWiNFO-CPU1-DTS-SensorInstance=0x1, or something like that. You need to make sure your HWiNFO mappings are pointing at the proper CPU instance (per the Shared Memory Viewer).

Let me know how it goes!
As an aside, unless you need to stick to using the old HWiNFO, you might want to upgrade and make these changes to the 6.x Gadgets (requires HWiNFO 7.x, however). They properly report CPU utilization when using boost mode, and especially if you ever use NUMA mode with your CPUs. I've also taken a few preliminary steps to making the CPU Meter work with dual sockets, in that all you need to change in the second CPU Meter skin is a single variable (just set CpuIndex=1). You'll still need to rework the LUA code, but it is essentially the same changes.
:)
Gadgets Wiki GitHub More Gadgets...
olenbr
Posts: 25
Joined: December 30th, 2017, 4:58 am

Re: Gadgets 6.1.1 - inspired by AddGadgets.com Sidebar Gadgets

Post by olenbr »

SilverAzide wrote: June 24th, 2021, 3:04 am Sure, I can try to help. It looks like you've duplicated the skin correctly and renamed all the variables properly, so all seems OK there. However, from the partial screenshot you posted of the HWiNFO.inc file, it appears you have not remapped the HWiNFO sensor IDs to the proper CPU. Both sets of CPU0/CPU1 variables are all pointing at CPU #0 sensors.

To clarify what I mean, notice the line HWiNFO-CPU1-DTS-SensorInstance=0x0 in the comparison right pane. This is the same as the left side. I am just guessing, but I bet that should be HWiNFO-CPU1-DTS-SensorInstance=0x1, or something like that. You need to make sure your HWiNFO mappings are pointing at the proper CPU instance (per the Shared Memory Viewer).

Let me know how it goes!
As an aside, unless you need to stick to using the old HWiNFO, you might want to upgrade and make these changes to the 6.x Gadgets (requires HWiNFO 7.x, however). They properly report CPU utilization when using boost mode, and especially if you ever use NUMA mode with your CPUs. I've also taken a few preliminary steps to making the CPU Meter work with dual sockets, in that all you need to change in the second CPU Meter skin is a single variable (just set CpuIndex=1). You'll still need to rework the LUA code, but it is essentially the same changes.
:)
hey thanks for checking. does this apply to all the 0x0 IDs? that simply a change to 0x1? because some core temp are 0x000006 so im not sure what to do there.

also I understand its the missing/wrong link to ID, but how can I find the right ID to start with? is there a file that store these value?
olenbr
Posts: 25
Joined: December 30th, 2017, 4:58 am

Re: Gadgets 6.1.1 - inspired by AddGadgets.com Sidebar Gadgets

Post by olenbr »

ok found out something wrong, not sure if its because dual CPU causing this.

by default, fresh install of gadgets 6.1.1 and default CPU meter. the temps and frequency is on CPU0, but the usage (load/status bar) is on CPU1.

I did a test with some benchmark and monitor it with Hwinfo, temp and clocks of CPU0 reflects on the gadgets but shows 0 usage. not sure where to begin fixing this lol

EDIT:
ok made some progress but stuck at a few things and unsure where to locate these to change, please have a look at this video.

https://streamable.com/rddt2q

in the video, I am using another software called throttlestop to control CPU0 and CPU1 individually by setting affinity. when CPU1 is running, you can see both meters 0 (right side) and meter 1 (left side) have usage bar but in reality only CPU1 is running. video shows Hwinfo CPU1 and 0 usage as well as the temp on meter 0 doesnt change at all even when theres load.

vice versa using 2nd instance of throttlestop to control CPU1, load doesn't show but temperature increases due to load on meter 0. I am stuck here and I tried changing a bunch of value doesn't seem to reflect at all.

another part im stuck at, is the title of meter. meter 0, I input "CPU 0 Meter" and it shows correctly, in the same field for other CPU meter (a different .ini file), :CPU 1 Meter" but it just doesn't change. removing the category does remove the name/title so im not sure whats going on.
User avatar
SilverAzide
Rainmeter Sage
Posts: 1383
Joined: March 23rd, 2015, 5:26 pm

Re: Gadgets 6.1.1 - inspired by AddGadgets.com Sidebar Gadgets

Post by SilverAzide »

olenbr wrote: June 24th, 2021, 3:20 am hey thanks for checking. does this apply to all the 0x0 IDs? that simply a change to 0x1? because some core temp are 0x000006 so im not sure what to do there.

also I understand its the missing/wrong link to ID, but how can I find the right ID to start with? is there a file that store these value?
Whoa, whoa, whoa... hold up a sec.

For the 5.x Gadgets (or any skin that uses HWiNFO 6.x), you must use the Shared Memory Viewer (SMV) to configure the skin. Based on your question, it seems like you have not done this; it is critical that you get this working first. There are very detailed instructions at the top of the HWiNFO.inc file, and you MUST follow them exactly. Using the instructions and the Shared Memory Viewer, you can configure the skins to show temps, fans, etc. The SMV is opened by clicking the HWiNFO icon in the Settings skin.

For the 6.x Gadgets, the configuration of the skin and HWiNFO 7.x settings is much simpler. You must follow the instructions here and here. Don't skip any steps, and if you don't understand something, feel free to post your questions here and I (or someone) will be happy to help.

Once you get everything working with the CPU Meter, only THEN should you proceed to get a second skin working (or modify the main one). You must have a firm grasp of the concepts here (mapping HWiNFO sensors to Rainmeter measures, logical vs. physical CPUs, etc.) otherwise you are going to have a difficult time.
Gadgets Wiki GitHub More Gadgets...
User avatar
SilverAzide
Rainmeter Sage
Posts: 1383
Joined: March 23rd, 2015, 5:26 pm

Re: Gadgets 6.1.1 - inspired by AddGadgets.com Sidebar Gadgets

Post by SilverAzide »

olenbr wrote: June 24th, 2021, 4:12 am ok found out something wrong, not sure if its because dual CPU causing this.

by default, fresh install of gadgets 6.1.1 and default CPU meter. the temps and frequency is on CPU0, but the usage (load/status bar) is on CPU1.

I did a test with some benchmark and monitor it with Hwinfo, temp and clocks of CPU0 reflects on the gadgets but shows 0 usage. not sure where to begin fixing this lol

EDIT:
ok made some progress but stuck at a few things and unsure where to locate these to change, please have a look at this video.

in the video, I am using another software called throttlestop to control CPU0 and CPU1 individually by setting affinity. when CPU1 is running, you can see both meters 0 (right side) and meter 1 (left side) have usage bar but in reality only CPU1 is running. video shows Hwinfo CPU1 and 0 usage as well as the temp on meter 0 doesnt change at all even when theres load.

vice versa using 2nd instance of throttlestop to control CPU1, load doesn't show but temperature increases due to load on meter 0. I am stuck here and I tried changing a bunch of value doesn't seem to reflect at all.

another part im stuck at, is the title of meter. meter 0, I input "CPU 0 Meter" and it shows correctly, in the same field for other CPU meter (a different .ini file), :CPU 1 Meter" but it just doesn't change. removing the category does remove the name/title so im not sure whats going on.
Very cool video! It looks like you have the temps working. Now you are getting to the hard part.

The behavior you are seeing is because the both skins are most likely only monitoring CPU #0. The CPU Meter skin configures itself using a Lua script. This Lua script deals with logical cores, not physical cores. It configures all the CPU, temp, and fan measures based on which 3rd-party monitor you have. The Lua code loops through all your logical cores (starting with 0 and going to 63), so you would need to alter all this logic so it loops based on the physical socket, NUMA node, etc. This is not trivial, which is why I have not done it already.

For your own custom skins, I'd suggest you don't use the Lua -- just configure the skins for HWiNFO only, and alter them so they display your cores based on which sockets they are for. In other words, just use the HWiNFO measures (delete/ignore all the CoreTemp and SpeedFan stuff). For "CPU 0 Meter", enable the measures that correspond to cores 0 to 27 (in your case). For "CPU 1 Meter", enable the same measures but change them to report on cores 28 to 55 -- in other words, [MeasureCPU1] should point to core 28 (not core 0).

Just as a suggestion, it would be much simpler if you did not try to create two socket-based skins. As I mentioned in my earlier post, it would be much much easier for you to simply add a second graph to the existing skin. That way the Lua code and all the logic can remain intact. The only thing you would need to change is which cores show on which graph. To do this, find the variable BgHeight; change the "46" value (which is the height of the grid image) to "92" or "46 * 2" (whichever you want). This will add space for a second graph (you might need to add a pixel or two later to adjust any spacing). Find the [MeterGraphBackground] meter, and create a duplicate (with a different name, like MeterGraphBackground2) and place it AFTER all the Line meters (due to relative positioning). Set the Y value of this new meter to Y=(#GridPosY# + 46). Then move the meters [MeterLineCore64] to [MeterLineCore29] after this new graph meter. Change/add the Y value for the MeterLineCore64 meter to Y=1r so it is positioned on the second graph (you don't need to fix all the line meters, just the first one, due to relative positioning). When you are done, cores 1-28 will show on the first graph, cores 29-56 will show on the second (cores 57-64 will not show since they are not present). I'd try this first, and if you don't like it, THEN I'd try to go the two-skins route. (Which does look very cool, LOL.)

Here is an example what I mean. This took like 2 minutes to do, so it's not perfect, but it's the easy way.
You do not have the required permissions to view the files attached to this post.
Gadgets Wiki GitHub More Gadgets...
olenbr
Posts: 25
Joined: December 30th, 2017, 4:58 am

Re: Gadgets 6.1.1 - inspired by AddGadgets.com Sidebar Gadgets

Post by olenbr »

SilverAzide wrote: June 24th, 2021, 1:13 pm
hey thanks a lot of helping me check into it. I do agree with you the two graphs look pretty awesome lol.

I tried out changing the values you mentioned with no luck, probably just me not understanding the code/layout. but I gave it a try with the new meter code and some unexpected behavior is happening LOL. heres another video: https://streamable.com/5kayvn

the one more transparent is the new .ini duo xeon one, so Im trying to compare that and the old CPU meter to see what you did but the usage bar showing correctly now which is huge, now the temps aren't showing for some reason LOL. I'll try editing this new ini to get the layout similar to the other one but it is still only showing 28 cores/threads for some reason.


EDIT:
ok some update, looks like really weird things going on here. take a look at this video: https://streamable.com/9k698u

for ease of use I created a simple batch file with commands to restart rainmeter rather than refresh, as refresh sometimes don't update, but restarting program does.

taskkill /F /IM rainmeter.exe
start /min "" "C:\Program Files\Rainmeter\Rainmeter.exe"

as you can see from the video, each time I restart without changing the codes, the duo xeon .ini would sometimes show the wrong CPU usage and sometimes reverts to the correct usage. in the first video it must have been showing the correct one so I didnt catch it till later.