HOWTO: Edit and flash your video card's BIOS in Windows (nVidia/G80 Specific)

NoxTek

The Geek Redneck
Joined
May 27, 2002
Messages
9,300
THIS HOWTO IS FOR G80 BASED CARDS ONLY - NOT THE NEW 8800GT (G92 BASED)
There currently is no version of NVFlash for Windows that will work for the G92 cards - you'll need to use the DOS version of NVFlash 5.57 if you want to flash your G92 based card

Flashing your video BIOS can be a really scary and intimidating process, but done properly it's really not all that scary or dangerous. With the advent of a Windows version of the Nvidia BIOS Flashing tool this process is even easier, so since I've done this about a bajillion and a half times over the years why not write a quick howto for everyone else?

----------------------------------


HOW TO: Flash your video card's BIOS in Windows (nVidia)

This how to was written with the G80 boards in mind - specifically the 8800GTS. The procedure is virtually identical with all of the other nVidia boards.

WARNING
Flashing your BIOS can be dangerous whether it's your video card BIOS or motherboard BIOS. If you don't know what you are doing you can render your video card useless, kill your PC, let the dogs out, or cause a rip in the space-time continuum. According to most of the nVidia board partners flashing the BIOS on their cards will VOID THE WARRANTY. I cannot and will not be held responsible if you break your shit. Understand? Comprende? Capiche? :)


This post explains how to:

  • Backup the video BIOS that's on your card.
  • Edit the BIOS with NiBiTor
  • Flash the new edited BIOS to your card.


You will need:
  • Installed operating system: Windows 2000, Windows XP (32-bit or 64-bit), Windows 2003 (32-bit or 64-bit), or Windows Vista (32-bit or 64-bit)
  • NVFlash 5.33 for Windows [CLICK TO DOWNLOAD]
  • NiBiTor 3.4a (The nVidia BIOS Editor) [CLICK TO DOWNLOAD]

NOTE: The files above are hosted on my personal server, and are meant for the [H]ardForums only.


vistabutton.gif
WindowsVista
WINDOWS VISTA USERS: The Windows version of NVFlash works just fine with Windows Vista, but there are slightly different or additional steps when using NVFlash under this O/S. Mainly, you MUST disable driver signature checking under the 64-bit version of Windows Vista. You do this by rebooting and pressing the F8 key before Windows loads and choosing "Disable Driver Signature Enforcement" from the boot menu.

vista_driversigning_disable.JPG


The additional information for Windows Vista users are highlighted in blue boldfaced print in this how to.







Backing up your card's original BIOS

Before you flash a modified BIOS to your card you should ALWAYS back up your current working BIOS. You never know when or how something could go wrong with your new BIOS and you may need to revert back to your original BIOS version for a variety of reasons. In the context of this how to we need to do this step ANYWAY to save the BIOS for editing in the next step.

WINDOWS VISTA x86-64 (64-bit) USERS: Before going any further you MUST reboot and hit F8 to access the Windows Boot Menu. Use the arrow keys to select "Disable Driver Signing" from the boot menu and press ENTER.


1. First you need to extract the NVFlash archive you downloaded to an empty directory. For this howto we've extracted the files to D:\nvflash\.


2. Now you need to open a command prompt window. You can do this a number of ways but we will use the "Start" menu. Navigate to the "Command Prompt" icon from the start menu. (Start -> Programs -> Accessories -> Command Prompt) and click it to launch a command prompt window.

WINDOWS VISTA (32 or 64 bit!) USERS: You need to right-click on the Command Prompt icon and select "Run as Administrator"!)


3. Navigate to the directory where you just extracted NVFLASH. In my case it's on my D: drive in a directory called "nvflash" so I would type:

D:
CD \NVFLASH


4. Now let us backup the current BIOS by typing and entering:

nvflash.exe --save oldbios.rom

Here's what the results should be similar to:
nvflash_vista_save_old_bios.png


