Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wildcard matching on temperature source identifier #1362

Open
kevinstampe opened this issue Dec 12, 2022 · 8 comments
Open

Wildcard matching on temperature source identifier #1362

kevinstampe opened this issue Dec 12, 2022 · 8 comments

Comments

@kevinstampe
Copy link

kevinstampe commented Dec 12, 2022

Sometimes my gpu core temp gets recognized with identifier /gpu-amd/0/temperature/0, sometimes with /gpu-amd/1/temperature/0.

I would like to either get a wildcard matching, with either a * or even regex matching would be fine. (example /gpu-amd/*/temperature/0)

Relevant hardware specs and setup
ASUS Strix x570-e mobo, Ryzen 5800, 64gb ram, Lenovo Legion RX6800xt gpu

@Rem0o
Copy link
Owner

Rem0o commented Dec 12, 2022

Ugh, the problem is that I can't do that, it won't work on multi-card setup. The number that is changing is called the adapter index. Never saw it moving like that. Do you physically swap the card from a slot to an other? Did you change drivers? Anything that might ring a bell? Do you have multiple gpus?

@kevinstampe
Copy link
Author

I only have a singular gpu, no physical swapping or anything. I have 3 pci-e devices, where only one is gpu. The other two is m.2 nvme ssds.
It happens frequently after updating amd drivers.
Do you have any obvious way of debugging this behaviour? Im a software developer, so im not afraid to dig into this.

You could just say .FirstOrDefault() on devices, this would only be for edge case handling though. So no UI support, only for manually editing in config file.

@Rem0o
Copy link
Owner

Rem0o commented Dec 12, 2022

Load up LibreHardwareMonitor, the part that look at adapter index is in here:
https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/blob/master/LibreHardwareMonitorLib/Hardware/Gpu/AmdGpuGroup.cs

@kevinstampe
Copy link
Author

I've written some sample code to test this, though i cannot test this right now. ATM my gpu is index 0, and no other hardware is found that could bump this index.
When FanControl yells at me again (happens atleast once a month), i will test this, and see what is in index 0.
I'm pretty sure it happens when i update AMD Adrenalin, though can't reproduce this by downgrading and then upgrade again.

Can we keep issue open, until my debugging is done? Thanks

@Rem0o
Copy link
Owner

Rem0o commented Dec 13, 2022

^ One of my guess is that when you upgrade adrenalin, it allocates the new driver as a new gpu, then disable the "old" one, which creates a new index until you reboot.

@kevinstampe
Copy link
Author

kevinstampe commented Dec 13, 2022

This actually happens after reboot, when i installed new driver. In one of your earlier versions, it still displayed the graphs, just with empty temp sensor.
Now it removes the graph, which makes this problem worse for me.

And the error dialogue tells me that there are no data to fetch from /gpu-amd/0/temperature/0.

This tells me that there are no device on index 0 for some reason.

But there is data present on /gpu-amd/1/temperature/0.

I still think that this could be fixed with manual explicit pattern matching in the .json file.

@Rem0o
Copy link
Owner

Rem0o commented Dec 13, 2022

^ I can't pattern match, this would break a whole lot of other stuff. Identifiers are meant to be constant, and unique, assuming fixed hardware.

@kevinstampe
Copy link
Author

And i get that, but identifiers can also be searchable in a wider context, than just static written in a file.
And when the software for the hardware shits it's bed and creates another identifier, thats not on you. It's either on AMD or on LibreHardwareMonitor - but this could be fixed with an .SingleOrDefault(). Then if null, throw usual error - if more than one is found, show another error.
Do you perhaps have the source repo public? Would love to fork it, and show what my idea is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants