OneB1t / HawaiiBiosReader

Hawaii Bios Reader Tool for Bios development if you want to contribute please send me PM/mail/SMS/fax or pidgeon :)
http://forums.guru3d.com/showthread.php?t=400050
MIT License
63 stars 18 forks source link

Extend compatibility? #5

Open mirh opened 7 years ago

mirh commented 7 years ago

I figured out there are basically tools to edit BIOS from ati rage series to polaris.. But it's lame having to reinvent the wheel every damn time a new generation comes out, or having to fight for info lost in the dawn of time (thank god, at least we are FOSS now)

This being the latest updated editor on earth, I thought it was a good idea to start from here.

In other news, also, no tool seems to support APU vbioses.

OneB1t commented 7 years ago

i will try to continue after VEGA release if that card is good upgrade path ;)

mirh commented 7 years ago

I was hoping for more compatibility going backwards, but whatever

OneB1t commented 7 years ago

"never backward only forward" :D

mirh commented 7 years ago

My laptops is! D= EDIT: anyway, I hope you'll be able to get support from anybody else also wanting to endeavor in this enterprise

mpollice commented 7 years ago

Now look at that, its you again @mirh ;-) What a coincidence. You are right that when it comes to VBIOS editors reinventing the wheel is quite popular. At least one has to be grateful that recently there is a trend to release the source code (unfortunately not with all community tools, but as I said its a rising trend).

As for why I'm hijacking this issue, I'd like to have support added for Bonaire, which is part of the same architectural generation of GCN. Or to be more specific you should change the code that won't load an unsupported BIOS image, as I was able to open Bonaire images with this tool just fine once I changed the supported device IDs. Here is a suggestion how to best handle it without making it a lot of work: Much like https://github.com/caa82437/PolarisBiosEditor make a prompt telling the user it is an unsupported device ID with the options to continue or cancel.

Also there is a fork of this tool adding support for Tonga (3rd gen GCN), which seems to be only minor changes. Maybe there is the possibility of merging this functionality, look here https://github.com/Hedzin/TongaBiosReader (@mirh you forgot this editor in your otherwise quite comprehensive compilation).

Lastly please consider adding a license to the repository. This seems to be another common things of the hardware tuning community to just throw source code out there without bothering with a license. Generally if you want others to do any kind of modification but have them credit you the MIT license is a good choice. It also disclaims any liability, so if people fry their GPUs they can't legally target you over it. Other options would be the GPL (additionally mandates distribution of source code which MIT doesn't) or even CC0 (meaning you put it in the public domain and don't want to be credited). Here you can find some useful information: https://choosealicense.com/ The problem if you don't choose a license is, that the code is copyrighted to you and people wanting to do modifications don't know what they may do with it.

Anyway, I might be able to give you some pointers @mirh if you told us which GPU your laptop has. Keep in mind that the main reason why laptop and integrated GPU BIOS modding basically isn't a thing (aside from low performance) is that the BIOS image is part of the main BIOS image and thus modding it is more complicated and could potentially brick your mainboard if you make a mistake. Whereas with discrete GPUs it is always possible to flash it as a slave GPU to recover.

OneB1t commented 7 years ago

there is full support for any forks/upgrades and i dont really think there is need for any "licence" if i dont want to share my work i just kept it for myself ;)

mirh commented 7 years ago

Oh my, christmas feels like come earlier this year. You can find every info about my laptop here (really too much to remember and sum-up!). It's not really something I still need, but I do know there are people with less potato APU/mobile systems that would still be quite interested (be it clocks/voltages or even just fan profiles). Flashing/re-uploading the image would then look too much daring imo (expect any assumption to hold for computer firmware? lol). Though at least reading and editing is what seemed realistically doable.

Anyway, I also have a discrete Capo Verde on my desktop, if this could interest anybody.

if i dont want to share my work i just kept it for myself

That's how common sense work. Unfortunately there are some killjoys that think otherwise.