We just saved our current BIOS to a file named "oldbios.rom".



Editing your BIOS using NiBiTor

Now let's edit the BIOS! We will use an excellent third party tool called NiBiTor (Short for the nVidia BIOS Editor. This advanced tool will allow you to edit MANY aspects of your video card BIOS including clock speeds.


1. Install NiBiTor by launching the NiBiTor installer/extractor you already downloaded.


2. Launch NiBiTor from the directory it was extracted to.


3. Now to go the File menu and select "Open". Navigate to and select the BIOS file you saved earlier. In our case it's "oldbios.rom" in D:\nvflash.

nvflash_nibitor_file_open.png


nvflash_nibitor_file_open2.png



4. Now the BIOS file (oldbios.rom in our case) has been loaded into NiBiTor and is ready for editing.

Here is what our NiBiTor looks like once we have loaded our BIOS:

nvflash_nibitor_file_opened.png


From this point you can edit the BIOS a variety of ways, and consequentially SCREW UP YOUR BIOS if you don't know what you are doing. So BE CAREFUL.

For the purposes of this howto we are going to do what the majority of you want to do, and that's overclock your card via the BIOS.



5. So let's overclock our card, permanently.

I happen to know the limits of my 8800GTS 640MB, and I know that it can comfortably handle a core speed of 580mhz, a shader clock of 1400mhz, and a memory speed of 850mhz (1700mhz ddr). So next to "3D" I am going to change the speeds accordingly:

nvflash_nibitor_file_edited.png


(My 8800GTS is actually capable of MUCH higher clocks all around, but I like to play it somewhat safe especially for this howto - nearly all 8800GTS should be able to reach these speeds without extra cooling)



6. Now let's save our BIOS with the new clock speeds! Go to File -> Save BIOS... and save your BIOS to the same directory that your copy of NVFLASH is. Save it with the filename "newvbios.rom".

nvflash_nibitor_file_save.png


nvflash_nibitor_file_save2.png


NiBiTor will pop up a little window saying "File saved" to let you know the file was saved sucessfully. Now you can close NiBiTor!


So at this point we've backed up our current BIOS, and edited it for BIOS level overclocking. You can do a LOT more with NiBiTor and we will discuss that in the second post in this thread, but for now you can find information on more of the advanced options you can change using NiBiTor by visiting the NiBiTor Guide over at Mvktech.net.[/size]





Flashing your card with a new BIOS


1. Open a command prompt window. You can do this a number of ways but we will use the "Start" menu. Navigate to the "Command Prompt" icon from the start menu. (Start -> Programs -> Accessories -> Command Prompt) and click it to launch a command prompt window.

WINDOWS VISTA (32 or 64 bit!) USERS: You need to right-click on the Command Prompt icon and select "Run as Administrator"!)


2. Navigate to the directory where you extracted NVFLASH earlier. In my case it's on my D: drive in a directory called "nvflash" so I would type:

D:
CD \NVFLASH


3. Now comes the fun and dangerous part! Let's use NVFlash.exe to flash our 8800GTS with the new BIOS file we just made in NiBiTor! You do this by typing "nvflash.exe newbios.rom". The flashing tool will examine the BIOS file and then ask you to confirm by pressing the Y key - you can also CANCEL at this point by pressing N.

Once you press Y there is NO TURNING BACK. The flashing tool will begin reprogramming the EEPROM on your card with the new BIOS. During this process you should NOT try to interrupt it in any way. It will take around 20 to 30 seconds to complete. Once the flashing procedure has completed you will see "Update Successful.".

Example:
nvflash_vista_flash_bios.png




4. Your card has now been flashed with the new edited BIOS. You should close the Command Prompt window and all other open windows, and restart your PC via the Start menu shut down or restart options.

So let's reboot and check the nVidia nTune panel to see what it shows our default clock speeds as:

nvflash_new_clocks_after_fl.png


Well how about that? :D




So there you have it! No more messing with third party applications to overclock a card you know is stable at a certain speed. It's a great method when you like a clean system. :)
 
Advanced NiBiTor Procedures

As said in the post above NiBiTor is a very powerful piece of software. With it you can make a variety of changes to your video BIOS which can affect the functionality and/or behavior of your card. Most of these changes should NEVER be taken lightly and should only be made if you have good reason. Do I need to remind you again how you can screw up your card? Yes, let's see that lovely warning again:

WARNING
Flashing your BIOS can be dangerous whether it's your video card BIOS or motherboard BIOS. If you don't know what you are doing you can render your video card useless, kill your PC, let the dogs out, or cause a rip in the space-time continuum. According to most of the nVidia board partners flashing the BIOS on their cards will VOID THE WARRANTY. I cannot and will not be held responsible if you break your shit. Understand? Comprende? Capiche? :)


Changing/Adding a boot message










>>> EDITS IN PROGRESS <<<

Reserved for future edit/information on advanced NiBiTor procedures...

To do:

  • Make a note of the fact that you can actually have NiBiTor read the BIOS directly off your card to a file, but sometimes it's unpredictable which is why I tend to use nvflash to save the BIOS instead.
  • Add information/edits on the peculiar clock generator on the G80 boards and how 1mhz increments don't necessarily have an effect.

You can find information on a LOT more of the advanced options you can change using NiBiTor by visiting the NiBiTor Guide over at Mvktech.net.
 
nice guide :cool:

i've see others put clocks under 2D too. so the card will run cooler, then set your overclock like you showed and when you launch a 3D app, it automatically switches to your overclock. i thought rivatuner does this but my overclocks always stay even at desktop. :mad:
 
nice guide :cool:

i've see others put clocks under 2D too. so the card will run cooler, then set your overclock like you showed and when you launch a 3D app, it automatically switches to your overclock. i thought rivatuner does this but my overclocks always stay even at desktop. :mad:


From what I've learned putting anything in the "Throttle" or "2D" sections doesn't do anything for G80 boards. Likewise none of the voltage options will actually do anything on the G80 or 7900 series boards. Although you can add or change these options they will have no actual effect on the card and in fact could cause some unpredictable behavior.

While nVidia has used the schema of 2D/3D clocks in their previous designs from what I understand the G80's architecture is so radically different it doesn't support these clock profiles. I'd be glad to be proven wrong on this though. :)
 
From what I've learned putting anything in the "Throttle" or "2D" sections doesn't do anything for G80 boards. Likewise none of the voltage options will actually do anything on the G80 or 7900 series boards. Although you can add or change these options they will have no actual effect on the card and in fact could cause some unpredictable behavior.

While nVidia has used the schema of 2D/3D clocks in their previous designs from what I understand the G80's architecture is so radically different it doesn't support these clock profiles. I'd be glad to be proven wrong on this though. :)

Flashing bios with different 2d/3d clocks does work normally with me and my 8800gts. Don't run vista aero!
 
Flashing bios with different 2d/3d clocks does work normally with me and my 8800gts. Don't run vista aero!


LOL Who in their right mind is going to run Vista and not run Aero? :D

Still, I will add the possibility of adding/changing 2D clocks to the "Advanced NiBiTor procedures" portion I'm working on, k' guys?
 
What about fan settings?


The G80 boards use driver dependent fan speed control and as a result fan speed changes made in NiBiTor have no effect. (They are even greyed out in the newest NiBiTor releases)
 
LOL Who in their right mind is going to run Vista and not run Aero? :D

That wasn't the point. The point was it does work, but vista with all its eye candy crap makes the video card do some work which keeps the clocks at 3d mode. So it isn't g80's fault.
 
