Simple ATOMBIOS table manipulation tool
THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
IN NO EVENT SHALL AUTHOR, OR ANY PERSON BE LIABLE FOR ANY LOSS,
EXPENSE OR DAMAGE, OF ANY TYPE OR NATURE ARISING OUT OF THE USE
OF, OR INABILITY TO USE THIS SOFTWARE OR PROGRAM, INCLUDING,
BUT NOT LIMITED TO, CLAIMS, SUITS OR CAUSES OF ACTION INVOLVING
ALLEGED INFRINGEMENT OF COPYRIGHTS, PATENTS, OR TRADE SECRETS.How to (try to) unlock cores on unlockable Fiji chip.
Currently applies ONLY to Fury Air cards with Fiji PRO chips.
Fury X owners won't find here anything useful.WARINING. THIS IS A HIGH RISK PRACTICE. YOU'RE ACTING AT YOUR OWN RISK ONLY.You can irreversibly damage your card or end up with unstable or non-booting system.
(I'll add some theory of operation later).
How to try core unlocking:1. Gather all the needed tools:
- cuinfo v1.5 or later.
You already know where to get it.
- atiflash with Fiji support.
That's a little tricky for today. I wasn't able to find DOS version, but atiflash for Windows v2.70 works pretty fine.
Go to ASUS website and grab GPU Tweak II or R9 FURY BIOS update toolkit. Install GPU Tweak II or unpack R9 FURY BIOS update toolkit to a new folder. You'll find Fiji-compatible atiflash inside any of these packages.
Both command line and GUI variants of atiflash are supplied by ASUS.
You'll need these files from GPU Tweak II or R9 FURY BIOS update: atidgllk.sys AtiFlash.exe atikia64.sys atillk64.sys ULPSCtrl.dll.WARNING: Don't use GUI variant, AtiWinflash.exe because it broken. AtiWinflash works incorrectly with 256KB roms! Use atiflash.exe ONLY.
Contrary to common misconception, Windows version of atiflash is stable and good to use. AIB vendors use it to upgrage VBIOS in their live update systems, so why should you be afraid of it? Its slower that DOS version, but still stable and reliable.
NOTE: Be sure not to run any 3D applications while working with atiflash. Remember, atiflash requires elevated privileges, so use Administrator's command line.
- atomtool.pyDownload it here: outdated
Integrity check (sha1sum):
Here is a small update to atomtool, v1.1 current version is here
* activation code should be a little cleaner now, but I'm not sure about any difference in real work.
atomtool.py is a Python 2 program, so you're getting executable file and source code in one single file. Python is a brilliant programming language with cross platform runtime available for the most of operating systems.
Under Windows you probably don't have Python installed, so go to it's official website and grab a runtime package of Python 2 (or 3, but that's not tested):
https://www.python.org/downloads/windows/2. IMPORTANT. Make a backup of BOTH of your current BIOSes.
DON'T rely on GPU-Z backups and techpowerup's database since BIOS read from Fiji with GPU-Z is not complete, its only 128KB out of real 256KB.
Although main part of the BIOS is present in GPU-Z dumps, some part of data is not backed up.
GPU-Z backup can be used as a last resort, but I strongly suggest use of full backups produced by atiflash.
To use command line atiflash and atomtool.py, you'll need to know how to work with Windows command line (cmd.exe). If you're not sure what it is, google it first before you try.
- backup your current BIOS:
atiflash -s 0 bios_backup_xxx.rom
here 0 is the number of the card in your system. Use other numbers if you're backing up more that one card in CF configuration.
xxx is your current BIOS switch position, right (towards power connectors) of left (towards display connectors and a face plate)
- flip BIOS switch and backup second BIOS:
atiflash -s 0 bios_backup_yyy.rom
for yyy use current BIOS position.3. Get a cuinfo report and examine the status and dotted map:
For Fiji, report should be like: "8 CU's are disabled by HW lock, override is possible at your own risk.".
If it says "Sorry...", you're out of luck.
SE1 hw/sw: 00050000 / 00000000 [.............x.x]
SE2 hw/sw: 00030000 / 00000000 [..............xx]
SE3 hw/sw: 00030000 / 00000000 [..............xx]
SE4 hw/sw: 00030000 / 00000000 [..............xx]
56 of 64 CUs are active. HW locks: 8 (R/W) / SW locks: 0 (R/W).
8 CU's are disabled by HW lock, override is possible at your own risk.
In general, you can try to unlock some cores ONLY if you have at least one of the two rightmost columns filled with 'x'-es. On this example map, rightmost column (#1) is filled with 'x'-es only, but second (#2) is not.
If none of the two rightmost columns is filled with 'x', you're most probably out of luck and shouldn't try this unlock method. Or just try all the roms to catch some luck (not recommended).
NOTE: all x'es in the column DOES NOT guarantee you a safe and successful unlock.4. Generate roms from your BIOS backup.
To simplify rom generation, windows script file, makeroms.bat is added to the atomtool package.
use it as:
(here bios.rom is your BIOS backup file).
If Python is installed and intergated in path, you'll end up with 3 new BIOS'es:
('bios' here is your original file name w/o extension).
Select the rom you need:
If you have all 'x' in the first rightmost column, use bios_4low.rom
If you have all 'x' in the second column from the right, use bios_4high.rom
Any of these roms would increase shader count to 3840.
If you have all 'x' in the both columns, you can try bios_all.rom. If it fails, try both of _4low and _4high roms one by one until you're possibly get a stable GPU.
Also, if you like to live dangerously you can try bios_all.rom in any case.
_all.rom will unlock all 4096 cores, but since (the most of?) Fiji PRO chips do have failed cores, you'll probably get unstable or non-booting system.
To flash the card use:
atiflash -p 0 some_bios.rom
(here some_bios.rom is the file you want to flash).5. How to check stability or revert changes.
Just use all the tools you know to test stability and performance.
If your system is not stable, simply do the following:
- flip the bios switch and reboot;
- then booted into windows, flip switch back and reflash this bad position with known good backup.6. How to use other features of atomtool.py.
Please read atomtool.txt bundled in atomtool's archive. atomtool may be used to play with powerplay tables, and more.