These days (early 2006), mid- to high-end graphics cards have graphics processing units (GPU's) that give off a lot of heat and need powerful fans. These fans can be quite noisy. The free program RivaTuner can be used to minimize fan noise while still providing enough cooling for you card. Here's how.
Disclaimer: Follow these instructions at your own risk. These steps worked for me, but they might not for you. Try them and pay attention to your GPU temperature to make sure things work. If you follow these instructions and burn up your card because you set your fan too low or because RivaTuner doesn't work or because for some reason your system doesn't work like mine does, I disclaim any responsibility.
This was done on RivaTuner v2.0 release candidate 15.8.
Get RivaTuner from http://www.guru3d.com/rivatuner/, and install it.
Start RivaTuner, click on the "Main" tab, click on the "Customize..." icon in the "Driver settings" panel. Then click on "System settings". You will get a "System tweaks" window, as follows.

Click on the "Fan" tab.

Set all your fan speeds to 100% and click "Apply". This will set your fan to 100% speed, which will allow you to see what your lowest steady-state GPU temperature is.
Close the previous window (the "System tweaks" window). Click on the "Main" tab, click on the "Customize..." icon in the "Target adapter" panel. Then click on "Hardware monitoring".

This will bring up graphs of, among other things, your GPU temperature, as follows.

Let your fan run at 100% for about 5-10 minutes (enough to reach steady state) and look at what your "Core temperature" is. This is your baseline temperature -- about as cool as your GPU is going to get. In the example above, it's 48 C. For reference, if you are using an nVidia GeForce 6800GS, and if your room temperature is about 68 degrees F, your GPU (or "core") temperature with the fan at 100% should be about 45 C or so with no computationally intensive graphics program running (i.e., just your normal Windows environment).
Now add a few C to that temperature (for a 6800GS, that would be about 49 C, say). It's time to see how low you can set your fan and still be under that temperature. Keep your temperature chart up and additionally go back into your fan-speed settings (click on the "Customize..." icon in the "Driver settings" panel, then click on "System settings"). Set your fan speed to 30% and watch your core temperature. If it goes above 49 C (or whatever baseline plus 4 or 5 is for you), set your fan speed to 40% and see if it goes below 49 C, and so on. Find the highest fan speed that gets your core temperature below 49 C. On my nVidia 6800GS from XFX (the OEM brand), I can set my fan to 30%, and the core temperature settles at 48 C.
Set the slider for fan speed of "standard 2D" to whatever you found in the previous step (30% for my 6800GS, 65% in the picture below, which is for a non-GS 6800). Set the slider for "low power 3D" and "performance 3D" to 100%. If you're gaming, might as well have the fan at 100%. You'll have the sound on or headphones on anyway, right?

Click on the "Apply fan settings at Windows startup" and click on "Save".
Also, set up RivaTuner so that it automatically starts when Windows starts. Click on the "Settings" tab, which will bring up the following.
Then click on "Send to tray on close" and "Run at Windows startup" (using "via Startup folder"). Click "OK".
Go back to the fan-speed setting window (click on the "Main" tab, click on the "Customize..." icon in the "Driver settings", t hen click on "System settings"). Set the "standard 2D" fan speed to whatever you selected as your default fan speeds that will be used at Windows startup (for me and my 6800GS, 30% for "standard 2D", 100% for the other two).

Click on the "Save fan profile" icon, and give this setting a name, such as "normal".
Now set all the sliders to 100%, and save this profile and give it name, such as "fan at 100%".
Click on the "Launcher" tab, which brings up the following.

Click on the "Add new item" icon, and select "add regular item". This brings up the following.

Give this launch item a name, such as "fan at normal". Click the "Associated fan profile" box, and select the normal fan setting. Then click the "OK" button.
Go back to the "Launcher" tab, click on "Add new item" icon, and select "Add regular item" again. This time, make the launch name "fan at 100%". Click on "Associated fan profile" box, and select the all-100% fan profile. Then click the "OK" button, as follows.
Now you have two launcher items: "fan at normal" and "fan at 100%". Click the "OK" button on the "Launcher" pane.

Get back to your "Core temperature" graph.

Click on the "Enable background monitoring" icon so that it looks indented.
Right click in the "Core temperature" chart area, as follows.

Click on "Setup". This gives the following window.

Click on the "Add new threshold" icon, which brings up the following.

Pick a name, such as "50 C transition". Pick a value that is 7-8 C above your baseline temperature. For me, for normal Windows and my fan at 100%, my GPU temperture is about 44 C. I can set my fan to 30% and get to about 48 C. I pick 50 C as my transition temperature (2-3 C above my normal steady-state temperature, which is 4-5 C above my lowest-possible temperature).
Set the minimum threshold crossing period to 2000 ms (2 seconds), treat missing core temperature as 100 C. Launch an "item" on upward threshold crossing. Launch the "fan at 100%" there. Launch an "item" on downward threshold crossing. Launch the "fan at normal" there. Click on "OK".
You are now back at the "Core temperature monitoring" window.

Click on "OK". This results in the fan going to 100% if the GPU temperature goes above 50 C, and the fan goes back to 30% if the GPU temperature goes back below 50 C.
This is a bare-bones setup with one transition. For example, for me, I actually have multiple transition points,as follows:
45 C, downward transition fan goes to 30%, upward transition does nothing.
50 C, downward transition fan goes to 30%, upward transition fan goes to 100%.
63 C, downward transition does nothing, upward transition fan goes to 100%.
The reason for these seemingly odd transitions is as follows. Suppose I was just playing a graphically intensive game. At 100% fan, the GPU tempertaure for me will still be up around 60 C. If I then reboot my computer, RivaTuner will start, it will set my fan to 30%, and since the GPU temperature is above 50 C, the 50 C transition won't be hit. If I didn't have the 63 C transition, the fan would stay at 30% even though the GPU will get quite hot. So, I set the 63 C transition to set the fan to 100% when it is hit, but if the temperature drops below 63 C, it doesn't do anything -- the fan will stay at 100%. Likewise, if the fan is somehow at 100% and the GPU temperature is below 50 C, I've got the 45 C transition in there to get the fan back to 30%.
Keep in mind, 30% for my nVidio 6800GS is a decent normal setting. For your card, it might need to be higher or lower than that. Also, your baseline temperature might be a lot different than 45 C, and thus your transition temperture you pick might be different than 50 C. At any rate, that gives you enough information to use RivaTuner and triggers to play with fan settings to keep the noise down as much as possible.
You can make more transitions to do whatever is suitable for you. Make sure you pay attention and don't burn up your card!
-- Brooke (brooke@electraforge.com)