-
-
Notifications
You must be signed in to change notification settings - Fork 14.7k
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
ryzen_smu: init at 0.1.5, ryzen_monitor_ng: init at 2.0.5 #271342
Conversation
Tested on a 5900X CPU in a clevo laptop. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would like to introduce these two patches to support Phonix and Rembrandt.
Cryolitia-Forks@9aecdf4#diff-2cc356432ce45563cde8df0d10e36f41c3524284e9ceb526c281f3a61219ffdaR44
Would you like to co-maintain the module ryzen-smu, together. I take the liberty of making this request. I would be honored if you would accept it.
version = "0.1.5"; | ||
|
||
src = fetchFromGitLab { | ||
owner = "mann1x"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please tell us why you choose a fork instead of the origin repo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The ryzen_smu programs have gone through a lot of forks themselves.
ryzen_smu is the original ryzen_smu. It included monitor_cpu
. ryzen_monitor extended monitor_cpu
and ryzen_monitor_ng extended ryzen_monitor
.
To support ryzen_monitor_ng, mann1x
forked ryzen_smu
but hasn't merged the changes. See here and here.
However, when I built ryzen_monitor_ng
from mann1x's repo it wouldn't run because of a version mismatch in libsmu
. kvic-z's fork of ryzen_monitor_ng corrects the version mismatch and adds Matisse.
The patches you suggest come from yet another fork.
I do like your approach of patching the original repos. I hope it doesn't lead to conflicts between mann1x's
fork and moson-mo's
. Worth a try, even if it leads to a lot of patches.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's so complex that I have just realized. I have noticed that the origin repo hasn't updated since half year ago. Do you think if it's a good idea that we maintain a fork in person, picking PRs and testing, then releasing.
Anyway, please at least leave a comment in the Nix packaging source code about it as long as you choose a repo which is not the origin one. Otherwise, other people who don't see this discussion would get confused.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is looking like we will need to maintain a repo with all the patches. PRs are not getting merged upstream quickly. Are you willing to set up the repo? I will change the src
if you do.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To support ryzen_monitor_ng,
mann1x
forkedryzen_smu
but hasn't merged the changes. See here and here.
I have noticed the same commits with different sha256 in mann1x's repo and leogx9r's repo, such as https://gitlab.com/leogx9r/ryzen_smu/-/commit/e61177d0ddaebfaeca52094b20a2289287a0838b and https://gitlab.com/mann1x/ryzen_smu/-/commit/adaf53c77dc68b99643ab7af729eb9c592cf5e01. Has it already rebased or I miss something other place.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is looking like we will need to maintain a repo with all the patches. PRs are not getting merged upstream quickly. Are you willing to set up the repo? I will change the
src
if you do.
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/ryzenadj-and-ryzen-smu/31326/4 |
I would be happy to co-maintain it with you. Given the number of forks and patches that ryzen_smu uses, I'll need the help. Your patches contain some better nix code than I have written, but it looks like you wrote it independently to this PR. May I pull in the relevant parts of your patches and merge/squash/rebase the whole PR? |
Feel free to use my source code ^_^ |
Tested on multi AMD processors, results here: https://gitlab.com/leogx9r/ryzen_smu/-/merge_requests/12#note_1704774029 TLDR: Each processor has different issues, and no one processor has all the features working properly. |
Thanks @Cryolitia, I have updated this PR with your recommendations. The patches apply cleanly to the If it looks good to you, I will squash the commits down for a clean merge. |
Please test |
Just because that I have found other interesting PRs , such as https://gitlab.com/leogx9r/ryzen_smu/-/merge_requests/13 It's unacceptable to add more and more patches for a dead repo. And It will be a disaster one day these patches conflict. |
please change this PR's title to |
tested PhDyellow@9221b58 |
Thanks for testing. It looks like the patches aren't working yet. Can you share the output of:
|
Ah, got it! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lgtm. Please squash your commits.
Why this suggested change was reverted? #271342 (comment) |
Sorry, the nixos module should be added in another commit (not package), and follow commit conventions in https://github.com/NixOS/nixpkgs/tree/master/nixos#commit-conventions |
Thanks for catching that, I didn't mean to revert that.
Makes sense, I will split up the commits as soon as I can. |
A Linux kernel driver that exposes access to the SMU (System Management Unit) for certain AMD Ryzen Processors. Contains monitor_cpu, a userspace tool for viewing info. Using fork of original to match ryzen_monitor_ng, a more advanced userspace tool for accessing the SMU via this kernel module, planned for a later commit.
Provide a module for installing ryzen_smu, a Linux kernel driver that exposes access to the SMU (System Management Unit) for certain AMD Ryzen Processors. Installs monitor_cpu, a userspace tool for viewing info. Using fork of original to match ryzen_monitor_ng, a more advanced userspace tool for accessing the SMU via this kernel module, planned for a later commit.
A userspace tool for setting and getting AMD CPU power and performance parameters. Relies on the ryzen_smu kernel module.
A userspace tool for setting and getting AMD CPU power and performance parameters. The module adds `ryzen_monitor_ng` to `environment.systemPackages` and enables the `ryzen-smu` module, as `ryzen_monitor_ng` requires the `ryzen_smu` kernel module to function.
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
Description of changes
ryzen_monitor_ng is a tool for monitoring power information on desktop AMD processors.
It can also set parameters for the CPU, so can offer some of the features of Ryzen Master on Linux.
It depends on the linux kernel driver ryzen_smu.
ryzen_smu includes a userspace program
monitor_cpu
.https://gitlab.com/mann1x/ryzen_smu
https://github.com/mann1x/ryzen_monitor_ng
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Priorities
Add a 👍 reaction to pull requests you find important.