mpollice commented 7 years ago

I briefly looked into your laptop but it seems to be a can of worms. Also the GPU architecture is part of the VLIW5 generation (i.e. Radeon HD 5000 series), so your best bet is the BIOS editor called RBE available at techpowerup (no source for this one).

Cape Verde is part of the 1st gen GCN architecture (HD 7000 series except 7790 which is GCN2). GPU BIOS of GCN1 differs from following gens materially. There is a discontinued editor in the techpowerup forums: https://www.techpowerup.com/forums/threads/radeon-hd77xx-78xx-79xx-bios-editor.183423/ Afaik source code was never published so to add support for this generation would involve considerable reverse engineering work.

@OneB1t I can only politely ask you to commit a LICENSE file as explained here https://help.github.com/articles/licensing-a-repository/ It is not hard, doesn't hurt and makes things clearer for people who already had to deal with such issues beforehand. To me it seems you have a quite clear understanding what should be possible but apparently don't want to make this explicit.

mirh commented 7 years ago

I briefly looked into your laptop but it seems to be a can of worms.

Potatoes always seemed to me more proper creatures, but w/e

Also the GPU architecture is part of the VLIW5 generation (i.e. Radeon HD 5000 series), so your best bet is the BIOS editor called RBE available at techpowerup (no source for this one).

It doesn't work. And actually I presume the real challenge is the (somehow?) different structure of the bios file. Of course on my laptop it wouldn't really be motivated by anything more than "just because", but IMO, the same oddity is quite likely similar on newer apus (VLIW or not) too.

Afaik source code was never published so to add support for this generation would involve considerable reverse engineering work.

Or general guess work over the bios like I'd expect Hedzin, OneB1t and others already did once?

kizwan commented 7 years ago

It doesn't work.

Meaning RBE can't open it? I can load the K53BY SEYMOUR XT vbios in RBE. It start with "55 AA", followed by vbios ROM size (length 1 byte; convert the value to DEC & multiply with 512 = ROM size).

mirh commented 7 years ago

Well, some fields seems to be read, but it closes everything once it fails to read (and complain about) clock settings. I just emailed BAGZZlash anyway, worst case he won't answer. Best, who knows, perhaps he will open the sauce? C:

psyborg55 commented 4 years ago

hi

any progress on APU vbios or any known tool out there that works with these? device is [AMD/ATI] Wani [Radeon R5/R6/R7 Graphics] (rev cc)

mirh commented 4 years ago

There are many new tools/forks, but nope. It really seems like "vbios gurus" don't care much about APUs. Btw anybody interested could find one straight at the source.

psyborg55 commented 4 years ago

well, i loaded fw blob extracted from system bios of this laptop and after dismissing warnings it shows correct PCI IDs and SUBIDs.. unfortuantely that is the only info shown correct. all other values look insane

methanoid commented 1 year ago

@OneB1t talking of extending, any chance to support W5100 (Bonaire) cards - the editor loads them but warns unsupported. I'm thinking to buy one for experimenting - looks like it kinda works but voltages are not showing as actual volt values???

emeric254 commented 1 year ago

@methanoid I forked this project for my own needs and ended up rewroting it to learn how it was working entirely. The initial goal few years back was that I wanted to be able to tweak a R7 260 (also Bonaire). (Btw. I got very lucky with this chip, got insane frequencies both gpu and ram while undervolting ! Still a really good card for basic usages...) -> https://github.com/emeric254/PyHawaiiBiosReader I also started in an other branch to dig around the 285/380(x) cards but the limited vram on the original 285 is a pain to play games, so i never got it merged with the other branch... :( Don't be afraid to play around with the code and add things that you can find in the overclocker forums (in terms of block of interesting data, or how to find right values etc...)

If you brick your card you can still find the bios chip and reprogram it using an external flasher ;)

OneB1t commented 1 year ago

I think that somebody already forked this project to work for bonaire :-)

methanoid commented 9 months ago

