You are not logged in.
Pages: 1
Hello guys!
I've been on a long journey of green computing, and I noticed that my gpu draws an abnormal amount of power while idling (around 50 W) even with a undervolt. I even went to the extreme of setting up a script to force a dpm to low, locking at 300 Mhz while I just make a lite use of my computer, and another to bring back the normal performance levels. Nevertheless, my gpu still draws 30~ W in the lowest state, while without any tinkering my Windows 10 install consume around 7 W while idling. I reckon this issue is related to the "amdgpu" driver included in the kernel.
Do you guys have a similar issue, or perhaps a solution?
Thx a lot!
Offline
I think this is just the driver reporting a wrong number. I think the real power usage is lower and isn't 30W.
Here's why I'm thinking this:
I have an RX480 that is using a modified BIOS that turns it into a fake RX580. When I use the RX480 version of the BIOS, I see desktop power usage of something around 10W for this card. When I flash the modified BIOS that turns it into a fake RX580, then I see 33W power usage. This is with the exact same core/memory clocks and voltage. I tried tracking and comparing temperatures and they seemed the same to me.
I used this script here to track temperature changes over time:
#!/bin/bash
trap "echo; exit" INT # print newline after ctrl-c
printf -v device_gpu_temp "%s" \
/sys/class/drm/card*/device/hwmon/hwmon*/temp1_input
previous_minute=99
while true; do
time=$(date '+%T')
minute=${time#*:}
minute=${time%:*}
if [[ $previous_minute != $minute ]]; then
previous_minute=$minute
echo
echo -n "$time - "
fi
read -r gpu_temp < "$device_gpu_temp"
echo -n "${gpu_temp%???} "
sleep 2
doneAnd I have this script here to track power usage as reported in 'sensors':
#!/bin/bash
trap "echo; exit" INT # print newline after ctrl-c
previous_minute=99
while true; do
time=$(date '+%T')
minute=${time#*:}
minute=${time%:*}
if [[ $previous_minute != $minute ]]; then
previous_minute=$minute
echo
echo -n "$time - "
fi
printf "%.0f " "$(sensors | sed -nr '/^amdgpu/,/^$/ s/^power1:\s*([0-9.]+).*/\1/p')"
sleep 2
doneAbout what's the point of this "fake RX580" modified BIOS thing: this is because AMD's Windows graphics driver refuses to accept a modded BIOS for most cards but it makes an exception for RX580 cards. The way to use a modded BIOS on an RX480 card is then by switching the product ID to RX580 in the BIOS. This is just a single byte changed somewhere, it's still an RX480 style BIOS, it's not really an RX580 BIOS. For example the 1000MHz memory state is still missing.
Last edited by Ropid (2021-03-05 04:21:33)
Offline
With my real 580 on an amd threadripper desktop system as i'm posting this :
amdgpu-pci-4200
Adapter: PCI adapter
vddgfx: 862.00 mV
fan1: 194 RPM (min = 0 RPM, max = 4500 RPM)
edge: +38.0°C (crit = +94.0°C, hyst = -273.1°C)
power1: 4.14 W (cap = 135.00 W)Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Online
I get 30 watt both on Windows and Linux with an RX 570, are you using AMD panel on windows to check watt draw?
Also it's a single fan or double fan gpu?
Offline
Wow, thanks for the answers so far. I have a double fan gpu and I use two monitors right now. It seems like measuring from the AMD panel I get in fact 30 W idle. It seems like there is a problem with the sensor, I don't know.
Offline
I would take AMD panel measurement more seriously than some other random programs, how did you get 7 watt draw value? I have only seen that with single fan RX570/580
Offline
So it seems that double fan models tend to draw more power right. It seems I mistaken the value from when I've read from the AMD Panel the first time. However, it's interesting that my friend has a 580 with double fans from MSI that draws around 10 Watts idle with two monitors. Well, it seems like I can't possibly get any lower than 30 Watts on my card.
Well thanks for the time you guys!
Offline
Pages: 1