I may be premature, but I believe I have finally found a solution to my tribulations with my video card. What a pain in the ass it was finding it too. I spent the better part of my evening testing out my theories as to which part of my system might be having a hard time with my GeForce 3 with the latest NVidia drivers. Started with the USB devices. Disconnected them all and turned off USB support in the BIOS. 3DMark 2001 still crashed within 10 seconds. Took out the network card as I had heard that some forms of Linksys card could have issues with the VIA chipset, but alas it still crashed. So I tried moving my hard drives over to the Highpoint RAID controller which can be used as just another set of standard IDE controllers if you don’t have decent enough drives to do a RAID array (which I currently don’t). Yeah, a long shot I realize, but I was willing to try anything at this point. Not that it worked, it didn’t, though the drives seem a little faster for a reason I’m not totally certain. Fine, I’ll leave ‘em like that for now.
Next step was combing through webpage after webpage and trying every BIOS tweak I could find that seemed at all related to my issue. Changed the AGP driving force setting, lowered the voltage by a couple of notches, turned off or on Fast Writes, did every freakin’ thing I could find related to the GF3 and the VIA chipset and none of it worked.
However, I was starting to notice on some of the message forums I was visiting that folks with GF4’s and VIA based motherboards seemed to be having exactly the same problems I was. Looked into that a little closer and discovered that this problem was addressed by an older beta version of the VIA 4-in-1 drivers that closes off a particular register in the BIOS.
“It closes the RX55 memory register in the BIOS. The RX55 register’s official name and function is the Memory Write Queue (MWQ) timer. The MWQ timer is actually a timing device included in the memory host controller to prevent write data being held in the memory queue too long. After the data has been in the queue too long it times out. This timed out data is then given a higher write request priority. Now that might sound nice, a bit of extra performance, BUT the procedure fails when overloaded. 3D games and Windows XP put too much load on the memory queuing timer procedure. The new nVidia driver exaggerates the problem even more as the driver enables nVidia cards to use even more memory than previous driver versions.
So, in a nutshell, it’s a memory timing problem that only happens when the RX55 register is opened. Some motherboard manufacturers have already released new BIOS that have the register closed. In other instances, this patch is needed.”
The latest BIOS patch from Abit for my motherboard is from last July and doesn’t, apparently, fix this issue. The article goes on to say that VIA was supposedly going to roll this fix into the next 4-in-1 driver release, but that apparently didn’t happen either. Fortunately the fellow who wrote the article I found included a link to the beta driver that fixes the problem. I downloaded it, installed it, and launched 3D Mark while holding my breath. First benchmark ran just fine, second benchmark ran OK too, third benchmark made it through without a hitch and I started breathing again. Sat back and watched the complete benchmark suite run it’s course and proceeded to feel a massive sense of relief. It’s only taken me the better part of a month since I first discovered the problem to find a fix for it, but at least I found a fix. What a fucking obscure problem it was too! So, now I’m going to go and give it a good workout in Dungeon Siege and see if it stays stable. Just to be on the safe side I’ve already made a backup copy of the dinky little beta VIA driver I had to install that fixed the problem.