Skip to content

feat: added it87-extras for improved lm-sensors compatibility with some Gigabyte motherboards #261

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

grandpares
Copy link

Description

This recipe installs it87-extras, a packaged version of frankcrawford/it87 adding support for some Gigabyte motherboards. This package does not replace mainline it87 but installs a blacklist file for it as a dependency (contained in copr/grandapres/it87-extras/it87-extras-common).

Usecase

The primary purpose of the controllers this driver enables is PWM control of case fans, which is important for gaming systems. Therefore, this will be useful in Bazzite.

Issues

For most systems unsupported in the mainline, forcing controller ID when modprobing the driver and acpi_enforce_resources=lax are both necessary. Since the chip ID depends on the motherboard, and acpi_enforce_resources=lax is potentially destructive, neither should be set by default. A justfile that looks at the output of setup-sensors and then sets the necessary kargs is a possible solution, although I'm not sure where I could contribute one. However, users on unsupported systems should not experience any degradations compared to the mainline driver if these kargs are not set (their PWM controllers won't work in both cases).

Testing

I have tested that this module builds and installs from copr to akmod in Fedora 40 (mutable). Additionally, it builds from source, loads, and works as expected in aurora:stable. I wasn't sure if the akmods repo build actions are safe to run for testing, but if so, I can verify the image builds before merging. Currently, the copr repo is set to build from my fork of the module while I'm waiting for the upstream to review a PR containing the copr spec files.

@grandpares
Copy link
Author

Looks like the build workflows must be triggered before review anyway, updated pr to ready to review to allow maintainer to trigger
Thank you for maintaining this project. Please reach out with any additional questions via this pull request.

@grandpares grandpares marked this pull request as ready for review October 29, 2024 01:40
@grandpares grandpares requested a review from castrojo as a code owner October 29, 2024 01:40
@bsherman
Copy link
Contributor

bsherman commented Nov 2, 2024

@KyleGospo @HikariKnight @antheas

Have you discussed the inclusion of this kmod. If we were to merge would it get installed in Bazzite?

I think that's the critera for "extra" kmod additions at this point: "Does Bazzite plan to ship it?"

@KyleGospo
Copy link
Member

I'd consider it, first time seeing this.

@bsherman
Copy link
Contributor

bsherman commented Nov 2, 2024

@grandpares as is this doesn't actually build, your new build script needs to be added to the Containerfile.extra .

That will at least get it building for validation while the Bazzite team takes a look.

@grandpares grandpares marked this pull request as draft November 2, 2024 22:00
@grandpares
Copy link
Author

Done, can you re-run build checks to make sure everything works @bsherman ?

@grandpares
Copy link
Author

grandpares commented Nov 3, 2024

Okay, I think I know what's going on with the build failures. Purged some old builds that were messing with version control and renamed variables in the spec, seems to pick up the kernel version that akmods passes now. Hopefully this will fix it.

@grandpares
Copy link
Author

@bsherman could you rerun the build checks to make sure everything builds now?

@grandpares grandpares marked this pull request as ready for review January 6, 2025 15:23
@grandpares
Copy link
Author

@castrojo @bsherman I've finally found some time to test-build the entire akmods image with this included and resolve buildtime issues. Everything should build now. Thus marking this ready for review again.
As of right now, I'm not loading this module automatically when installed because it can require extra setup on the user's part depending on their mb. That being said, if you want this to change and the module to be modprobed on boot, this can be done via a copr update, will not require changes to this repo, and should work for most cases.
Additionally, including this apparently resolves #191.

@Toetje585
Copy link

This would also allow me to get better fan control on my custom build BD790I running Bazzite-Deck. Would be cool to see this happening.

@Stefkeys
Copy link

Is this still being reviewed for merging into main branch?

@ledif
Copy link
Member

ledif commented Mar 29, 2025

There is a merge conflict in test-prep.sh which needs to be resolved before the CI can run. @grandpares are you able to resolve that conflict?

@grandpares
Copy link
Author

@ledif Looks like the upstream architecture has changed somewhat since the last sync, I'll try to reconcile and push a commit this weekend

@dosubot dosubot bot added the size:XL This PR changes 500-999 lines, ignoring generated files. label Mar 30, 2025
@grandpares grandpares marked this pull request as draft March 30, 2025 21:17
@grandpares grandpares closed this Mar 30, 2025
@grandpares grandpares reopened this Mar 30, 2025
@grandpares grandpares marked this pull request as ready for review March 30, 2025 21:27
@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. enhancement New feature or request and removed size:XL This PR changes 500-999 lines, ignoring generated files. labels Mar 30, 2025
@bsherman bsherman requested review from KyleGospo and m2Giles March 31, 2025 02:26
Copy link
Member

@ledif ledif left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Build seems to be passing. LGTM.

@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Mar 31, 2025
Copy link
Contributor

@bsherman bsherman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ublue-os/approver

I'm indifferent to the addition of this on technical grounds, the script, code, etc, seems to match everything we are doing elsewhere. I don't have strong opinion on the kernel module itself.

My concerns are about supply chain and long term maintenance.

  1. I only think this should be merged if Bazzite or another ublue org downstream projects intends to ship it. That's a bit hard to tell from the context of the PR. It doesn't close an issue. It wasn't requested in Github from any of our projects, so if it was requested in Discord, ok, but we don't have a way to see that in Github.
  2. We have been pushing back on adding any new 3rd party COPR repos and the upstream for this is a personal COPR. So, if agreed we want this, this is a known exception to our process.

NOTE: We do still have some 3rd COPRs/git repos in here... eg HikariKnight (but a ublue-approver)... mulderje, where I think I raised same concern and got overruled. :-) ssweeny, I think I was told that's an official System76 account...

So... leaving this here. I'm not going to fully block inclusion, but I won't approve for these reasons.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request lgtm This PR has been approved by a maintainer size:M This PR changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants