Bitcoin Forum
May 09, 2024, 01:29:47 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Warning: One or more bitcointalk.org users have reported that they strongly believe that the creator of this topic is a scammer. (Login to see the detailed trust ratings.) While the bitcointalk.org administration does not verify such claims, you should proceed with extreme caution.
Pages: 1 2 [All]
  Print  
Author Topic: The OhGodAVBIOS Suite - Edit PowerPlay Tables, Decode Timings, and More!  (Read 4225 times)
OhGodAGirl (OP)
Full Member
***
Offline Offline

Activity: 199
Merit: 108

Look, I'm really not that interesting. Promise.


View Profile WWW
March 21, 2017, 02:46:30 AM
 #1

Today, OhGodACompany releases it's VBIOS editing tools for AMD GPU's. This includes:

OhGodATool: Edit PowerPlay in the VBIOS, or in the kernel's pp_table. This is for editing clock, memory, or voltage tables.
OhGodADecode: Decode a strap's timing. A strap is the format of timing values stored in hexadecimal in AMD's VBIOS.
OhGodACsumFixer: Corrects the checksum that is changed whenever you edit the straps. it does not fix the signing value.

OhGodAnOffset allows undervolting on Linux - you tell the regulator what to do. It is a paid tool, and not publicly available.

If you're interested in purchasing OhGodAnOffset, please send 1.5 BTC to 1buttzjpRmejg9iaZam8S9ugkkcP5dgbC.
1715261387
Hero Member
*
Offline Offline

Posts: 1715261387

View Profile Personal Message (Offline)

Ignore
1715261387
Reply with quote  #2

1715261387
Report to moderator
1715261387
Hero Member
*
Offline Offline

Posts: 1715261387

View Profile Personal Message (Offline)

Ignore
1715261387
Reply with quote  #2

1715261387
Report to moderator
1715261387
Hero Member
*
Offline Offline

Posts: 1715261387

View Profile Personal Message (Offline)

Ignore
1715261387
Reply with quote  #2

1715261387
Report to moderator
"This isn't the kind of software where we can leave so many unresolved bugs that we need a tracker for them." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715261387
Hero Member
*
Offline Offline

Posts: 1715261387

View Profile Personal Message (Offline)

Ignore
1715261387
Reply with quote  #2

1715261387
Report to moderator
1715261387
Hero Member
*
Offline Offline

Posts: 1715261387

View Profile Personal Message (Offline)

Ignore
1715261387
Reply with quote  #2

1715261387
Report to moderator
kilo17
Legendary
*
Offline Offline

Activity: 980
Merit: 1001

aka "whocares"


View Profile
March 21, 2017, 03:10:45 AM
 #2

Great contribution to the community.

I am curious about the Offset Tool, does it add an offfset on the bios or is it a tool similar to Watttool

Bitcoin Will Only Succeed If The Community That Supports It Gets Support - Support Home Miners & Mining
OhGodAGirl (OP)
Full Member
***
Offline Offline

Activity: 199
Merit: 108

Look, I'm really not that interesting. Promise.


View Profile WWW
March 21, 2017, 03:14:36 AM
 #3

Great contribution to the community.

I am curious about the Offset Tool, does it add an offfset on the bios or is it a tool similar to Watttool

Adds an offset on the BIOS.
kotarius
Sr. Member
****
Offline Offline

Activity: 340
Merit: 250


View Profile
March 21, 2017, 03:16:57 AM
 #4

Congrats on the release!
kisk
Full Member
***
Offline Offline

Activity: 126
Merit: 100


View Profile
March 21, 2017, 03:35:10 AM
 #5

Nice! Can't wait to play with this. Thanks!! Grin
OhGodAGirl (OP)
Full Member
***
Offline Offline

Activity: 199
Merit: 108

Look, I'm really not that interesting. Promise.


View Profile WWW
March 21, 2017, 03:35:54 AM
 #6

Nice! Can't wait to play with this. Thanks!! Grin

You are so very, very welcome!
Cubirez
Full Member
***
Offline Offline

Activity: 185
Merit: 100


View Profile
March 21, 2017, 03:57:41 AM
 #7

Nice! Can't wait to play with this. Thanks!! Grin

You are so very, very welcome!

Thank you for this release !
Will try this as soon as i come back from work have time (i hope it will be before this week-end, as i'm really looking forward to test it :p)
OhGodAGirl (OP)
Full Member
***
Offline Offline

Activity: 199
Merit: 108

Look, I'm really not that interesting. Promise.


View Profile WWW
March 21, 2017, 03:58:52 AM
 #8

Nice! Can't wait to play with this. Thanks!! Grin

You are so very, very welcome!

Thank you for this release !
Will try this as soon as i come back from work have time (i hope it will be before this week-end, as i'm really looking forward to test it :p)

If you need any help, you can come to me on Freenode - I'm under OhGodAGirl; I'm also available on everything else as, you guessed it, OhGodAGirl. Just let me know!
nerdralph
Sr. Member
****
Offline Offline

Activity: 588
Merit: 251


View Profile
March 21, 2017, 04:43:01 AM
 #9

Cleaner code than mine, but missing CAS timing output, so I added it.
https://github.com/nerdralph/OhGodADecode

Also added a Makefile.
OhGodAGirl (OP)
Full Member
***
Offline Offline

Activity: 199
Merit: 108

Look, I'm really not that interesting. Promise.


View Profile WWW
March 21, 2017, 05:01:25 AM
 #10

Cleaner code than mine, but missing CAS timing output, so I added it.
https://github.com/nerdralph/OhGodADecode

Also added a Makefile.


Thank you so much! Would it be okay if you did a pull request, if it's no bother?
nerdralph
Sr. Member
****
Offline Offline

Activity: 588
Merit: 251


View Profile
March 21, 2017, 05:09:02 AM
 #11

Cleaner code than mine, but missing CAS timing output, so I added it.
https://github.com/nerdralph/OhGodADecode

Also added a Makefile.


Thank you so much! Would it be okay if you did a pull request, if it's no bother?

Well normally just my wife gets my pull requests... :-)
OhGodAGirl (OP)
Full Member
***
Offline Offline

Activity: 199
Merit: 108

Look, I'm really not that interesting. Promise.


View Profile WWW
March 21, 2017, 05:13:06 AM
 #12

Cleaner code than mine, but missing CAS timing output, so I added it.
https://github.com/nerdralph/OhGodADecode

Also added a Makefile.


Thank you so much! Would it be okay if you did a pull request, if it's no bother?

Well normally just my wife gets my pull requests... :-)


Oh! Well, better get her permission first. She might be open to a three-way merge.

Thank you very much!
nerdralph
Sr. Member
****
Offline Offline

Activity: 588
Merit: 251


View Profile
March 28, 2017, 01:05:49 AM
 #13

Just getting around to testing ohgodatool.  So far I'm impressed; with this and rocm-smi it looks like I can do everything I could with fglrx/aticonfig.
If I had learned this tool last week when you released it, I could've had a much easier time testing memory straps.  I used to change mclk in PBE, copy the BIOS file to my rig, flash, reboot, then test.  Now it's just --mem-state 1 --mem-clock xxxx, and test the change.

And once I've found a stable mem clock, I can use it to mod the bios file without having to launch a windoze vm for PBE.
Thanks for releasing this!

nerdralph
Sr. Member
****
Offline Offline

Activity: 588
Merit: 251


View Profile
March 28, 2017, 01:27:23 PM
 #14

Just getting around to testing ohgodatool.  So far I'm impressed; with this and rocm-smi it looks like I can do everything I could with fglrx/aticonfig.
If I had learned this tool last week when you released it, I could've had a much easier time testing memory straps.  I used to change mclk in PBE, copy the BIOS file to my rig, flash, reboot, then test.  Now it's just --mem-state 1 --mem-clock xxxx, and test the change.

And once I've found a stable mem clock, I can use it to mod the bios file without having to launch a windoze vm for PBE.
Thanks for releasing this!

While changing mclk works great, so far I've had no luck with voltage changes.  They report as having changed, but power consumption does not change.  I've tried changing individual dpm states to evv and fixed voltages - no effect.  I've tried changing every state from 1-7, and still no effect.
Code:
$ sudo ./ohgodatool -i 0 --show-core
DPM state 0:
        VDDC: 800 (voltage table entry 0)
        VDDC offset: 0
        Core clock: 300
DPM state 1:
        VDDC: 850 (voltage table entry 8)
        VDDC offset: -26
        Core clock: 466
DPM state 2:
        VDDC: 850 (voltage table entry 8)
        VDDC offset: -26
        Core clock: 751
DPM state 3:
        VDDC: 850 (voltage table entry 8)
        VDDC offset: -26
        Core clock: 1019
