Cryolitia / ryzen_smu

GNU General Public License v2.0
2 stars 1 forks source link

AMD Ryzen 7950x not PM Table #1

Open AndreiIvanilov opened 2 months ago

AndreiIvanilov commented 2 months ago

image

Hi. I use Debian kernel 6.7.12-1 MX linux. CPU AMD Ryzen 7950X motherboard MSI X670 Carbon WIFI

PhDyellow commented 2 months ago

Upstream has not been updating the project lately, so newer AMD CPUs may not work.

Have you tried sudo monitor_cpu -f? It might just work anyway.

Also try installing ryzen_monitor_ng, a project that extends monitor_cpu.

AndreiIvanilov commented 2 months ago

Компания Upstream в последнее время не обновляла проект, поэтому новые процессоры AMD могут не работать.

Попытался ли ты sudo monitor_cpu -f? В любом случае это может сработать.

Также попробуйте установить ryzen_monitor_ngпроект, который расширяет monitor_cpu.

image

image

Hi. And thank you for responding. Yes, I've tried various things, but all to no avail. I can't track my system properly. Zenmonitor3 doesn't work either(((( The only thing I could do was to add sensors from the controller. The 7950x is a very powerful processor needs monitoring.

Cryolitia commented 2 months ago

Just for a tips, https://gitlab.com/leogx9r/ryzen_smu/-/merge_requests/12 added the support of Phoenix, maybe you could try to modify the source code by refering this PR.

monitor_cpu has already broken on Phonix, use ryzenadj instead.

Cryolitia commented 2 months ago

Unfortunately, I set up this repo just for maintaining this for NixOS, I have no ability to work for a new platform. I would appreciate it if there's anyone could update it.

Cryolitia commented 2 months ago

CC @amkillam if you have any idea please tell us with honest gratefulness

AndreiIvanilov commented 2 months ago

It would also be good to add to Ryzen smu the possibility to overclock the processor, which is realized by https://github.com/romangrechin/py_ryzen_smu. I have tested it and it works well. Yes, I understand that Ryzen smu has it implemented, but Roman Grechin simplified it.

image

I tested Ryzen 3900x

AndreiIvanilov commented 2 months ago

image image

AndreiIvanilov commented 2 months ago

Eh, too bad...looks like no one can help @FlyGoat @amkillam @patrickschur.

FlyGoat commented 2 months ago

Eh, too bad...looks like no one can help @FlyGoat @amkillam @patrickschur.

Hmm, how can I help?

AndreiIvanilov commented 2 months ago

Eh, too bad...looks like no one can help @FlyGoat @amkillam @patrickschur.

Hmm, how can I help?

Hi.Thanks for responding need help with Ryzen 7950x and ryzen_smu. Ryzen_smu does not support 7950x because it does not know its PM_Table. We can't monitor the processor and overclock. many people have written already in different GitHub threads but no one does or has been inactive for a long time. If you can do it, please help us or tell us what we need and how to do it.

image

mann1x commented 2 months ago

Hi. And thank you for responding. Yes, I've tried various things, but all to no avail. I can't track my system properly. Zenmonitor3 doesn't work either(((( The only thing I could do was to add sensors from the controller. The 7950x is a very powerful processor needs monitoring.

