I figured it was finally time to do a BIOS update on one of my main Linux boxes. The MSI NF 980-G65 AMD motherboard came with an AMI BIOS dated September 2009. This MSI motherboard is based on the NVidia NForce 980a chipset, and has built-in NVidia GeForce 8300 video (which I do not use).
Powering up this system has always been a little flaky, requiring a couple of reset-button presses before it would boot into Linux (it would hang at the BIOS splash screen). After boot-up, the system always ran great.
Alright, so on to the BIOS update. MSI has the live update online program which requires, of course, Microsoft Windows, and the Internet Explorer browser. Well, I don't have these on this system, and don't want to put them on it.
In the AMI BIOS setup program, I see the M-Flash option. I try this, but can't get it to work. Some research on the Internet indicates that it's very likely you'll wreck your BIOS using M-Flash anyway, so that's out.
After googling about, I finally go to this site  to see how to flash a motherboard bios from linux with no DOS, no MS Windows, and no floppy-drive.
This technique involves getting a freedos DOS floppy boot image, mounting this floppy image temporarily using mount loop, copying the flash exe and rom files to the mouted floppy image, and burning this to a CD. So you end up with a bootable DOS CD with your two flashing files on it. You then boot your computer from the CD and flash your motherboard.
This all works fine, and I flash the motherboard with the new BIOS version.
Upon reboot, the system seems sluggish, and I can't boot into a GUI. After reading the error messages when I try startx, I see that the nvidia blob driver is trying to use the built-in NVidia card rather than my slotted PCI-E NVidia GeForce 460 card.
Back into the BIOS setup--set the PCI-E as primary, and disable the SLI hybrid setting.
OK, reboot, and I now have a GUI. But it's incredibly sloooooow. It's so slow, I can't re-size a konsole terminal. Turning off desktop effects compositing helps a little, but I finally see what everyone is complaining about with slow NVidia-KDE4 performance. But come on! After all, this is an NVidia GeForce GTX 460 256-bit memory 1024 GDDR5 ram card here. I spent over $200 on this card because I use the system for video editing.
I go to the KDE NVidia performance tuning site  and read all the info. I copy and paste this stuff into the device section of my /etc/X11/xorg.conf file:
Option "RenderAccel" "true"
Option "UseEvents" "false"
Option "TripleBuffer" "1"
Option "DamageEvents" "1"
Option "BackingStore" "1"
Option "PixmapCacheSize" "70000"
Option "OnDemandVBlankInterrupts" "true"
Reboot, and this does the trick! My system performance is back to normal. But, remembering back when I built this box, I bought very fast rated memory, so I went back into the BIOS setup and optimized the RAM timings. Now, I have a system faster than I ever had before. And the icing on the cake is, it's very, very stable. Boot problems are gone. No freezes or lockups.
It is a mystery to me why the BIOS update initially screwed-up the NVidia video performance.