Hello all. Kevin here from slighPC’s, and I want to take a moment to address a rather huge headache that I’ve come across on-site recently. I’ve run into this sort of thing working on people’s home systems quite a few times, but this was most certainly far and beyond the most annoying and time-consuming variant that I’ve run into.
As the title suggests, I’m talking about ATI’s Catalyst drivers and software for Windows platforms.
Now, anyone who is an avid gamer is quite familiar with ATI’s driver package woes. Several of today’s most popular games have at one point or another had troubles directly relating to the poorly-coded implementation of Catalyst packages. Flash back to 2006, when half of my guild (a group of players) could not play World of Warcraft in the specific dungeon we were working on beating at the time (Blackwing Lair) because the current version of ATI’s abomination that passes as a driver would cause constant crashes when it encountered specific architectures in the game. Ask any gaming company’s tech support about Catalyst drivers and likely you’ll elicit a series of groans and eye-rollings followed by a tirade about how much of a pain they are. There’s a reason the vast majority of today’s hottest PC titles brandish an NVIDIA (ATI’s competition in the graphics card industry) logo.
However, up to this point I’d never run into any problems in terms of ATI with anyone who wasn’t a gamer or a 3D modeler. That is, until recently.
Pinpointing the Problem
About a week and a half ago, I was called out to a client site to investigate a series of errors occuring on a workstation running Windows Vista 64-bit edition. The user was experiencing error messages and blue screen crashes on a fairly regular basis. Thankfully, he had written down the errors he was receiving for me to check into. My first instinct, based on experience, was that this was a hardware conflict of some sort; in this day and age programs are rarely so poorly-written as to cause BSOD crashes. After investigating the error code and checking the given memory address of the problem against the device IRQs in Device Manager, sure enough it was related to the ATI Radeon 4800 series card the user had installed.
The first step I decided to try was, of course, updating the video driver which was several months out of date. Video card drivers typically need frequent updates to remain functional as bugfixes are common and performance issues are improved with each new release. So, after grabbing the newest verion of the Catalyst Control Center package I’d figured the problems would resolve themselves quickly. Wrong. Upon restart, a new error message prevented itself, albeit not a blue-screen related one:
Could not load file or assembly ‘MOM.Implementation, Version=2.0.3257.27085, Culture=neutral, PublicKeyToken=90ba9c70f846762e’ or one of its dependancies. The system cannot find the file specified.
Upon querying the client about the message, his response was that this error had actually been popping up after every single restart. Interesting, to say the least. So, to the web I went to do a little research. As it turns out, this too was related to the ATI card and its interaction with the .NET Framework packages which were a native part of Windows Vista. Recommendations for dealing with the problem included a lengthy series of steps, including uninstalling and reinstalling the ATI drivers, updating and/or installing the .NET Framework to version 3.5 along with its Windows Update-distributed Service Pack 1, and uninstall/reinstall of the Visual C++ 2005 and 2008 Redistributibles. So after setting about to do all this (and waiting for ages for Vista’s molasses-paced Windows Update procedure, but that’s another rant for another blog entry) I’d figured the OS wouldn’t have a problem finding the missing file. However, upon restarts the error persisted.
Into the Breach Once More…
So, I dug a little deeper into my research on the issue, targeting the general nature of the error rather than the specifics. Once again, the documentation found suggested installing all the aforementioned packages. Once again, the error was related to ATI drivers. However, it was also suggested to take a step by step check of the registry and Windows/INF directories to clean out unused installation files and deprecated dependencies before reinstallation of the Catalyst files. As I furrowed my brow, I wondered why this was necessary…didn’t the fine folks at ATI (who was recently acquired by AMD) know how to code driver package updates which properly checked for and cleaned out previous versions of the software?
ThenĀ I remembered the gripes from my gaming days with the company’s products, and of course that question turned out to be rhetorical.
After installing CCleaner (http://www.ccleaner.com), a great little program for finding and eliminating unused registry entries which could be causing rogue problems, and running a scan which cleaned out almost 200 antiquated keys, another restart was in order. Of course, the error still persisted even with no ATI drivers presently installed and running, which forced me to roll up my sleeves, run regedit.exe and look for the offending keys myself. What I found simultaneously amazed and disgusted me; every single reinstall of the Catalyst driver package and Control Center had left active registry keys in LOCAL_MACHINE and CURRENT_USER which were not wiped out by the uninstall process or even CCleaner, the latter being a first time occurance for me. After thoroughly deleting these entries, and then scouring through every file in the INF directory to make sure the old install files were properly disposed of, I performed yet another restart.
Boom, the error was gone. After that, I went ahead and reinstalled the latest Catalyst drivers and the error (and associated blue screens) stayed down for the count.
The Final Word
So there you have it. While ATI graphics card have more or less great performance (the gap between the latest generations of ATI and Nvidia cards are nearly negligible), their drivers more or less suck. What can you do to alleiviate this? For starters, there exist alternate drivers for ATI products, the Omega drivers, which have long been used by the gaming community to address specific problems that ATI were either unable or unwilling to fix in any expedient terms. Of course, if you use Linux, you’ll be happy to know that AMD themselves support open-source drivers for that platform. Yet another reason not to use Windows? Indeed, as this whole headache would have been avoided if we’d been using well-coded and thoroughly documented community-supported drivers to begin with.

Categories
Tag Cloud
Blog RSS
Comments RSS
Last 50 Posts
Back
Void
Life « Default
Earth
Wind
Water
Fire
Light 