Wednesday, March 4, 2009

Worst usability in decades

"Click Here to irreparably trash your System"
It's hard to imagine how any modern software company should ship a "utility" like NVIDIA's driver uninstaller. Wait, here is some context...

I can't use CUDA on my machine as-is. There is an incompatibility between my NVIDIA drivers and CUDA. This root of the incompatibility is not really technical, it's bad product management.

1) The only reason I have older drivers (175.19) is that NVIDIA stopped supporting my video cards. My twin 8800 GTS cards are less then a year old, and are SUPPOSED to be supported, but the last six months of drivers break SLI, and bluescreen crash often. Way to build brand loyalty guys. :P

2) CUDA 1.1 ( all I really need ) is SUPPOSED to work with my older drivers, but has been hard-coded to work only with Visual Studio (VS) 7 or 8, NOT gcc nor VS 9. CUDA WOULD actually work with both, because gcc is supported on Linux, Sun, HP, etc. and there is no difference between VS 7-8-9 as far as CUDA is concerned. But some idiot required that the tool check to see if it is running on Windows, and if the compiler is not VS 7 or 8, it exits with an error.

3) Switching between driver versions is explicitly broken. Deliberately or not, update and rollback are broken with NVIDIA graphics drivers. To install new drivers, you must use a custom utility to uninstall the old drivers.

This utility is the worst example of usability I have seen in 20 years.


The default option :
"Remove all NVIDIA drivers, except DISPLAY",
is the option used if you just hit return. If you try it, your computer is BRICKED. The utility uninstalls the chipset drivers, which makes your PC unable to use ANY of your hardware. That includes hard drives, USB, network, mouse, keyboard even memory. Once you hit return, you will have to reinstall the OS. Furthermore, you had better have the original installation media that shipped with the PC or motherboard, because otherwise you would even be able to do that. The second of the three options:
"remove all NVIDIA drivers"
also will brick your PC. Only One of the three options:
"remove display drivers"
will leave your PC in a workable state. And OF COURSE, this tool has no warning or confirmation of any kind. If you click the wrong box by accident, and click OK, you have just completely trashed your computer.
Did I mention that almost all games tell users to install new drivers before installing the game?

4) You cannot unpack more than one CUDA version on one PC. CUDA Tools and SDKs are distributed as self-extracting executables, even on Linux and Unix. When run, the executable not only "uninstalls" any previous version of CUDA, it erases the old CUDA from your hard drive. This means that changing to different versions of the API would be stupidly difficult, because the developer would not be able to compare the old version to the new. I say "would be" because the erase functionality is only half-baked, and all you need to do to defeat it is rename the old directory before running the installer. Still, this feature is idiotic.

All this ads up to NO-WAY to develop for CUDA on my perfectly good NVIDIA setup.

No comments:

Post a Comment