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

Porting this solution to Linux #1

Closed
LightTreasure opened this issue Nov 26, 2024 · 3 comments
Closed

Porting this solution to Linux #1

LightTreasure opened this issue Nov 26, 2024 · 3 comments

Comments

@LightTreasure
Copy link

Hi, you are one of the few people who know this space well enough to have solved this issue - to the point that it was merged into LibreHardwareMonitor.

I wanted to ask if you'd be interested in making a similar solution for Linux? Check out this discussion talking about the same issue on Linux: frankcrawford/it87#11

Naively, it seems to me that the core idea of your solution (overriding the Gigabyte custom fan control code on the 8792 chip so that it goes back to listening to standard fan control commands) would be OS-independent. The difference in approach would be to use the appropriate OS-specific API to access the 8792 chip's memory.

Of course, that is just based on my naive understanding of how this all works. What do you think?

@javs
Copy link
Owner

javs commented Nov 28, 2024

Hey! Yeah, it's been something in my list for a while. I've certainly read frank's code and issue #11 in there, but I do appreciate the ping. I've recently migrated a system with a GB motherboard to linux, so I may try to look at this sometime soon.

Regarding the technical details, I think hardware wise you are correct, it's definitely doable. There is nothing we do in LHM that would be unique to windows, it would only change the way we do it. The question is how to do it.

The method used in LHM touches the PCI and LPC buses in order to access the chip's ram. One can probably just raw write to the PCI related registers within it87 and it would work as a proof of concept, but in linux this may not be ideal since there are other kernel mods that likely handle that. Plus it's still an AMD specific solution, and no one has written the Intel side.

I wanted to take a look at the ACPI tables to see if there is any chance GB has defined a WMI object for this. This would certainly make things easier, as we could just use https://github.com/torvalds/linux/blob/master/drivers/platform/x86/gigabyte-wmi.c, but last I checked some years ago I couldn't find anything (and also GB's own software doesn't have any indication there is something).

@LightTreasure
Copy link
Author

Thanks for replying! I wonder if I could help with this - I have some systems programming experience and I'd love to dig in deeper. Is the code in this repo doing similar things as the LHM implementation?

Also if you'd like to close this issue, please feel free to do so!

@javs
Copy link
Owner

javs commented Nov 29, 2024

Hey, sure! whatever you can do.

Some info:

  1. Recap comment Problem with ITE IT8792E/IT8795E - values are ignored LibreHardwareMonitor/LibreHardwareMonitor#251 (comment)
  2. Later in the same thread, someone found a new IO port in their newer AMD motherboards

Most of this was found by observing what GB services do on windows.

My discord is in my github profile if there is something I can help with.

@javs javs closed this as completed Nov 29, 2024
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