NoxTek
The Geek Redneck
- Joined
- May 27, 2002
- Messages
- 9,300
<- THIS HOWTO IS CONSTANTLY BEING REVISED AND EDITED ->
LAST MAJOR EDIT WAS 2/1/2008 2:20PM CST ->
LAST MAJOR EDIT WAS 2/1/2008 2:20PM CST ->
<<<<<<<< WARNING >>>>>>>>
The procedures outlined in this guide could possibly render your video card inoperable, damaged, fried, crippled, and/or all of the above if done improperly. Altering the BIOS on your card and/or flashing your card with the altered BIOS can and probably will VOID THE WARRANTY. In short and to be quite blunt, if you fuck up your card don't come back and accuse me of twisting your arm and making you flash your new card. Capiche? Good! Let's GO!
REQUIREMENTS / PREREQUISITES
Hello boys and girls! Today we are going to learn how to alter the fan speeds (and the thermal profile under which they operate) on our G92 based nVidia boards. This guide is being written with the following cards in mind:
- 8800GT 256MB
- 8800GT 512MB
- 8800GT 1024MB
- 8800GTS 512MB (NOT the G80 based 320/640MB cards!!!)
This guide may also work on some other boards that use the new IC method of fan control, namely certain variants of the 8600, 8500, and 8400 cards.
You will also need the following software:
- NiBiTor 3.7 (MUST be version 3.7 or higher!)
- NVFlash 5.57 (MUST be version 5.57 or higher!)
- HP USB BootMaker (For DOS booting from a USB thumbdrive, memory card, or other USB storage device)
- MS-DOS Boot Files (Needed for DOS booting)
INTRODUCTION
Late this year the giant green behemoth known as NVIDIA saw fit to bestow upon us a new GPU and a new line of cards in the form of the 8800GT. Yes, the G92 was thrust upon a largely unsuspecting enthusiast community and for a short while all was good. The relatively inexpensive (by enthusiast standards, anyway) card wowed us like few had done before it and even lured a fair number of the sheep away from the red side. Billions... ok millions.... ok hundreds of thousands of [H]ardcore gamers rejoiced in sheer gaming ecstasy.
But all was not well with the newborn 8800GT as some of us would soon discover. It would seem that in its haste to release a quiet yet powerful product NVIDIA was overzealous in their estimation of airflow inside the typical PC gamer's case. Or maybe the guy doing his homework on the thermal envelope for the 8800GT boards fell asleep on the job the day the design was being ironed out. Who knows? Soon all of the popular enthusiast communities were ablaze with people complaining that their new 8800GTs were getting too hot under normal usage conditions. How hot? Hot enough to cause the spontaneous human combustion of 51 young gamers at a LAN event in Houston, Texas. OK... OK... I just totally made that up. But in all seriousness it wasn't uncommon for people to see GPU temperatures over 100 degrees celsius after several hours of heavy gaming in popular titles like Crysis. And in short order the complaints of heat related lockups and artifacting began to roll into the RMA departments of the major board partners. NVIDIA had a Cry... errr.... crisis on it's hands.
Shortly thereafter the damage control team at NVIDIA went into full motion. Not only was the original reference cooler redesigned with a larger and more quiet fan designed to keep the card cooler and silent, but the board partners were issued warnings about the thermal issues with the boards that had the original cooler installed and encouraged to release new BIOSes to the end user with an updated thermal profile for the integrated fan controller on the 8800GT boards. We began to see new BIOS releases from most of the major board partners which featured this updated thermal profile for the cooling fan and for the most part these BIOS releases have helped cool down some blisteringly hot cards.
But that wasn't enough for some of us. We wanted the ability to alter that thermal profile even more and now we have it. The folks at mvktech have released NiBiTor 3.7 and with this holiday release comes the ability to make those very fan alterations that we desire!
NIBITOR 3.7 - NEW FAN IC FEATURE
I'll assume that if you are reading this howto you have heard of NiBiTor before. NiBiTor is short for NVidia Bios Editor and this piece of software does just what you would expect it to do - it allows you to make any number of alterations to your NVIDIA card's BIOS. You name it and you can probably change it, from core and memory clocks to power-on messages you can do it with NiBiTor.
With the release of NiBiTor 3.7 we see a slightly redesigned "Temperature" tab. Look at the screenshots below:
(NiBiTor 3.6)
(NiBiTor 3.7)
See that new button labeled "Fanspeed IC"? That's our ticket to fan control freedom on the G92 baby! Click that button and you will get a warning from NiBiTor that you are about to delve into dangerous territory. Are you scared yet?
NVIDIA'S NEW 8800GT BIOS - BEFORE AND AFTER
So now that we have the ability let us take a look at the difference between the original 8800GT BIOS versions and the 'new' versions with the updated fan controller thermal profile:
Above you see the profile for the original shipping BIOSes on the 8800GT 512MB cards. We can see from this screen that the fan is set to operate at 30% and will not change until the GPU temperature reaches about 80 degrees celsius (TLow). If the temperature reaches 100 degrees celsius the fan will ramp up to full speed (100%) until such time as the GPU temperature drops below 98 degrees.
Now let's look at the "updated" BIOS with the new fan controller settings:
Above you see the profile for the 'new' BIOS that the board partners have been releasing for the 8800GT 512MB cards with the original cooler. We can see from this screen that the fan is set to operate at 30% and will not change until the GPU temperature reaches about 65 degrees celsius (TLow). If the temperature reaches 100 degrees celsius the fan will ramp up to full speed (100%) until such time as the GPU temperature drops below 98 degrees.
Take note that I'm no rocket scientist. I've figured out and/or assumed the definitions below:
TCrit = Critical threshold temperature - at this temperature the fan will throttle up to 100% (full speed)
THyst = Hysteresis - Google the definition but it's kind of like a "buffer" value so that the fan speed doesn't go bouncing around like mad every time the temperature changes a tiny bit.
Tmin = Minimum allowed temperature. Below this temperature the fan will run at the Minimum Duty Cycle speed setting.
THigh = High limit trip point ?unknown?
TLow - Low side trip point. When the temp reaches this point it will begin to ramp up in speed beyond minimum duty cycle.
Toperating = At this point the fan controller will start to dynamically adjust TMin based on the current temperature of the card. I'm not clear on this but I'm assuming the higher the temperature the higher TMin is adjusted.
Trange slope = How fast the fan ramps up to maximum speed.
Min. Duty Cycle = The absolute lowest fan speed the fan controller will ever run your card's fan at.
So looking at the 'new' BIOS we can see that the fan starts to ramp up significantly earlier than on the original BIOS. Instead of waiting until the card is cooking at 85 degrees celsius the fan speed kicks up at a much lower 65 degrees celsius. But what if you want that value even lower? Or what if you want to increase the minimum fan speed on your card (Min. Duty Cycle). Yes! You can DO IT!
LET'S MAKE SOME CHANGES!
So here we go from beginning to end. Oh yeah, let's repeat that disclaimer again in case you didn't see it at the top of the post:
<<<<<<<< WARNING >>>>>>>>
The procedures outlined in this guide could possibly render your video card inoperable, damaged, fried, crippled, and/or all of the above if done improperly. Altering the BIOS on your card and/or flashing your card with the altered BIOS can and probably will VOID THE WARRANTY. In short and to be quite blunt, if you fuck up your card don't come back and accuse me of twisting your arm and making you flash your new card. Capiche? Good! Let's GO!
OK now let's go!
First, let's you need to install and run NiBiTor 3.7 which is as simple as unzipping the archive and then double clicking the nibitor.exe (honestly, if you didn't figure this out you had better just stop right now and let mommy back on the PC to play Peggle or something).
Vista Users: NiBiTor should run on the 32-bit version of Vista perfectly fine. However, the 64-bit version of Vista may require some elbow grease when it comes to dumping the BIOS. For instance you may need to disable driver signing at boot in order for NiBiTor to function properly. (Reboot, hit F8 at the black screen before the Vista loading bar pops up, and select "Disable driver signing...").
If disabling driver signing doesn't work then you can use the following workaround posted by [H]ardForum user Vette8855:
Ranger - I used GPU-Z to download the GPU Bios without any problems, it just saves it as a different extension (img instead of bin), but NiBitor can read it anyway.
So.. I got the bios through GPU-Z, opened it in NiBitor, save it as oldbios.bin (as a backup), then edited it and saved that as newbios.bin. Everything seems to have worked well.
This was in Vista64 without disabling driver signing.
Once you have your BIOS dumped with GPU-Z you can edit it in NiBiTor with no problem.
Now you should be at NiBiTor's main window:
Great! But as you can see things are a little.... empty. That's because we haven't loaded a BIOS yet so let's take care of that now.
Go to the 'Tools' pulldown menu and hover over 'Read BIOS' and then click on 'Select Device'. You should be presented with a window similar to this:
As you can see I only have one card installed, and that's my 8800GT 512MB PCIE. So I'm going to make sure it's selected and click the 'OK' button. If you've got multiple cards installed you should select the device ID that corresponds to the card you want to change the fan profiles on. After you click OK you should be sent back to the main NiBitor Window.
Now click on the 'Tools' menu once again, hover over the 'Read BIOS' item, and click on 'Read into NiBiTor:
NiBiTor will take a second or two to read the BIOS from your card and then you will be sent back to the main NiBiTor window.
Things look different now, don't they?
As you can see we now have your card's BIOS loaded into NiBiTor! Now we're ready to make some changes. *evil laugh*
*** At this point you can make any number of changes to your card's BIOS. Want to raise the default core/shader/memory clock? Well it's right there in front of you! Those changes really aren't the focus of this howto but if you feel like making them now would definitely be a good time. Just make sure your card can actually run COMPLETELY stable at whatever clock speeds you set should you choose to change them. For example: I know my Asus EN8800GT will run quite happily at 700/1700/1000 but it's stock clocks are only 600/1500/900. So to gain a little bump but still be safe I raised my BIOS clocks to 650/1620/950. Yup, it's that easy. ***
Now, let's head for the temperature and fan controls and cool this puppy down a little!
Click on the 'Temperatures' tab and you will be presented with this warning:
Read the warning. Know the dangers. I'm serious - if you don't know what you are doing or are not paying attention and do something stupid like zeroing out your fan speeds, you can FRY YOUR CARD. Toast. Flambe. Fricassee. No more fapping to the Dawn demo for you...
OK so now that you've accepted your mission despite it's dangerous nature, click OK and get that warning out of the way.
Now you should be in the Temperatures tab of the NiBiTor main window. DO NOT change any of the settings on this page, instead click the button in the lower right hand corner of the window labeled 'Fanspeed IC'. You'll get a window similar to the following:
This is what the fan speed IC settings for my card look like, and if you are particularly sharp you will notice that these settings are from the 'new' 8800GT BIOSes that have been released with the 'fixed' fan control profile. So my card should be reasonably cool right? Well I'm a control freak. So let's say that I want to raise the MINIMUM fan speed for my card to something higher. Why? Well a higher minimum fan speed (Min. Duty Cycle) should in theory at least lower my card's idle temperature and possibly increase the overall lifespan of the card itself.
So I'm going to make a simple change to the fan speed profile for my card's BIOS so that the fan will not spin any lower than.... ooooh... say 60% of it's maximum speed. That's effectively double the stock minimum duty cycle of 30% and should net a noticable difference in idle temperature. It should also help with load temperatures a bit since the fan will be starting from a higher speed anyway. So let's change the value for 'Min. Duty Cycle' to 60%:
There we go! You may like something a bit lower because as the fan speed gets higher the whine of the (original) stock cooler becomes more and more noticeable. If you've got one of the 8800GT cards with the new updated larger fan 60% will probably sound nearly silent for you (I freaking hate you!). For me 60% is fine because I have a lot of ambient noise in my computer area anyway and I'd rather keep my card cool.
But there are several more options you can change. Say you want the fan to start ramping up in speed sooner than it does currently. Well you can adjust the 'TLow' value to something you feel is more appropriate. Since I already have the 'new' BIOS my TLow is set to a fairly comfortable 65 degrees celsius, but I'm going to lower it even more to 60 degrees celsius to help my card cool itself off sooner:
And as you can see there are several more options here to explore, many of which I have yet to try out myself. For instance, if you set the Automatic/Dynamic toggle to 'Automatic' fan control appears to becomes a bit more straightforward.
Want your fan to reach 100% speed sooner? Adjust TCrit to a lower value than the 100 degrees celsius that it comes set at by default.
Want your fan to switch from one speed to the next more gradually? Tick the box next to 'Acoustic Enhancement' and the fan should ramp from one speed to the next on a more gradual basis.
There appear to be many, many possibilities!
OK so here's how my new fan profile looks:
So as you can see I've changed the Minimum fan speed (Min. Duty Cycle) to 60% and lowered the point at which the fan begins to ramp up in speed (TLow) to 60 degrees celsius. Now we just need to save the edited BIOS file and get it flashed back onto the card.
Oh come on, you need a visual aid for that too? OK fine... go to the File menu and click on 'Save BIOS file':
You'll get a standard Windows 'Save File' prompt wherein you can choose the name of the file you want to save your BIOS as, I chose to name mine 'newbios.rom'.
Now all we need to do is get this new BIOS flashed onto the card.