Closed SylEleuth closed 1 year ago
Hello, Have you try to restart plasma or simply logout/login after update widget ?
First thing I did after update.
Ok,
Could you check the log with journalctl /usr/bin/plasmashell -e
OR by running in isolated environment with plasmawindowed org.kde.resourcesMonitor-fork
?
If no error, could follow this step :
org.kde.plasma-systemmonitor
GPU 1 usage
in sensorshighPrioritySensorIds
).
NOTE: the file is saved in ~/.local/share/plasma-systemmonitor/
Thanks by advance
Journalctl:
May 04 14:27:15 archlinux plasmashell[325591]: QQmlEngine::setContextForObject(): Object already has a QQmlContext
May 04 14:27:15 archlinux plasmashell[325591]: QQmlEngine::setContextForObject(): Object already has a QQmlContext
May 04 14:27:15 archlinux plasmashell[325591]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/configuration/ConfigurationAppletPage.qml:38:5: QML Loader: Binding loop detected for property "height"
May 04 14:27:15 archlinux plasmashell[325591]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/configuration/ConfigurationAppletPage.qml:38:5: QML Loader: Binding loop detected for property "height"
May 04 14:27:37 archlinux plasmashell[325591]: qml: temp unit: 0
May 04 14:27:39 archlinux plasmashell[325591]: QQuickItem::stackAfter: Cannot stack TabButton_QMLTYPE_120(0x5628c5e30c60, parent=0x5628c2d45870, geometry=0,0 0x0) after TabButton_QMLTYPE_120(0x5628c5e1d1e0), which must be a sibling
May 04 14:27:39 archlinux plasmashell[325591]: QQuickItem::stackAfter: Cannot stack TabButton_QMLTYPE_120(0x5628c5e66ce0, parent=0x5628c2d45870, geometry=0,0 0x0) after TabButton_QMLTYPE_120(0x5628c5e30c60), which must be a sibling
May 04 14:27:39 archlinux plasmashell[325591]: QQuickItem::stackAfter: Cannot stack TabButton_QMLTYPE_120(0x5628c5e5fd90, parent=0x5628c2d45870, geometry=0,0 0x0) after TabButton_QMLTYPE_120(0x5628c5e66ce0), which must be a sibling
May 04 14:27:39 archlinux plasmashell[325591]: QQuickItem::stackAfter: Cannot stack TabButton_QMLTYPE_120(0x5628c5e924e0, parent=0x5628c2d45870, geometry=0,0 0x0) after TabButton_QMLTYPE_120(0x5628c5e5fd90), which must be a sibling
May 04 14:27:39 archlinux plasmashell[325591]: file:///home/eleuth/.local/share/plasma/plasmoids/org.kde.plasma.mediacontroller_plus/contents/ui/ExpandedRepresentation.qml:45:5: QML Connections: Implicitly defined onFoo properties in Conne>
plasmawindowed org.kde.resourcesMonitor-fork:
file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/InlineMessage.qml:257:13: QML SelectableLabel: Binding loop detected for property "implicitWidth"
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.linechart/contents/ui/FullRepresentation.qml:22:1: QML FullRepresentation: Binding loop detected for property "implicitHeight"
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.linechart/contents/ui/FullRepresentation.qml:22:1: QML FullRepresentation: Binding loop detected for property "implicitHeight"
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.linechart/contents/ui/FullRepresentation.qml:22:1: QML FullRepresentation: Binding loop detected for property "implicitHeight"
file:///usr/lib/qt/qml/org/kde/ksysguard/page/EditablePage.qml?page=overview.page:256:5: QML Loader: Binding loop detected for property "height"
file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/InlineMessage.qml:257:13: QML SelectableLabel: Binding loop detected for property "implicitWidth"
QProcess: Destroyed while process ("/usr/lib/ksysguard/ksgrd_network_helper") is still running.
org.kde.ksysguard.plugin.network: Helper process terminated abnormally: ""
"There are still \"5\" items in the process of being created at engine destruction."
In isolated env there was no gpu either. But what I noticed that on-hover labels stopped working also. But they are working in isolated as they should.
There is something wrong with org.kde.plasma-systemmonitor. Isolated doesn't work (blank window, no options), and when on the panel after saving there is no plasma-systemmonitor folder in pointed directory. They are saved somewhere because I can see them in the "Load presets" options. Also gpu doesn't show either so it might be something on my side.
Ok so the log show nothings special.
For org.kde.plasma-systemmonitor
is not an widget but its an app (Sytem Monitor). And the widget and that app use same lib for data so if that app doesn't have data it's logic for widget doesn't have it.
What is your GPU card ? if its "integrated GPU" or "hybrid GPU" or something like that, maybe ksysguard
doesn't support it.
I just upgraded as well and I'm experiencing this same issue. My GPU is a RX 7900XTX and I'm able to add GPU monitors in System Monitor that work just fine however the same metrics are not showing up in this widget.
Sorry for misunderstanding. I've created a new page in org.kde.plasma-systemmonitor:
[Face-94689495845552][Appearance]
chartFace=org.kde.ksysguard.piechart
[Face-94689495845552][Sensors]
totalSensors=["gpu/gpu0/usage"]
[page]
Title=GPU 1 usage
icon=ksysguardd
loadType=
margin=2
[page][row-0]
Title=
heightMode=balanced
isTitle=false
name=row-0
[page][row-0][column-0]
name=column-0
noMargins=
showBackground=true
[page][row-0][column-0][section-0]
face=Face-94689495845552
isSeparator=false
name=section-0
No highPrioritySensorIds
. What I've missed.
My card is Radeon RX 570.
Just opened a game and widget shows gpu info.
maybe ksysguard doesn't support it
It worked yesterday.
Hum, that wierd.
Could you try to add sensors for "Total video memory", " Used video memory" and "temperature" (or set totalSensors
to ["gpu/gpu0/totalVram","gpu/gpu0/usage","gpu/gpu0/usedVram","gpu/gpu0/temperature"]
) and check if all data is present (especially tue "total video memory").
For that field highPrioritySensorIds
that is normal, this depend on where you define sensors in GUI.
If all data the only way i found to debug that is to have some log added in this method : https://github.com/orblazer/plasma-applet-resources-monitor/blob/d0dc2dc5fab61d26dc8c90a0284dd2e2a0d913b3/package/contents/ui/components/graph/GpuGraph.qml#L65-L78
print(value)
print(maxMemory)
I also digging on my side, this is just for accelerate the resolution.
Thanks.
Could you try to add sensors for "Total video memory", " Used video memory" and "temperature" (or set totalSensors to ["gpu/gpu0/totalVram","gpu/gpu0/usage","gpu/gpu0/usedVram","gpu/gpu0/temperature"]) and check if all data is present (especially tue "total video memory").
I've added console logs just to see it better myself:
console.log("value:", value)
console.log("MaxMemory:", maxMemory)
And configured it to only show gpu info.
Results:
qml: value: undefined
qml: 0
qml: value: undefined
qml: value: 8589934592
Where the second log come from (qml: 0
) ?
And are you that is the value for last log ? because that corresponds to 8 PiB of memory :sweat_smile:
And the issue seam to come from that function because max memory and the sensors seem to never sets.
Could you try with that code (replace all code inside onValueChanged
) :
// Update values
const valueVar = parseInt(value);
console.log("value:", valueVar)
if (isNaN(valueVar) || valueVar === 0) {
return;
}
enabled = false;
maxMemory = valueVar;
// Update graph Y range and sensors
root.uplimits = [100, plasmoid.configuration.gpuMemoryInPercent ? 100 : maxMemory];
root.sensorsModel.sensors = ["gpu/gpu0/usage", "gpu/gpu0/usedVram", "gpu/gpu0/temperature"];
Even less information now:
kf.i18n: KLocalizedString: Using an empty domain, fix the code. msgid: "Plasma Windowed" msgid_plural: "" msgctxt: ""
kf.i18n: KLocalizedString: Using an empty domain, fix the code. msgid: "Makes the plasmoid stay alive in the Notification Area, even when the window is closed." msgid_plural: "" msgctxt: ""
kf.i18n: KLocalizedString: Using an empty domain, fix the code. msgid: "Force loading the given shell plugin" msgid_plural: "" msgctxt: ""
kf.i18n: KLocalizedString: Using an empty domain, fix the code. msgid: "The applet to open." msgid_plural: "" msgctxt: ""
kf.i18n: KLocalizedString: Using an empty domain, fix the code. msgid: "Arguments to pass to the plasmoid." msgid_plural: "" msgctxt: ""
kf.plasma.quick: Applet preload policy set to 1
kf.plasma.core: requesting config for "Resources Monitor (fork)" without a containment!
Using KRun from QML is deprecated (since 5.88). Use Qt.openUrlExternally, or the KIO::OpenUrlJob/KIO::ApplicationLauncherJob classes from C++ instead.
qml: 0
I have no idea what that qml: 0 is. It wasn't there before.
And why the output is different than here? I used the same command: plasmawindowed org.kde.resourcesMonitor-fork
.
I have no idea why this is different :sweat_smile: and the qml: 0
look like come from plasmawindowed
itself.
And could you share the page from your previous screenshot ? because in that you seem to have information (in center of graph).
Also for confirm that work in 2.8.0-hotfix.1
?
I didn't think about testing previous version but it works with 2.8.0-hotfix.1
.
GPU page:
[Face-94917313221072][Appearance]
chartFace=org.kde.ksysguard.piechart
[Face-94917313221072][SensorColors]
gpu/gpu0/usedVram=25,254,44
[Face-94917313221072][Sensors]
highPrioritySensorIds=["gpu/gpu0/usedVram"]
lowPrioritySensorIds=["gpu/gpu0/temperature"]
totalSensors=["gpu/gpu0/totalVram"]
[page]
Title=GPU
icon=ksysguardd
loadType=
margin=2
[page][row-0]
Title=
heightMode=balanced
isTitle=false
name=row-0
[page][row-0][column-0]
name=column-0
noMargins=
showBackground=true
[page][row-0][column-0][section-0]
face=Face-94917313221072
isSeparator=false
name=section-0
Hum i think that could be caused by Sensors.Sensor
, because i only use for GPU graph and in fact that is only change from 2.8.0
(i previously use Sensors.SensorDataModel
).
So could you try to replace L59-L79 in GpuGraph.qml
by this following code :
Sensors.SensorDataModel {
id: maxQueryModel
sensors: ["gpu/gpu0/totalVram"]
enabled: true
property int maxMemory: -1
onDataChanged: {
// Update values
const valueVar = parseInt(data(topLeft, Sensors.SensorDataModel.Value));
console.log("value:", valueVar)
if (isNaN(valueVar) || valueVar === 0) {
return;
}
enabled = false;
maxMemory = valueVar;
// Update graph Y range and sensors
root.uplimits = [100, plasmoid.configuration.gpuMemoryInPercent ? 100 : maxMemory];
root.sensorsModel.sensors = ["gpu/gpu0/usage", "gpu/gpu0/usedVram", "gpu/gpu0/temperature"];
}
}
Still nothing. And no additional output in terminal.
If "value" log doesn't appear that it's because the graph is not enabled. And I presume that because it's doesn't appear in your previous comment.
I'm stupid. I turned it off just to check something. With the code above it finally works properly. This is how it shows memory when it's set to show as percentage: And graph is on 100%.
Ok perfect, I go to fix all things and release by the end of day. Thanks for helping me to fix the bug.
No problem. Glad I could help. And thank You for the awesome widget.
Hum one more things @SylEleuth, could you just add this code at L53 :
console.log("value:", data.value, "> in", sensorsModel.getInfo(1, Sensors.SensorDataModel.Unit));
console.log("max", uplimits[1], "> in", maxQueryModel.data(maxQueryModel.index(0, 0), Sensors.SensorDataModel.Unit));
Thanks.
If I run it when option "show in percent" was already set:
qml: value: 1152237568 > in 100
qml: max 100 > in 100
qml: value: 1152245760 > in 100
qml: max 100 > in 100
qml: value: 1196785664 > in 100
qml: max 100 > in 100
qml: value: 1187323904 > in 100
qml: max 100 > in 100
qml: value: 1187323904 > in 100
qml: max 100 > in 100
qml: value: 1202589696 > in 100
qml: max 100 > in 100
qml: value: 1205211136 > in 100
qml: max 100 > in 100
qml: value: 1165864960 > in 100
qml: max 100 > in 100
When I run it without that option and set it while running:
qml: value: 1167241216 > in 100
qml: max -2147483648 > in 100
qml: value: 1167241216 > in 100
qml: max -2147483648 > in 100
qml: value: 1167241216 > in 100
qml: max -2147483648 > in 100
qml: value: 1167241216 > in 100
qml: max -2147483648 > in 100
qml: value: 1167241216 > in 100
qml: max -2147483648 > in 100
qml: value: 1167241216 > in 100
qml: max -2147483648 > in 100
qml: value: 1167241216 > in 100
qml: max -2147483648 > in 100
In first case instead of percent there is long number and graph is under the roof (last screenshot). In second case percentage is a negative number (but not correct in any way, something like -0.5% with 1GB usage).
Ok, for percent i have found the issue, i'm just stupid :sweat_smile:
Thanks you for your reactivity, that is now completely fix.
If you want you can try the unrelease version by cloning the repo un running ./scripts/test.sh
.
After the last update (4th May 2023) GPU stopped showing anything.