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

Ryzen 3000 (AM4) display/reporting improvements #144

Closed
BillFleming opened this issue Jul 23, 2020 · 1 comment
Closed

Ryzen 3000 (AM4) display/reporting improvements #144

BillFleming opened this issue Jul 23, 2020 · 1 comment
Assignees
Labels
wontfix Nothing can be done to fix the issue

Comments

@BillFleming
Copy link

Describe the bug/Expected behavior
There is some inconstant/wrong information displayed on Ryzen 9 CPUs. In the attached screenshot I show the latest CPU-X running on 3900x and 3950x in both normal user and using sudo.
3950x is in X370 Asrock Pro Gaming X, 3900x is in x570 Asrock ITX/TB3. Both PCs are using kernel 5.7.7-17-tkg-pds and bios 1.0.0.4 patch B.

During the course of getting the log files I noticed one machine had an older version of the libcpuid. So I provided extra logs and a screenshot after updating. This updated lib made both machines match more closely when run with sudo. However I still think some things could be improved. It appears that there is some issue with the way that libcpuid is on AUR so it didn't update on one of of my machines. I had to uninstall it and re-install it to get it to update.
So the take-away is that maybe the next release should require an updated library or put a warning text somewhere that your libcpuid is out of date.

Then I have the following ideas to improve the display:

  • Hide voltage when not run with root permissions
  • Make the package naming consistent. Would be really nice to be consistent with cpuz. I believe it says "Socket AM4(1331)".
  • With the new libcpuid be consistent with package names. It shows PGA-1331 when not run as root, but only shows AM4 when run as root. As with the other suggestions it should be hidden when not run as root if we can't get an accurate display.
  • Hide the code name when not run with root unless you figure it out correctly some other way.
  • List libcpuid version next to the cpu-x version at the bottom: Something like: "CPU-X Version 4.01 / libusbid Version 0.5.0"
  • Remove the multiplier range on ryzen 3000 for now if we can't get an accurate reading. You will see that 3900x shows higher multi than 3950x, but both ranges are lower than the actual multi being used.
  • Would be really nice to have proper ryzen logos like cpu-z has. After beating my wallet up I would like to see the nice red logos to match my build colors and LEDs.
  • Put a donation link somewhere so I can send you beer money.

Additional information

  • Operating system name and version: Arch
  • CPU-X installation type: AUR cpu-x 4.01

CPU-X dump
cpu-x
3950x-updated-libcpuid
3900x-cpu-x.log
3950x-cpu-x.log
3950x-updated-libcpuid-cpu-x.log
3900x-cpu-x-daemon.log
3950x-cpu-x-daemon.log
3950x-updated-libcpuid-cpu-x-daemon.log

@TheTumultuousUnicornOfDarkness
Copy link
Owner

First of all, thank you for your interest. Sorry for not responding sooner, this issue is complex and I am thinking about it since months. Finally, I made some decisions.

It appears that there is some issue with the way that libcpuid is on AUR so it didn't update on one of of my machines. I had to uninstall it and re-install it to get it to update.

I maintain libcpuid and libcpuid-git packages on AUR, but if there is a problem with these packages, you should write a comment on AUR.
How do you update your AUR packages? If you use an AUR helper, maybe it comes from it.

Hide voltage when not run with root permissions

Labels should be empty if value is not available. Voltage value can be read from hwmon without root permissions.

Make the package naming consistent. Would be really nice to be consistent with cpuz. I believe it says "Socket AM4(1331)".

In fact, package name is given by dmidecode (which requires root permissions to work). The value comes from DMI table (dmidecode -t4, Socket Designation) and can differ depending on motherboard. Otherwise it comes from an internal database.
Sorry but I don't plan to write code to make package naming consistent, because it is hard to find a large number of samples.

Hide the code name when not run with root unless you figure it out correctly some other way.

Code name is provided by libcpuid and doesn't require root permissions to work.
I think you are talking about the Ryzen 3950X: yes, with libcpuid v0.4.1, it shows EPYC (Naples) as codename and it's wrong. Zen 2 has been added to libcpuid v0.5.0, that's why the value is correct after the update.
"unless you figure it out correctly" it is the purpose of libcpuid updates...

List libcpuid version next to the cpu-x version at the bottom: Something like: "CPU-X Version 4.01 / libusbid Version 0.5.0"

No, sorry: libcpuid provides information only for CPU tab, not for others.
Version numbers are provided by cpu-x -V and are useful for bug reporting.

Remove the multiplier range on ryzen 3000 for now if we can't get an accurate reading. You will see that 3900x shows higher multi than 3950x, but both ranges are lower than the actual multi being used.

These values are read from CPU MSR and are correct. They are non-boost values for AMD CPUs.
You will see the same things with other tools, like lscpu for instance:

Model name:                      AMD Ryzen 5 3600X 6-Core Processor
Stepping:                        0
Frequency boost:                 enabled
CPU MHz:                         4222.992
CPU max MHz:                     3800.0000
CPU min MHz:                     2200.0000

Would be really nice to have proper ryzen logos like cpu-z has. After beating my wallet up I would like to see the nice red logos to match my build colors and LEDs.

It required to add complexity in code, but it someone is interested by doing this, I'm not against it.

Put a donation link somewhere so I can send you beer money.

And that's the point that made me take a long time to answer... I don't do this for money, I do this because I want to contribute to the FLOSS community.
It's kind to you, but I don't want people to pay me, I don't want to feel indebted to them.
In fact, I made an announcement about the future of this project.

So to conclude, I plan nothing to fix this issue, and I prefer to close it. I'll update some markdown files at least.

@TheTumultuousUnicornOfDarkness TheTumultuousUnicornOfDarkness added wontfix Nothing can be done to fix the issue and removed enhancement labels Jan 3, 2021
TheTumultuousUnicornOfDarkness added a commit that referenced this issue Jan 3, 2021
TheTumultuousUnicornOfDarkness added a commit that referenced this issue Jan 3, 2021
TheTumultuousUnicornOfDarkness added a commit that referenced this issue Jan 3, 2021
@TheTumultuousUnicornOfDarkness TheTumultuousUnicornOfDarkness closed this as not planned Won't fix, can't repro, duplicate, stale May 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix Nothing can be done to fix the issue
Projects
None yet
Development

No branches or pull requests

2 participants