DPM state 4:
        VDDC: 850 (voltage table entry 8)
        VDDC offset: -26
        Core clock: 1074
DPM state 5:
        VDDC: 850 (voltage table entry 8)
        VDDC offset: -26
        Core clock: 1126
DPM state 6:
        VDDC: 850 (voltage table entry 8)
        VDDC offset: -26
        Core clock: 1169
DPM state 7:
        VDDC: 850 (voltage table entry 8)
        VDDC offset: 0
        Core clock: 1216
OhGodAGirl (OP)
Full Member
***
Offline Offline

Activity: 199
Merit: 108

Look, I'm really not that interesting. Promise.


View Profile WWW
April 26, 2017, 08:48:41 AM
 #15

Added a Windows version of OhGodADecode, courtesy of Vento041!
fenomenhaa
Sr. Member
****
Offline Offline

Activity: 248
Merit: 250



View Profile
April 26, 2017, 12:24:23 PM
 #16

Added a Windows version of OhGodADecode, courtesy of Vento041!
Where to download windows ver.. on github have just linux ver.


           ▄▀▀▀▄
   ▄▀▀▀▄   █   █   ▄▀▀▀▄
   █   █    ▀█▀    █   █
    ▀▀▀▀▄    ▀    ▄▀▀▀▀
DE]   ██▀▀▀█▄   ▀▀█   █
 ▀▀▀      ██▄▄▄█▀      ▀▀▀
        ▄   ▀ ▀   ▄
   ▄▀▀▀█     █     █▀▀▀▄
   █   █   ▄▀▀▀▄   █   █
    ▀▀▀    █   █    ▀▀▀
            ▀▀▀
          ▄▄█▄█▄[/color]
