azeam / powerupp

Simple GUI for UPP
GNU General Public License v3.0
81 stars 7 forks source link

Overclocking with unlockd limits has no effect #24

Open Shished opened 3 years ago

Shished commented 3 years ago

PowerUPP does not applies OC settings if "Unlock limits" checkbox is ticked and higher than allowed settings was entered in the app. test

All changes got committed to /sys/class/drm/card0/device/pp_table, and /sys/class/drm/card0/device/pp_od_clk_voltage reports correct values

OD_SCLK:
0: 800Mhz
1: 2000Mhz
OD_MCLK:
1: 875MHz
OD_VDDC_CURVE:
0: 800MHz 799mV
1: 1400MHz 817mV
2: 2000MHz 1013mV

But the actual GPU frequency stays at 1750 MHz

dmesg outputs some errors

amdgpu 0000:0c:00.0: amdgpu: SMU driver if version not matched
amdgpu 0000:0c:00.0: amdgpu: use vbios provided pptable
amdgpu 0000:0c:00.0: amdgpu: smc_dpm_info table revision(format.content): 4.5
amdgpu 0000:0c:00.0: amdgpu: SMU is initialized successfully!

GPU: RX5700 OS: Arch Linux Kernel: 5.10.13-zen1-1-zen firmware: linux-firmware-20201218.646f159-1, also tested with AMDGPU firmware from git.

azeam commented 3 years ago

Did you only change the frequency? Have you tried increasing the power/voltage? My 5700 XT will not reach higher than stock frequencies without giving it some more power (for kernel 5.10+ set the boot flag amdgpu.ppfeaturemask=0xffffffffto enable power adjustments).

Shished commented 3 years ago

I tried to change both frequency and power limit. When I tried to change the power limit to 200W (higher than allowed 181W), dmesg complained about that.

amdgpu 0000:0c:00.0: amdgpu: New power limit (200) is over the max allowed 181

amdgpu.ppfeaturemask=0xffffffff was already enabled, AFAIK without it pp_od_clk_voltage wont appear and I can OC the GPU to allowed frequencies by writing values to this file.

azeam commented 3 years ago

Not really sure what is going on with the power limit (if limited by that), see #18 . AMD apparently have been doing a lot of rework with regards to the PowerPlay table from kernel 5.10, if there are also new limitations to setting the frequency I'm not sure, will try to test some more recent kernels (still on 5.10.1). Either way I do not see it is an issue with PowerUPP (nor UPP), they are modifying the PowerPlay table as intended.

equalis3r commented 3 years ago

I can confirm that 5.10.16-arch-1-1 doesn't work either. I tried to undervolt 5700xt but pp_od_clk_voltage didn't change.

azeam commented 3 years ago

Tested now with 5.11.0-051100-generic, firmware 42.61.0 (also tested 42.50.0), amdgpu.ppfeaturemask=0xffffffff enabled and not able to reproduce this - setting frequency, power limit and voltage works. Try with 5.11 and latest firmware and see if that makes any difference.

cray12399 commented 3 years ago

I am having this exact same issue and I am on kernel 5.11.4-051104-generic and Ubuntu 20.04.

dlang-best-language commented 3 years ago

Same exact problem as OP here, power limit seems to be set without any dmesg errors but the clock speeds do not apply whatsoever

[  143.485225] amdgpu 0000:2b:00.0: amdgpu: SMU driver if version not matched
[  143.485271] amdgpu 0000:2b:00.0: amdgpu: use vbios provided pptable
[  143.485272] amdgpu 0000:2b:00.0: amdgpu: smc_dpm_info table revision(format.content): 4.5
[  143.486528] amdgpu 0000:2b:00.0: amdgpu: SMU is initialized successfully!

Linux 5.10.24, latest firmware from the linux-firmware git repo. Interestingly though when I revert back to the default 5.4 kernel that is installed the same issue remains

edit: just tried 5.11.7, same thing

dlang-best-language commented 3 years ago

I just reverted back to 5.8.18 and everything applies correctly on this version

[   36.161139] amdgpu: SMU driver if version not matched
[   36.162486] amdgpu: SMU is initialized successfully!