Modifying the BIOS of your video card and more specifically the memory timings in order to increase the hashrate you get mining Ethereum is something that most people should do, especially when we are talking about AMD Radeon GPUs, though now a lot of miners also come with the option to optimize timings without you having to modify the BIOS. One very easy way to actually modify the video BIOS is with the help of the Red BIOS Editor (RBE) software that supports BIOS modifications of AMD Radeon GPUs with Polaris, Navi and Big Navi architecture. There are more ways to mod the BIOS for Polaris GPUs that have been available for a while, but for the newer Navi and Big Navi the RBE software is the solution, but here we are going to be modding the ADM Radeon RX 5700 / Radeon RX 5700 XT GPUs as an example. The goal is to be able to optimize the memory timings of these video cards so they can give you about 10% more hashrate for mining Ethereum (ETH), or with other word from about 50-52 MH/s you might get up to about 55-58 MH/s or even a bit more.
Before going out on a modding spree make sure you make a backup of the original video BIOS of the GPU you are about to modify, you will need this in case you mess something up and want to get back to the original settings. A good way to easy backup the original video BIOS is to use the free GPU-Z tool, though you might also find the original video BIOS in the TechPowerUp’s VGA BIOS Collection if somebody already submitted it (if not, you might want to upload it directly from GPZ-Z).
So, start up the RBE software, load the video BIOS you have saved on your computer and click on the VRAM Timings tab. You should see something similar to the image above with the memory timings RAW data and the respective frequency for which it is valid next to each video memory timing string. Since you probably don’t know what these numbers actually mean, what you need to do is just copy the timing string from a lower frequency to a higher one, then save the modified BIOS file (use a different name, do not overwrite the original backup). For RX 5700 XT you can copy the timing string from 1550 MHz and paste it over the higher frequency settings and see if the video card will be stable using these more aggressive timings on the higher frequencies, if it is not stable you can repeat the procedure with the timings from 1800 MHz and so on. You can try even lower, but the chances that it will still work with 1250 MHz are slim to note and you might need a spare GPU to reflash a working video BIOS back to the video card you are modifying.
Flashing the modified or the original video BIOS to the GPU will require the amdvbflash tool, there are different versions available and you need a special one that will work for modified video BIOSes as normally it will not allow you to flash a modded BIOS. The required flasher tools can be download below as a part of the RBE package with the ATI Flash Tool 2.93+ for the RX 5700 and RX 5700XT only, the ATI Flash Tool 3.04 for all AMD GPUs under Windows and also a Linux version should you need one. Flashing under Windows should be done with the command prompt running as Administrator and typing the following commands:
To save the original video BIOS before flashing:
amdvbflash.exe -s 0 original-bios.rom
To unlock the ROM for flashing:
amdvbflash -unlockrom 0
To flash the modified BIOS:
amdvbflash -p -f 0 biosmod.rom
* The number 0 above represents the GPU ID of the first video card, with 1 it will be the second GPU and so on for multiple cards in the same system. You can flash multiple GPUs listing their numbers separated by comas, for example 1,2,3,4,5,6 instead of just a single GPU ID number.
Do remember that after flashing a new video BIOS you need to reboot the computer in order to see the effect and be able to test the performance of the video card with the new settings. If you flash, but do not reboot, the video card will still be using the old BIOS data and nothing will change!