ocerman / zenmonitor

Zen monitor is monitoring software for AMD Zen-based CPUs.
MIT License
251 stars 28 forks source link

Zen3 (Ryzen 5000) support #36

Open hattedsquirrel opened 3 years ago

hattedsquirrel commented 3 years ago

After patching zenpower as described in ocerman/zenpower#39 I got zenmonitor working on a Ryzen 5000 series processor as well. Zen3 is familiy 19h. Everything else seems to be similar to the previous versions.

--- zenmonitor.orig/src/zenmonitor.c    2020-12-22 02:41:39.829243703 +0100
+++ zenmonitor/src/zenmonitor.c 2020-12-22 02:42:42.942690906 +0100
@@ -10,6 +10,7 @@

 #define AMD_STRING "AuthenticAMD"
 #define ZEN_FAMILY 0x17
+#define ZEN3_FAMILY 0x19

 // AMD PPR = https://www.amd.com/system/files/TechDocs/54945_PPR_Family_17h_Models_00h-0Fh.pdf

@@ -31,7 +32,7 @@
     __get_cpuid(1, &eax, &ebx, &ecx, &edx);

     ext_family = ((eax >> 8) & 0xF) + ((eax >> 20) & 0xFF);
-    if (ext_family != ZEN_FAMILY){
+    if (ext_family != ZEN_FAMILY && ext_family != ZEN3_FAMILY){
         return FALSE;
     }

Screenshot_20201222_023353

JT8D-17 commented 3 years ago

Can confirm that this patch works on my 5800X as well.

Great work, thank you!

(You should totally make a pull request out of this.)

Phylante commented 3 years ago

Works with the 5900X too image Thank you very much.

worzel910 commented 3 years ago

Works fine here too! 5950x

Much appreciated.

nguyenkhaithinh commented 3 years ago

I also followed the patch as in ocerman/zenpower#39. My CPU is 5950x and I do not overclock my CPU. As in the attached photo, one of the core reached 11GHz! is this a bug? zen_monitor

ghost commented 3 years ago

zenpower3 and zenmonitor3 are actively maintained forks of this project that have Zen 3 support.

foolnotion commented 3 years ago

@Ta180m zenpower/zenmonitor already works with the patches mentioned in the comments above. Could you explain what else was changed/improved besides that in your fork? Thanks

ghost commented 3 years ago

I can merge new pull requests, unlike this project which is inactive. For example, I merged the four pending PRs for zenmonitor to my fork.