I think that somebody already forked this project to work for bonaire :-)

I dont think they did anything really cos it seems this DOES work for Bonaire

https://www.reddit.com/r/overclocking/comments/fmg5n5/i_vbiosmodded_my_firepro_w4300_into_basically_a/?rdt=53520 shows that the Reader works with W4300 (Bonaire)

My card is Stock 930/1500 but I notice it doesn't ever hit 930 (seems to stop at 738) cos it's TDP limited. Confirmed by adding 20% to TDP (35 to 42W) with Afterburner and then clocks hit 850.

So I need a BIOS mod but after reading 47 pages of the link I didnt find any help in how to use the Reader.

I'd like to have BIOS set to Core/Mem 1000/1750 (mem checked works at that speed) but what to change for Power Limit? TDP Max or PowerLimit or Both from 35W to 55W, not sure which I change? Similarly TDC Limit? Surely if TDP goes up must increase TDC current? Power=Current X Voltage after all and voltage isn't changing.

Does GPU or Mem Freq table need adjusting? No idea how!

Would like two Roms to try, one with no voltage tweaks and one with voltages increased, as previous experience modding W5000 and W4300 has shown that increasing voltage isnt possible. They seem to be hardware limited to 1V but perhaps different on W4300 GCN2 card? So don't want to change everything in one go as if it doesn't work then won't know why!

Bonaire.zip attached just in case anyone who KNOWS how reader works care's to help and do me sample mods that I can then adjust later? ;-)

Thanks guys :-)

EDIT: Nevermind, I got bored waiting for help and experimented. I've improved my temps from 99C (paste dead) to 87C max and my Heaven FPS results by 71% from 42.2 FPS to 72.2 after repasting, overclocking and undervolting. I'm sure I could get more but that would mean running fan at 100% and allowing temps into the 90s. It's now clocked same as a stock R7 260 but is a single slot SFF card so that's pretty good result.

emeric254 commented 9 months ago

I think that somebody already forked this project to work for bonaire :-)

I dont think they did anything really cos it seems this DOES work for Bonaire

https://www.reddit.com/r/overclocking/comments/fmg5n5/i_vbiosmodded_my_firepro_w4300_into_basically_a/?rdt=53520 shows that the Reader works with W4300 (Bonaire)

My card is Stock 930/1500 but I notice it doesn't ever hit 930 (seems to stop at 738) cos it's TDP limited. Confirmed by adding 20% to TDP (35 to 42W) with Afterburner and then clocks hit 850.

So I need a BIOS mod but after reading 47 pages of the link I didnt find any help in how to use the Reader.

I'd like to have BIOS set to Core/Mem 1000/1750 (mem checked works at that speed) but what to change for Power Limit? TDP Max or PowerLimit or Both from 35W to 55W, not sure which I change? Similarly TDC Limit? Surely if TDP goes up must increase TDC current? Power=Current X Voltage after all and voltage isn't changing.

Does GPU or Mem Freq table need adjusting? No idea how!

Would like two Roms to try, one with no voltage tweaks and one with voltages increased, as previous experience modding W5000 and W4300 has shown that increasing voltage isnt possible. They seem to be hardware limited to 1V but perhaps different on W4300 GCN2 card? So don't want to change everything in one go as if it doesn't work then won't know why!

Bonaire.zip attached just in case anyone who KNOWS how reader works care's to help and do me sample mods that I can then adjust later? ;-)

Thanks guys :-)

EDIT: Nevermind, I got bored waiting for help and experimented. I've improved my temps from 99C (paste dead) to 87C max and my Heaven FPS results by 71% from 42.2 FPS to 72.2 after repasting, overclocking and undervolting. I'm sure I could get more but that would mean running fan at 100% and allowing temps into the 90s. It's now clocked same as a stock R7 260 but is a single slot SFF card so that's pretty good result.

this comment is a duplicate of https://github.com/emeric254/PyHawaiiBiosReader/issues/13#issuecomment-1859188008