Before VBE7: Creating custom vBIOS files meant manually editing hex and hoping for the best—yuck!
For a long time, I’ve held off on writing a guide about modifying your video BIOS for the purpose of lowering voltage. Undervolting has the potential to reduce power draw by about 50 watts per GPU, so it’s easy to understand the appeal—you’ll see a significant savings on your electricity bill if you’re running a 3×7950 rig (like the one in my guide) 24/7. Unfortunately, the AMD Radeon drivers in linux don’t allow voltage control, so the only current way to lower voltage below manufacturer-specified levels in linux is to modify your video card’s BIOS.
In the past, such a hack involved manually editing your vBIOS file by hand, using a hex editor. Most folks hesitate to make such a modification, as performing the edit can be tricky if you’re not familiar with hexadecimal—and a mistake can mean a bricked GPU. Due to the potential danger I had decided not to post a guide about manually modifying your vBIOS ROMs. After all, nobody wants to be left with a $300 paperweight after inadvertently trashing their video card.
Enter VBE7, a GUI-based vBIOS editor for Radeon 7xxx series GPUs. Now anyone can easily make changes to their vBIOS without having to muddle around in a hex editor, praying they get things right. I’ve been testing VBE7 for a few days now, and it appears to work brilliantly. Read on for my guide on creating your own custom power-saving vBIOS!
Creating your custom undervolted video BIOS
First, let’s get the disclaimer out of the way: while a tool like VBE7 takes a lot of the guesswork out of this process, modifying your video card’s BIOS can potentially damage your hardware and void your warranty. Follow this guide at your own risk!
Step 1: Create a bootable DOS USB flash drive
If you don’t already have a bootable DOS USB stick, you can follow the instructions here to create one. The size of the flash drive doesn’t much matter, so even an ancient USB stick should work fine.
Step 2: Download ATIFlash to your USB stick
You’ll need a program called ATIFlash to read the vBIOS ROMs from each of your rig’s video cards:
Step 3: Boot your mining rig using the DOS flash stick
Shut your mining rig down if it’s running. Insert the flash drive into one of your rig’s USB ports and turn it on. After a few seconds, you should be looking at a DOS command prompt (if not, ensure that booting from USB is enabled in your motherboard’s BIOS settings).
- At the DOS command prompt, type the following:
atiflash -s 0 0.rom
This will save a copy of the vBIOS stored in your primary video card as a file named “
0.rom” on your flash drive.
- Repeat for each additional video card that you have in your rig. For example, if you have a total of three GPUs, you’d additionally type:
atiflash -s 1 1.rom
atiflash -s 2 2.rom
You should now have a number of .rom files on your USB stick that corresponds to the number of GPUs on your rig, each containing the vBIOS for one video card.
Go ahead and power down your rig and take the USB stick back to your desktop computer (or any Windows computer).
Step 4: Use VBE7 to modify each vBIOS file
Plug the USB stick containing the saved vBIOS files back into your Windows computer.
Step 5: Flash the modified vBIOS file(s) into your GPU’s video ROM
Head back to your rig, put your bootable flash drive back into a USB port, and boot up. Now we’re going to save the modified files into video memory.
The dual BIOS switch on the MSI TF3 7950 card. Placement is similar on other 7xxx cards.
Each of your GPUs should have a tiny switch somewhere on it (usually on the top). This is the BIOS selector switch—most Radeon 7xxx cards should have one (I’ve never found a 7950 or 7970 card that doesn’t, and I’ve used nearly all of them). Locate this switch, and then flip it (this can be done while your rig is powered on) so that it is now in the other position. This is extremely important and acts as your safety net if anything should go wrong! If you’re unable to boot up after completing the BIOS flash, simply flip the switch back to restore your original BIOS. If you can’t locate the switch, or your video card doesn’t have one, I’d strongly urge you to abort the rest of the process.
- After switching all of your video cards to their secondary BIOS, type the following at the DOS prompt:
atiflash -f -p 0 0_new.rom
Wait for the flashing to finish and make sure that there are no error messages. If successful, ATIFlash will tell you that you need to reboot to complete the process, but it’s safe to go ahead and flash your remaining cards first.
- Repeat for each of your other GPUs. For example, if you have a total of three video cards, you’d additionally type:
atiflash -f -p 1 1_new.rom
atiflash -f -p 2 2_new.rom
Power down and remove the flash drive—you’re done!
Next time your power your rig on, you should note a substantial power savings. Using exactly the hardware that I recommend in my guide, I measured a total power savings of 140 watts (850 watts to 710 watts at the wall, according to my kill-a-watt) when undervolting each GPU to 1081 mV. In addition, your GPUs will run much cooler, and your fans won’t have to work nearly as hard. You can experiment with even lower voltage settings (1054mV is popular as well, and some people even venture into sub 1000mV territory), just be aware that depending on how aggressive your cgminer settings are, you may experience some instability and crashing if you lower voltage too far (just bump voltage back up a bit if that happens).