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
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]
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.