Bug 281522 - [NEW PORT] sysutils/RyzenAdj: Power management tool for Ryzen mobile and embedded CPUs
Summary: [NEW PORT] sysutils/RyzenAdj: Power management tool for Ryzen mobile and embe...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Only Me
Assignee: Robert Clausecker
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-09-15 19:07 UTC by Vladyslav Movchan
Modified: 2024-11-18 06:20 UTC (History)
3 users (show)

See Also:


Attachments
New port: sysutils/RyzenAdj (2.39 KB, patch)
2024-09-15 19:07 UTC, Vladyslav Movchan
no flags Details | Diff
New port: sysutils/RyzenAdj (corrected) (2.42 KB, patch)
2024-09-16 07:50 UTC, Vladyslav Movchan
no flags Details | Diff
New port: sysutils/RyzenAdj (limited to amd64 and i386 architectures) (2.50 KB, patch)
2024-09-17 12:17 UTC, Vladyslav Movchan
no flags Details | Diff
New port: sysutils/RyzenAdj (addressed feedback) (3.09 KB, patch)
2024-11-14 16:34 UTC, Vladyslav Movchan
no flags Details | Diff
New port: sysutils/RyzenAdj (drop shared library and example scripts) (2.71 KB, patch)
2024-11-14 20:41 UTC, Vladyslav Movchan
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Vladyslav Movchan 2024-09-15 19:07:53 UTC
Created attachment 253588 [details]
New port: sysutils/RyzenAdj

RyzenAdj is a tool to view and adjust power management settings for Ryzen mobile and embedded CPUs.

I'm currently using RyzenAdj with AMD Ryzen Embedded V1756B CPU, and I would like to be a maintainer for this port.
Comment 1 Vladyslav Movchan 2024-09-16 07:50:33 UTC
Created attachment 253599 [details]
New port: sysutils/RyzenAdj (corrected)
Comment 2 Vladyslav Movchan 2024-09-17 12:17:31 UTC
Created attachment 253625 [details]
New port: sysutils/RyzenAdj (limited to amd64 and i386 architectures)

I realized it makes no sense to build the port on architectures other than amd64 and i386.
Comment 3 Robert Clausecker freebsd_committer freebsd_triage 2024-11-13 15:39:33 UTC
Thank you for your submission and I'm sorry it took me so long to review this one.  Here are some comments:

 - you don't need a DOCS option to install a README file.  In fact, I don't see
   how the README is useful at all, as it mostly contains information already
   included in the ryzenadj binary or information pertaining the installation of
   the software.
 - instead, consider installing the examples shipped with the project
 - please extend pkg-descr to at least three lines.  The file should tell the
   user why he or she might want to install the port and what features it has.
 - GH_PROJECT defaults to PORTNAME and needs not be set explicitly in this case
 - please update the port to the most recent version (0.16.0)

Port is fine otherwise and with these issues addressed, it can be committed quickly.
Comment 4 Vladyslav Movchan 2024-11-14 16:34:23 UTC
Created attachment 255173 [details]
New port: sysutils/RyzenAdj (addressed feedback)
Comment 5 Vladyslav Movchan 2024-11-14 16:34:58 UTC
(In reply to Robert Clausecker from comment #3)
Thank you for your feedback.

I did the following changes to address all the comments:
- removed the README from the package
- added examples (two Python scripts) and included libryzenadj.so, on which these scripts rely on
- extended pkg-descr with more details
- dropped GH_PROJECT
- updated the port to the most recent version

Please take a look when you have a moment.
Thank you!
Comment 6 Robert Clausecker freebsd_committer freebsd_triage 2024-11-14 16:42:14 UTC
(In reply to Vladyslav Movchan from comment #5)

Thank you for the quick update!

Ohh... totally missed the shared library.  If we want to ship it, some more work is needed and upstream needs to take care of that:

 - soname needs to be set
 - the .so.maj and .so.maj.min.plvl links needs to be added
 - USE_LDCONFIG=yes needs to be added

I think it might be a good idea then to leave examples and shared library out until upstream has added the necessary bits to the cmake files.  If you do want to ship it, these three items would need to be addressed.

What do you think?
Comment 7 Vladyslav Movchan 2024-11-14 20:41:17 UTC
Created attachment 255181 [details]
New port: sysutils/RyzenAdj (drop shared library and example scripts)
Comment 8 Vladyslav Movchan 2024-11-14 20:41:43 UTC
(In reply to Robert Clausecker from comment #6)
I agree, let's avoid including examples and shared library then.
I updated the patch.

Thank you!
Comment 9 commit-hook freebsd_committer freebsd_triage 2024-11-18 00:59:20 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=56dd14e5d77fa758ec24cd1073cb12b4bf976632

commit 56dd14e5d77fa758ec24cd1073cb12b4bf976632
Author:     Vladyslav Movchan <vladislav.movchan@gmail.com>
AuthorDate: 2024-11-14 20:32:43 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2024-11-18 00:57:52 +0000

    sysutils/RyzenAdj: New port: Power management tool for Ryzen mobile and embedded CPUs

    RyzenAdj is a tool to view and adjust power management settings for some of
    Ryzen mobile and embedded CPUs.

    One of the use cases is to "trade" CPU performance for lower temperature:
    You can set lower-than-default CPU power limit and make your computer
    (slightly) less performant, but make it (significantly) cooler and more quiet
    under load. It is not uncommon to get less than 10% performance drop after
    lowering CPU TDP by 30%.

    Another use case is for CPU overclocking hobby.

    Use at your own risk.

    WWW: https://github.com/FlyGoat/RyzenAdj

    PR:             281522

 sysutils/Makefile                 |  1 +
 sysutils/RyzenAdj/Makefile (new)  | 25 +++++++++++++++++++++++++
 sysutils/RyzenAdj/distinfo (new)  |  3 +++
 sysutils/RyzenAdj/pkg-descr (new) | 12 ++++++++++++
 4 files changed, 41 insertions(+)
Comment 10 Robert Clausecker freebsd_committer freebsd_triage 2024-11-18 01:01:59 UTC
Thank you for your contribution.
Comment 11 Vladyslav Movchan 2024-11-18 06:20:01 UTC
(In reply to Robert Clausecker from comment #10)
Your feedback and explanation were very helpful.
Thank you very much!