11 comments

[ 3.5 ms ] story [ 52.7 ms ] thread
It's ambiguous to say "30% of Windows crashes", since the article reports that it's 30% of Windows Vista crashes.

And not to be glib, but if your Vista is crashing, I'd be more inclined to blame a shoddily made OS than graphics drivers. After all, there is something to be said for the fact that the OS is built such that a bad driver can crash it.

Also of note is that the article doesn't say how MS determined that the crashes were nVidia's "fault". If I create an OS that crashes whenever any program writes my competitor's logo to the display buffer, can I blame my competitor's website for "crashing my OS"?

Not to be an MS apologist, but bad drivers can crash any OS.

In Linux for example, time critical parts (eg. ISRs) will typically reside in kernel space. So if your driver has some bug (ie, makes a blocking call), you'll crash.

Interesting.

I guess the point I was getting at (which, on rereading my post didn't really come through at all), is that they seem to be blaiming other software developers without actually defining how they attributed said crashes. Perhaps it's outside the scope of the article, but I'm just a touch dubious of an article in which MS blaims others for their OS crashing. Doubly so when they don't provide much more than a pie chart to back that up.

I'd be very interested in seeing how you'd write a graphics driver that doesn't at least have some kernel mode portion. PCIe/AGP memory accesses need to be in terms of physical memory addresses, as mainstream PCs don't have hardware IOMMUs.
I'll be the first to admit that the extent of my knowledge of graphics cards and drivers doesn't extend much past how to install them. Maybe I'm wrong, but it seems to me that on the dual-boot systems I've used (mostly machines designed for cross-platform testing) Linux and previous versions of Windows (notably XP in its SP 1 iteration), seem WAY more forgiving than Vista and don't crash or recover gracefully in situations where Vista bombs.

Admittedly, this is based on personal anecdotes and, as the saying goes, the plural of "anecdote" is not "data".

Well, my theory is that the problems are caused by the fact that Vista uses 3D acceleration for its Aero Glass UI. Graphics drivers almost never crash in 2D mode in my experience, on both WinXP and Linux. 3D mode tends to be much less robust. Having programmed 3D graphics hardware on the "down to the metal" level in game consoles, I'm not that surprised. GPUs hare hugely complex and tend to have a significant amount of hardware bugs or quirks that can make the developer's life really hard.

By the way, I don't use Vista on any of my systems (yet) so I'm just assuming that the reports of instability are accurate.

What about Linux crashes?

No one can do surveys like that for Linux though, since there is no central authority. Oh well, I suppose we'll have to live without useless statistics. :(

In my experience, proper crashes (although very rare except when badly configured) in Linux are frequently graphics driver problems as well, although I think here ATI/AMD win with their terrible fglrx drivers. Both ATI's and nVidia's drivers cause way more problems in 3D mode than 2D, which might explain the quantity of Vista crashes: Aero Glass uses 3D acceleration.

Generally, I suspect badly written drivers or drivers for two components that step on each others' toes are probably the main cause for OS crashes on any OS.

One quibble I have with Linux itself is how it handles out-of-control processes that keep allocating memory. The X session crawls to a halt while the kernel swaps like crazy and you don't get a chance to kill -9 the process. ssh or console logins fail because they time out before you get the password prompt. Linux proceeds to kill off processes one by one, but keeps the amok process alive and tries to satisfy its insatiable hunger for memory... Ok, so it happens to me maybe 1-2 times a year, but when it does, it REALLY pisses me off. Especially as the amok process is usually caused by a bug in my code. :) I think the Flash plugin also had a bug like that a couple years ago.

I have a few Nvidia cards that reliably crash linux even though (or perhaps because) I use their official precompiled binary drivers. I've tried multiple cards, multiple mainboards, multiple distros and multiple kernels.

Just one of those things. Shrug, shudder, and use ATI.

I actually just installed Ubuntu Linux on my laptop because Vista crashed alot of the time when security mode kicked in. My machine would hang for atleast a couple of minutes, then BSOD. It was always because of nvidia drivers, but i had installed the latest, and the Vista error help program said there was no solution :)

I'd always wanted to try Ubuntu, but didn't want to invest the time in setting it up, as I don't want to do anything not related to my start-up. The crashes finally made it related, and i couldn't be happier.