Interesting. Is there a FAQ somewhere on all of the things you can modify using this program? Would be a useful link in the OP. Too bad to hear about the fan speeds; my 8800gtx is uncomfortably hot to the touch even when idling in windows; it'd be nice to always have the fan set to 100&#37;.
 
Interesting. Is there a FAQ somewhere on all of the things you can modify using this program? Would be a useful link in the OP. Too bad to hear about the fan speeds; my 8800gtx is uncomfortably hot to the touch even when idling in windows; it'd be nice to always have the fan set to 100%.

There is an official NiBiTor guide HERE but be aware that it's slightly outdated. Also remember that the options you can change are different for each series card, what works on a 6 or 7 series card might not work at all on an 8 series - or worse yet could cause unpredictable effects.
 
That wasn't the point. The point was it does work, but vista with all its eye candy crap makes the video card do some work which keeps the clocks at 3d mode. So it isn't g80's fault.

Hmm... how do you know that it does work? I've tried adjusting the 2D clocks and see no effect in Vista OR XP. No difference in temps in 2D mode in XP from before, no change reported in the various programs that would monitor the clocks in 2D mode (ATITool, Rivatuner).

Oh and "eye candy crap" is a pretty subjective term. I happen to like Aero....

But you know what they say about opinions and assholes.... :)
 
Nice guide there.

Now teach me how to put the 8800ultra bios on a GTX :D

(don't tell me it cant be done, Its been done.)
 
Assuming the BIOS will work on the board, you can flash it by using the proper command line options to override the board id mismatches (in this case -4 -5 and -6) like so:

nvflash.exe -4 -5 -6 g80ultra.rom

(where g80ultra.rom is the filename of the ultra BIOS)

But you should be SURE that the ultra BIOS will work on the non ultra board - even the slightest physical difference in the cards will be disastrous and after the flash you could have a dead board or a board that can only be rescued via a blind flash.

Here is an example of what flashing a different BIOS using the -4 -5 -6 options to override board ID mismatches would look like:

nvflash_force_flash_diff2.png


In this case I actually flashed my EVGA 8800GTS 640MB with the BIOS for an EVGA 8800GTS 640MB Superclocked edition card.
 
Real nice guide ;)

I think this should be a sticky
 
3 questions-
what can go wrong?
does anyone know if evga cover this in their warranty?
did the 8800 ultra bios work for anyone on a gtx?
cheers.
 
Other than a higher clockspeed, what would that do for me?

Nothing really. You can just as easily use NiBiTor to edit the clock speeds of your original BIOS and achieve the same effect.

In some cases the board partner (EVGA) will relax the memory timings in the BIOS of the overclocked card thereby allowing for higher maximum clocks. So if you flashed your normal 8800GTS with the Superclocked version you MAY be able to overclock a bit higher. It's a situation where your mileage may vary greatly.
 
3 questions-
what can go wrong?
does anyone know if evga cover this in their warranty?
did the 8800 ultra bios work for anyone on a gtx?
cheers.

1. The biggest risk is that the flashing process could get interrupted mid-flash. (Think power outage, your little brother pressing reset, Windows crashing, etc). This would result in a corrupted video BIOS and most probably a non-working card. The only way to recover would be to put a PCI video card in your machine in order to boot and redo the flash.

2. I don't know of any board partner that would sanction end-user video BIOS flashing except in specific cases where instructed to for tech support reasons. You are effectively voiding your warranty and it's possible that you could have problems RMAing the card later if you ever needed to.

3. Apparently it does work, but you should make ABSOLUTELY SURE that your 8800GTX can run completely stable at Ultra speeds before flashing it with the Ultra BIOS. This operation I would classify as quite risky especially if your card can't handle Ultra speeds.
 
geez, thats great!
are they on water?
when i get my second card ill flash them, 1 by 1, so if one fails i can use the other to recover it, correct?
cheers.
 
when i get my second card ill flash them, 1 by 1, so if one fails i can use the other to recover it, correct?
cheers.