▄▀▀▀▄     ██   ██     ▄▀▀▀▄
█   █▀▀[color=#2C97
██████
██████
██████
██████
██████  ██████
██████  ██████
██████  ██████
██████  ██████  ██████
██████  ██████  ██████
██████  ██████  ██████
██████  ██████  ██████
██████  ██████  ██████
██████  ██████  ██████
✓  SUPER FAST TRANSACTION
✓  USER-FRIENDLY INTERFACE
✓  FAST & EASY REGISTRATION
▄██████
███▀▀▀▀
███
███
███
███
███
███
███
███
███
███▄▄▄▄
▀██████
JOIN AFFILIATE PROGRAM
UP TO 50% COMMISSIONS
██████▄
▀▀▀▀███
███
███
███
███
███
███
███
███
███
▄▄▄▄███
██████▀
OhGodAGirl (OP)
Full Member
***
Offline Offline

Activity: 199
Merit: 108

Look, I'm really not that interesting. Promise.


View Profile WWW
April 26, 2017, 01:02:20 PM
 #17

Added a Windows version of OhGodADecode, courtesy of Vento041!
Where to download windows ver.. on github have just linux ver.

It's under the releases: https://github.com/OhGodACompany/OhGodADecode/releases/download/1/ohgodadecode.exe
Subw
Hero Member
*****
Offline Offline

Activity: 672
Merit: 500


View Profile
April 26, 2017, 03:57:20 PM
 #18

so voltage control not possible with linux?
bitkuna
Newbie
*
Offline Offline

Activity: 33
Merit: 0


View Profile
March 04, 2018, 05:56:03 PM
 #19

Still not possible? Any update on this? Ethos/Hiveos as main linux distros seems still have the problem to set undervolt, and can only set DPM Sad
Branko
Sr. Member
****
Offline Offline

Activity: 2464
Merit: 318


View Profile
March 04, 2018, 06:16:38 PM
 #20

Still not possible? Any update on this? Ethos/Hiveos as main linux distros seems still have the problem to set undervolt, and can only set DPM Sad

Now this is some really good forum necromancing skill Smiley

It really seems strange why would AMD skip doing it for Linux
AlainC
Member
**
Offline Offline

Activity: 91
Merit: 10


View Profile
March 04, 2018, 06:45:14 PM
 #21

so voltage control not possible with linux?
On phoronix they say some improvement are possible with next kernel versions
https://www.phoronix.com/scan.php?page=news_item&px=AMDGPU-Linux-4.17-Round-1

I've recompiled amdgpu module with this kind of change
https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/amd-linux/918649-underclocking-undervolting-the-rx-470-with-amdgpu-pro-success
but in fact, I see that the numbers are already changed because of the bios power state, but that it have no effect. I could not continue investigation.

As far as I understand if one understand which memory have to be read/set to control the i2c, and understand the vbios tables (as read by AtomBiosReader), one could do what amdgpu do when interpreting the vbios pseudocode (x86 if I understand well). all normally is in the amdgpu driver, and as I suspect it could even be done with /dev/mem.
best of course would be to use sysfs peudo files calling subroutins in amdgpu, like it is already proposed for pp_*

VirosaGITS
Legendary
*
Offline Offline

Activity: 1302
Merit: 1068



View Profile
April 01, 2018, 08:37:37 PM
 #22

Sorry i haven't kept watch on this thread.

We have this currently available as a private tool called OhGodAVolt. This handle communicating with the various VRMs to control it according to specifications.

As someone brought up before, AMD is releasing stuff for Polaris Soon™. Our tool isint limited in this regard, however.


                      ▄▄█████▄▄
                    ▐████████████▄
                   ▄█▀▀▀▀▀▀▀██████▌
             █▄  ▄█▀           ▀▀█
              ▀▀▀███▄▄▄▄▄▄▄▄▄▄   █▄   ▄

               ▄▀▀         ▀▀▀▀▀▀▀██▀▀▀
         ▄▄▄▄▄█▄▄ ▄▀▀▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄█▄▄▄▄
         ████▒▒███    ████▒▒████▌
    ▀█▄ ▀
███████▄ ███▒▒███      ██▒▒█████       ▀█▄
 ███████ ▀█▒▒████     ▄█▒▒█████▀         ▀█ ▄  ▄▄
  ██████  ▌▀▀█████▄▄▄███████▀▀            ███▄███▌
 █████████  █████▀▀█▀▀██████▌             ██████▀
 ▀█████████ ███▄  ███   ▐███▌ ▄██       ▄█████▀
     ▀▀    ▀▀███████████████▄▄████▄▄▄▄█▀▀▀▀▀
               ▀▀▀███▀▀▀      ██████▄
                               ▀▀▀▀▀

▄█████████████████████████████▄
███████████████████████████████
███████████████████████████████
███████████████████████████████
█████████▀▀█████████▀▀█████████
███████ ▄▀▀         ▀▀▄ ███████
██████                   ██████
█████▌     ▄▄     ▄▄     ▐█████
█████     ████   ████     █████
█████      ▀▀     ▀▀      █████
█████▄   ▀▄▄▄     ▄▄▄▀   ▄█████
████████▄▄▄█████████▄▄▄████████
███████████████████████████████
███████████████████████████████
███████████████████████████████
 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
█ █
█ █
█ █
█ █
█ █
QuintLeo
Legendary
*
Offline Offline

Activity: 1498
Merit: 1030


View Profile
April 01, 2018, 10:29:25 PM
 #23


As someone brought up before, AMD is releasing stuff for Polaris Soon™. Our tool isint limited in this regard, however.

Polaris undervolt under AMDGPU is possible NOW (and I think it also can be done for Vega but haven't actually looked at the code for that) - but you have to hack the applicable kernal module and it's an ugly mess - and trying to do it with individual undervolt for each card is going to be a major PITA on the current AMDGPU version.
AMDGPU however does NOT support undervolt OR clock control for R9 series cards (try it, the clocks DO NOT MOVE no matter what settings you use), and STILL offers exactly ZERO support at all for the iGPU on AMD A-series CPUs (even the GCN ones)
OpenCL for SOME APU models under ROCm is supported (works on the 7890k and 7860k, I've not tested on the 5700 as that's pre-GCN, and I don't have any other models to test it on) but forget trying to use APU graphics if you have anything else in the system using AMDGPU.

*SUPPOSEDLY* they are adding undervolt control to "the next version" of AMDGPU - but ghods only know when that will show up, and if it will work with anything OTHER THAN Polaris or Vega.


In my testing, the undervolt DID reduce power consumption some on Polaris cards that are not already BIOS modded, but I don't recommend trying to do so on modded cards due to how the driver code is set up.
The Phoronix "818" figure proved to be rather optimistic across a range of RX 470/480 cards for stability though, I think I ended up at 850 or 860 before I finally got the rig to be stable for more than a couple hours at a time.


Real driver support on a per-card basis would be a LOT better.



I'm no longer legendary just in my own mind!
Like something I said? Donations gratefully accepted. LYLnTKvLefz9izJFUvEGQEZzSkz34b3N6U (Litecoin)
1GYbjMTPdCuV7dci3iCUiaRrcNuaiQrVYY (Bitcoin)
nerdralph
Sr. Member
****
Offline Offline

Activity: 588
Merit: 251


View Profile
April 03, 2018, 01:06:07 PM
 #24

AMDGPU however does NOT support undervolt OR clock control for R9 series cards (try it, the clocks DO NOT MOVE no matter what settings you use)

It works fine for GCN3 (i.e. Tonga).
Code:
sudo ./ohgodatool -i $r380 --core-state 5 --core-clock 906
sudo ./ohgodatool -i $r380 --core-state 5 --core-vddc-idx 1

It's not quite as good as Polaris, because the AMDGPU driver seems to use fixed voltage tables with Tonga rather than EVV.
You also need to watch out for the ACPI bug that causes powerplay to fail.  It seems BIOS and slot dependent, so you might not encounter it.  I had problems with the the 16x slot on H97 anniversary boards, and after trying a couple different BIOS versions I gave up and just use the 5 1x slots.
QuintLeo
Legendary
*
Offline Offline

Activity: 1498
Merit: 1030


View Profile
April 03, 2018, 09:58:59 PM
 #25

Interesting, as the actual "put code in the mclk and sclk" type stuff in sysfs does NOT actually change the clocks when I tried it on my 4 x R9 290 rig or my mixed R9 280x/HD7850/HD7750 rig.

Did you check /sys/kernel/debug/dri/0/amdgpu_pm_info to see if the clocks actually CHANGED? (change the 0 for the specific card being checked of course).


Might also be a "R9 3xx" vs "R9 2xx" difference, or a GCN 3 vs older GCN versions difference, if it DOES actually work - I only have R9 290/280x + HD 7870/7850/7750 cards to test on while GCN 3 wasn't introduced 'till the R9 285 (Tonga) card.





I'm no longer legendary just in my own mind!
Like something I said? Donations gratefully accepted. LYLnTKvLefz9izJFUvEGQEZzSkz34b3N6U (Litecoin)
1GYbjMTPdCuV7dci3iCUiaRrcNuaiQrVYY (Bitcoin)
kiaas
Jr. Member
*
Offline Offline

Activity: 42
Merit: 12


View Profile
April 01, 2019, 07:58:56 PM
Merited by CjMapope (1)
 #26

Interesting, as the actual "put code in the mclk and sclk" type stuff in sysfs does NOT actually change the clocks when I tried it on my 4 x R9 290 rig or my mixed R9 280x/HD7850/HD7750 rig.

Did you check /sys/kernel/debug/dri/0/amdgpu_pm_info to see if the clocks actually CHANGED? (change the 0 for the specific card being checked of course).


Might also be a "R9 3xx" vs "R9 2xx" difference, or a GCN 3 vs older GCN versions difference, if it DOES actually work - I only have R9 290/280x + HD 7870/7850/7750 cards to test on while GCN 3 wasn't introduced 'till the R9 285 (Tonga) card.





an old thread, but a few things for anyone that runs across it that still cares about using old cards: at least GCN 1 and 2 don't work with the amdgpu way of overclocking, AND some of the cards have "quirks" coded into the driver that sets a max speed, so even a vbios mod to, say, take the memory of a 7850 and run it at 1500mhz won't work because it's coded into the driver to not allow it over 1200mhz, Core clock was also maxed out at one point but I think that got lifted on the 7850. It's possible to mod that part of the driver even with the amdgpu-pro one.. once that's edited, you can change clocks and voltages for cards in the vbios. hex editing and VBE7 are the things to do that for pitcairn (7850, 7870, r7 265 r9 270/270x and r7 370.) tahiti (7950, 7970, 7990, 7870 XT, 280, 280X). I'd expect it to work on 7750 and 7770 too, but not 7790, as 7790 is actually GCN 2 like the 290(X) and 390(X) are. Not sure if Hawaii Bios Editor can handle the 7790, but otherwise that's the tool for those. GCN 3 cards, like the R9 285 and 380.. not sure if overclocking works with the amdgpu way, and I'm unsure what vbios editing tools work with them.

edit: as for the 7870 XT, which is different from the 7870, it's got a Tahiti core stripped down to a 256bit bus like Pitcairn but has more compute units and better FP64 performance on those units than Pitcairn has.
Pages: 1 2 [All]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!