So i changed the timings on my cards (rx 470 4gb) in a Windows 10/Claymore environment, then I booted back to ethOS and adjusted my core and memory values at runtime in my local config and tweaked them until all cards were happy (settings below).
cor xxxx 1150 1150 1150 1130 1130 1140
mem xxx 2000 2000 2000 1900 1900 1950
They are running great and I want to undervolt them, which I found some suggested settings in another post:
1130/1900 @ 900mV-920mV
1140/1950 @ 940mV-950mV
1150/2000 @ 950mV-970mv
So the example voltage setting in ethOS looks like the following:
vlt xxxx 1.118 1.118 1.118 1.118 0 1.118
Show what would the setting be to undervolt the 1130/1900, would it be .920?
Thanks.
0 ·
Comments
Powertune is... different. It instructs the driver to drop to a lower state, which will (almost certainly) have a lower voltage associated with it. However, you cannot control at all what voltage gets set, really.
First, you must insert the hex codes inside the I2C table within the voltage object - more on those codes in a moment. Then, you have to fix the length of the voltage object, and the VoltageObjectInfo table itself. Now, ALL of the tables whose offsets that are greater than that of VoltageObjectInfo? Correct them, by adding the length of your modification to their offsets, such that they still point to the tables they're supposed to. There are 113 or so, I think - you'll need to check all of them your first time, to be sure. After this is done, trim the padding between the UEFI VBIOS and the legacy VBIOS - you'll find it after the end of the table with the largest offset (furthest one into the ROM.) You need to make it such that the size of the image does not change due to your modifiication in the VoltageObjectInfo table. Now, correct the checksum in the VBIOS, and you're good to go.
But wait! That was just the *tedious* part of the work! Now, you need to ID the VRM controller in use by your GPU - by eye or by VBIOS tells - and then, with that knowledge, use the *correct* I2C register & value to achieve your desired voltage offset. This means a lot of digging through datasheets to understand the registers your controller makes available, and how they function. Don't lose focus, though - like assuming all voltage offsets are two's complement (most are) will probably BUTCHER you if you used it on a uP9505P (which my MSI Gaming X RX 580 has.) That one, by the way, uses a format that I call "last bit is sign bit" - meaning 0x04 would be +25mV, and -25mV would be 0x04 | 0x80, or 0x84. Interpreted as two's complement, this offset would be insane.
So, you still wanna try it? Be prepared to recover your GPU's from softbricks - which you almost certainly will cause at least a couple times; Lord knows I did. I encourage learning, discovery, and DIY - but most people would rather pay me... which I am okay with.
I'm currently getting ~22.5 MH/s with some quick memory straps on the Samsung card and 23MH/s with the non-Samsung memory ones. With some OCs I was able to pull nearly 27MH/s but my power usage went through the roof.
I managed to overclock my GPU using your instructions. What worries me is its power consumption. Is there any way to undervolt it in bios?
I made some test based on 1 GPU to give you an example:
1 x Ellesmere RX 580 MS-V34113-F1
ethOS local.conf:
1 ----------------------------------
globalminer ethminer
globalcore 1050
globalmem 2200
globalpowertune 3
flags --farm-recheck 200
globalfan 50
HASH = 25.19
POWER CONSUMPTION = 167 WATT
2 ------------------------------------
globalcore 1150
globalmem 2200
HASH = 27.03
POWER = 176 WATT
3 -----------------------------------
globalminer ethminer
globalcore 1250
globalmem 2200
HASH = 28.21
POWER = 181 WATT
4 ----------------------------------
globalminer ethminer
globalcore 1350
globalmem 2200
HASH = 28.84
POWER = 187 WATT
5 ----------------------------------
globalminer ethminer
globalcore 1450 - unstable
globalmem 2200
HASH = 29.00
POWER = 247 WATT
6 -----------------------------------
globalcore 1380 - unstable
globalmem 2200
HASH = 28.94
POWER = 188 WATT
The best results I have with test 4. with 2 x GPU the Power consumption = 352 Watt
Is there anything I can do in GPU Bios to lower down the Power Consumption?
I myself have had success with the vlt setting on a RX580 and RX470 using the following syntax.
vlt [insert worker id here] voltageforgpu0 voltageforgpu1
for example--
vlt 31959e 1200 1300
Assuming I am running stock cor and mem settings, should I decrease the vlt by .1 until the cards are unstable?
cor xxxxx 1000 1000 1000
vlt xxxxx 1.118 1.018 .918
Thanks again.
After setting a rig to .900 for all 6 cards, I am getting the resulting readout in the dashboard:
0.96 0.96 0.96 0.96 0.95 0.96
So it is working, as my voltages and wattages have decreased.