You'll definately have to flash them 1 at a time (each time with only 1 card in the machine). Trying to flash with both cards in the machine at the same time can have unpredictable results.

Recovering from a bad flash would require the use of an old PCI video card to boot the machine. (Or a blind flash with the DOS version of NVFlash, which is next to impossible to setup once you've screwed the pooch).

Personally I wouldn't flash the Ultra BIOS to your GTX until some more people have come forward with sucess stories. Besides, you can get the same performance by editing your card's original BIOS with higher (Ultra) clock speeds.
 
Hmm... how do you know that it does work? I've tried adjusting the 2D clocks and see no effect in Vista OR XP. No difference in temps in 2D mode in XP from before, no change reported in the various programs that would monitor the clocks in 2D mode (ATITool, Rivatuner).

Oh and "eye candy crap" is a pretty subjective term. I happen to like Aero....

But you know what they say about opinions and assholes.... :)

I used rivatuner monitoring to check clocks and it did indead drop the 2d clocks to what I applied in nibitor and flashed the card.
 
One suggestion before going and flashing the BIOS is to test your overclock (or underclock) in Ntune and then stress test (play a graphics intensive game) to make sure that your overclock would work. If you are satisfied with it, go ahead and flash the new clock speeds.

Also, for those trying to flash their GTX to an Ultra - that may not work. Ultras are probably cherrypicked for their high speeds by binning them - so some GTXs may not work at Ultra's clock speeds.
 
Also, for those trying to flash their GTX to an Ultra - that may not work. Ultras are probably cherrypicked for their high speeds by binning them - so some GTXs may not work at Ultra's clock speeds.

That correct. The memory speed on the ultra is higher then the GTX, unless you have the memory at higher voltage, will crash. That why I turn my memory speed down to 1025 (2050) to make it stable in games. For some reasons I see that my game play is a tab better. Could be me.
 
Now obviously you would have to be sure that the core and memory can run at the frequencies you are flashing to, but what about the shaders? How far could you push the shader overclock in the BIOS without being able to OC them in some software first?
 
We need more of these comprehensive guides like this on this board, specifically more towards CPU OC'n though, lol :D
 
Recovering from a bad flash would require the use of an old PCI video card to boot the machine, or a blind flash with the DOS version of NVFlash, which is next to impossible to setup once you've screwed the pooch.
If a blind flash from DOS is your only option, there is a way to make recovery a more pleasant experience (short of blindly typing in written directions).

If you configure your DOS disk correctly, you can go really old-school and have it print screen output to an actual printer :p
 
im lost. so if i skrew my 8800gtx whilst flashing, i cant boot with my other one as primary then edit the 8800gtx (using it in 2nd slot) and re-flash it?
cheers.
 
im lost. so if i skrew my 8800gtx whilst flashing, i cant boot with my other one as primary then edit the 8800gtx (using it in 2nd slot) and re-flash it?
cheers.

No, because there is currently no way (that I can see anyway) to select which card you want to flash. Find an old PCI video card somewhere and keep it handy if you're worried that you might screw something up.

Really though, I've done this a million times and haven't had a failure yet.

Actually strike that, the only "failure" I've had is those times when I've experimented with trying to flash different BIOSes onto my cards. For instance the time when I tried to flash a 7900GT BIOS onto my 7800GT... :D You know, stupid stuff like that.
 
Oh and people please realize that this hotwo is a work in progress, and will be for the next few days. I'll be changing the main post a few more times to make it easier to read or add more screenshots, and I'll be adding more information on NiBiTor operations in the SECOND post in this thread.

Now is the time if you've got any suggestions for stuff you'd like me to add. :)

Feel free to PM me or post them here.


Oh and for fuck's sake, everyone have a great weekend this weekend, ok? :D
 
so aslong as i have a pci vid card im good? wicked.
btw whats better with havin ultra bios then gtx OC?
 
Back
Top