azeam / powerupp

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

power limit stuck? #3

Closed venomousZealot closed 4 years ago

venomousZealot commented 4 years ago

On my red dragon 5700 (non-XT) power draw seems to always be 150 W, no matter what. Default value should be 170. Changing the limit with upp or sysfs-powercap has no effect whatsoever.

Changing clocks and voltages seems to work, but that's not much use with a locked power limit..

Basically I'm just asking if I'm the only one seeing this? Can anyone with a 5700(XT) change their power limit or is it stuck at a weird value for you, too?

Btw: I love powerupp! Thanks for this.

azeam commented 4 years ago

Only have a XT so can't confirm for non-XT but for my card it does work using powerupp. There is, however, something going on with the pp table power limit setting, causing it to not be possible to set the power limit only using pp table/upp. Because of this there is a workaround in powerupp that when applying first sets the pp table power limit (to not get error for invalid value in sysfs) and then the sysfs (for 170W, one line):

echo 170000000 | sudo tee /sys/class/hwmon/$(ls -1 /sys/class/drm/card0/device/hwmon)/power1_cap

What does

cat /sys/class/hwmon/$(ls -1 /sys/class/drm/card0/device/hwmon)/power1_cap

show?

azeam commented 4 years ago

Hmm. I re-tested this now under different kernels and it seems like something has changed. The power limits both in sysfs and the pp table are correctly applied but do indeed seem to be ignored, will try to investigate further...

venomousZealot commented 4 years ago

What does

cat /sys/class/hwmon/$(ls -1 /sys/class/drm/card0/device/hwmon)/power1_cap

show?

It shows 170000000 after a fresh boot, which is indeed the default I also know from Windows. I have no idea why the card caps at 150W.

Thanks for looking into this so promptly.

venomousZealot commented 4 years ago

This person is claiming that an update to the navi10 microcode broke sysfs: https://www.spinics.net/lists/amd-gfx/msg44921.html

I have tried downgrading to kernel 4.8 which should be from before that patch, but I couldn't get it to work either. Then again I'm fairly new to all this, so I don't know.

venomousZealot commented 4 years ago

All right, I used my brain and realized the patch affects linux-firmware and not linux.

After downgrading to https://archive.archlinux.org/packages/l/linux-firmware/linux-firmware-20191220.6871bff-1-any.pkg.tar.xz my card is correctly maxing at 170W.

Changing the limit with powerupp also works fabulously. Thanks again!

So I guess it's a driver bug.

azeam commented 4 years ago

Perfect, thanks for the information!

azeam commented 4 years ago

Small update on this issue

venomousZealot commented 4 years ago

Unfortunately, the issue persists with linux-firmware-20200421

venomousZealot commented 4 years ago

The power limit is now stuck again at 150W even with the downgraded linux-firmware. The other settings seem to be working as good as ever. I'm probably not going to bother with this anymore and just wait it out.

azeam commented 4 years ago

According to the gitlab report it is the drivers that need changes, for me the old firmware is still working (but not the most recent), using Ubuntu 20.04 with drivers from Oibafs ppa. Maybe try getting some more recent drivers?

venomousZealot commented 4 years ago

It seems to be working now (as of kernel 5.6.12, maybe earlier) Hooray!

azeam commented 4 years ago

Great! :)

Shished commented 4 years ago

I'm on Arch, linux 5.6.15, linux-firmware 20200519, Mesa 20.0.7. My GPU is RX5700. I have this problem, it still persists (at least on Arch).