Writing drivers seems to be difficult

When I worked full time as game developer some years ago I learned quite quickly that the most problematic issues with computer games are graphic drivers: Some of them are buggy, and a small percentage of your customers will come back to you and blame your game for creating blue screens, randomly restarting their PC and other nasty behaviors. The game developer is completely innocent in this case, the reason for this is usually an error in the 3d graphics driver. But explain this to the customer: Quite difficult.

Today, the situation is a bit better, because apparently the quality of the graphic drivers and the operating system using it has improved (for example Windows 7 will no longer crash when its graphics driver does), but these issues still are there. But I also now have learned that this problem is not only limited to graphic drivers: Since I developed the audio library irrKlang and a lot of games are now using it, from time to time gamers report that when starting up the game using irrklang weired stuff happens: For example the screen becomes dark or mouse input stops, things which a sound library has no influence over, honestly.

Again, the reason for this is not irrKlang but a buggy hardware driver. Fortunately, these effects only happen in very, very, very rare cases, and since irrKlang supports multiple audio drivers it is possible to circumvent these, but it really makes me think that it must be quite difficult to write working hardware drivers. Or maybe these companies are simply hiring weird programmers.

six comments, already:

A printer driver once caused a video playback to crash over and over again. Guess how long it took to find this one out…
KIENI - 07 06 10 - 20:43

yes drivers are a major issue.. i think the companies that try to minimize cost by removing a feature of two that are the standard are to blame.. like we have intel doing that with built in video cards..

btw the spelling of weird in the last sentence is wrong..
Rapchik - 07 06 10 - 21:13

thanks, corrected
niko - 07 06 10 - 21:19

Ah, those good old times, spending three days debugging a blue screen caused by some graphics driver that is incapable of handling AGP textures correctly, crashing the machine after some 2 to 5 minutes playing the game… When you think that debugging without symbols is awesome, debugging without a debugger is even more so…

Btw.: Do the AMD drivers still crash when you call CreateStateBlock immediately after initializing Direct3D?
xaos - 08 06 10 - 11:05

”... Or maybe these companies are simply hiring weird programmers.”

Weird programmers combined with weak/missing quality assurance is a good recipe for software desaster. Know it from experience.
hermitC () (link) - 08 06 10 - 12:33

I know this problem. One part of the project I’m working on (responsible for the whole network traffic) always shifts it’s bugs back to anyone else instead of even searching for the real cause. That’s when software development stops being fun.
Brainsaw (link) - 09 06 10 - 07:37

Remember personal info?
Email (optional):
URL (optional):
Enter "layered" (antispam):
Comment:Emoticons / Textile

  ( Register your username / Log in )

Notify: Yes, send me email when someone replies.  

Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.
Note: If you type in your email adress above, it will be visible to other visitors, although it will be hidden for bots using javaScript.