Had not time lately to update ryzen_smu and ryzen_monitor_ng, sorry :(

I can easily add support for SMU commands but for the PMT will take quite some time. And I'd also need support from people testing it.

AndreiIvanilov commented 2 months ago

Hi. And thank you for responding. Yes, I've tried various things, but all to no avail. I can't track my system properly. Zenmonitor3 doesn't work either(((( The only thing I could do was to add sensors from the controller. The 7950x is a very powerful processor needs monitoring.

Had not time lately to update ryzen_smu and ryzen_monitor_ng, sorry :(

I can easily add support for SMU commands but for the PMT will take quite some time. And I'd also need support from people testing it.

Hi, I'm willing to take any tests..I can also imagine remote access.

mann1x commented 2 months ago

Hi, I'm willing to take any tests..I can also imagine remote access.

The only 7000 user that ever tested it for me, wasn't able to load ryzen_smu. Try with the 0.1.5 on https://gitlab.com/mann1x/ryzen_smu Can you properly load it?

I will try to release a new ryzen_monitor_ng with support for Raphael. The current version on GH doesn't support it but I should be able to release something quickly. I was reworking the CPU initialization function but it's not ready.

Then in ryzen_monitor_ng there's a script to dump the PMT tables under idle and load. Maybe open an issue on ryzen_monitor_ng repo and we can follow up there.

AndreiIvanilov commented 2 months ago

Hi, I'm willing to take any tests..I can also imagine remote access.

The only 7000 user that ever tested it for me, wasn't able to load ryzen_smu. Try with the 0.1.5 on https://gitlab.com/mann1x/ryzen_smu Can you properly load it?

I will try to release a new ryzen_monitor_ng with support for Raphael. The current version on GH doesn't support it but I should be able to release something quickly. I was reworking the CPU initialization function but it's not ready.

Then in ryzen_monitor_ng there's a script to dump the PMT tables under idle and load. Maybe open an issue on ryzen_monitor_ng repo and we can follow up there.

image image image image image image

AndreiIvanilov commented 2 months ago

For some reason it doesn't work, I tried other builds of the project ...they were working ...at least they showed up in dmesg

mann1x commented 2 months ago

What is the output of lsmod | grep smu?

Not sure why but it doesn't display anything on my dmesg output too... but it works.

What is the output of cat /sys/kernel/ryzen_smu_drv/drv_version?

AndreiIvanilov commented 2 months ago

image

cat /sys/kernel/ryzen_smu_drv/drv_version no folder and file

mann1x commented 2 months ago

cat /sys/kernel/ryzen_smu_drv/drv_version no folder and file

Odd, I have to check what I did wrong on the logging side. It's failing the initialization but we can't see why.

AndreiIvanilov commented 2 months ago

cat /sys/kernel/ryzen_smu_drv/drv_version no folder and file

Odd, I have to check what I did wrong on the logging side. It's failing the initialization but we can't see why.

I think the error is in my system. I've been making too many changes. I will reinstall the clean release and write to you later.

AndreiIvanilov commented 2 months ago

cat /sys/kernel/ryzen_smu_drv/drv_version no folder and file

Odd, I have to check what I did wrong on the logging side. It's failing the initialization but we can't see why.

image image

Hi. The code turned out to be not working. @romangrechin made ryzen_smu drivers readable and added 7950x to it ..he will add his fix soon. But ryzen monitor is not working. it shows wrong data.....

mann1x commented 2 months ago

Hi. The code turned out to be not working. @romangrechin made ryzen_smu drivers readable and added 7950x to it ..he will add his fix soon. But ryzen monitor is not working. it shows wrong data.....

Ah perfect, I can update ryzen_monitor to use the version with the fix when available. Let me know. But I need the export of the powertable under idle/load with the script in ryzen_monitor.

AndreiIvanilov commented 2 months ago

Привет. Код оказался нерабочим.@romangrechinсделал драйверы ryzen_smu читабельными и добавил к ним 7950x... скоро он добавит свое исправление. Но монитор ryzen не работает. показывает неверные данные.....

Отлично, я могу обновить ryzen_monitor, чтобы использовать версию с исправлением, когда она будет доступна. Дайте мне знать. Но мне нужен экспорт powertable при простое/нагрузке с помощью скрипта в ryzen_monitor.

image

AndreiIvanilov commented 2 months ago

Hi. The code turned out to be not working. @romangrechin made ryzen_smu drivers readable and added 7950x to it ..he will add his fix soon. But ryzen monitor is not working. it shows wrong data.....

Ah perfect, I can update ryzen_monitor to use the version with the fix when available. Let me know. But I need the export of the powertable under idle/load with the script in ryzen_monitor.

It turned out to be much simpler than that. There is already a dump script in ryzen_smu. I made two archives. Highest - at load Low - at idle time

image

pm_dumps low.tar.gz pm_dumps higest.tar.gz

AndreiIvanilov commented 2 months ago

Hi. The code turned out to be not working. @romangrechin made ryzen_smu drivers readable and added 7950x to it ..he will add his fix soon. But ryzen monitor is not working. it shows wrong data.....

Ah perfect, I can update ryzen_monitor to use the version with the fix when available. Let me know. But I need the export of the powertable under idle/load with the script in ryzen_monitor.

@mann1x Hi, do you have any progress on ryzen_monitor

mann1x commented 2 months ago

@AndreiIvanilov Not yet, I'm closing another topic and will start working on it. Please, remind me next Friday if I didn't came back already with some news.

AndreiIvanilov commented 2 months ago

@AndreiIvanilov Not yet, I'm closing another topic and will start working on it. Please, remind me next Friday if I didn't came back already with some news.

Hi

mann1x commented 2 months ago

Hi

Thanks for the ping, had a change of plan for the weekend but I'm carving out some time this week to work on it.

AndreiIvanilov commented 1 month ago

Hi

Thanks for the ping, had a change of plan for the weekend but I'm carving out some time this week to work on it.

Hi how's your progress coming along?

mann1x commented 1 month ago

Hi how's your progress coming along?

Not good unfortunately, sorry. Just started looking at it. Got unlucky with some planned upgrades on my server which required other unplanned upgrades which didn't go well as expected. One week totally lost. Then I got a massive back pain which is still ongoing and this week I have to travel for work... hope I can do enough in the next week to release something.

AndreiIvanilov commented 1 month ago

Привет, как твои успехи?

К сожалению, нехорошо, извините. Только начал смотреть. Мне не повезло с некоторыми запланированными обновлениями на моем сервере, которые потребовали других незапланированных обновлений, которые прошли не так, как ожидалось. Одна неделя полностью потеряна. Потом у меня началась сильная боль в спине, которая продолжается до сих пор, и на этой неделе мне придется ехать на работу... надеюсь, на следующей неделе я смогу сделать достаточно, чтобы выпустить что-нибудь.

Может @patrickschur сможет нам помочь

KiruyaMomochi commented 6 days ago

I have found the PM table size of Ryzen 79650x from https://github.com/irusanov/ZenStates-Core/blob/25a2ee3bac0d2f05a2e53eedf6bc2508448dcaac/PowerTable.cs#L179. After adding the following patch I can make the kernel module load.

diff --git a/smu.c b/smu.c
index 620e2e6..9ef95f3 100755
--- a/smu.c
+++ b/smu.c
@@ -929,6 +929,9 @@ u32 smu_update_pmtable_size(u32 version) {
                 case 0x000400:
                     g_smu.pm_dram_map_size = 0x948;
                     break;
+                case 0x540004:
+                    g_smu.pm_dram_map_size = 0x88C;
+                    break;
                 default:
                     goto UNKNOWN_PM_TABLE_VERSION;
             }
Cryolitia commented 1 day ago

@KiruyaMomochi Thanks for your reply!

Would you like to create a Pull Request here.


I will appreciate it if anyone could test it and feedback, so that I can dertermine whether to apply it to nixpkgs