ゲーマーにとってはお馴染みのATI CatalystとForceWare。これ以外に,IntelやVIA Technologies,SiSなどもグラフィックスドライバを提供している
デバイスドライバは,OSとハードウェアを結ぶ特殊なソフトウェアだ。例えばグラフィックスカード用デバイスドライバ(=グラフィックスドライバ)の代表例は,4Gamerでもアップデート情報をお伝えしている「ATI Catalyst」や「ForceWare」だが,これらはATI RadeonやGeForceといったハードウェアの差異を吸収して,異なるハードウェアでもアプリケーションソフトからは同じように扱える仕組みを提供する。デバイスドライバがあるからATI RadeonでもGeForceでも同じゲームをプレイできるわけだ。
その働きは逆に,ゲームがグラフィックスカードにアクセスして3Dグラフィックスを描画した場合を考えてみると分かりやすい。ATI RadeonとGeForceではハードウェアが異なるので,どちらのハードにも対応した形で開発者はプログラムしなければならず,非常に面倒な作業になる。また,ゲームにバグがあってグラフィックスカードの制御に失敗したら,それは即,PCのハングアップにつながってしまいかねない。だから,ATI CatalystやForceWareなどといったグラフィックスドライバが必要なのである。
さて,デバイスドライバはハードウェアをコントロールしなければならないという性格上,ハードウェアリソースへのアクセスが許されるモード,すなわちカーネルモードで動作せねばならない。
カーネルモードで動作する以上,デバイスドライバは同じカーネルスペースで動作するOSを停止させられる。だから,デバイスドライバにバグがあると,それはOSのハングアップに直結する。
また,デバイスドライバが対応するハードウェアへアクセスしている最中に,そのハードウェアで不具合が生じた場合も同様だ。ハードウェアの不具合にドライバが対応しきれず停止すると,OS本体も連鎖的に停止してしまい,復旧ができない状態になる。要するにハングアップするわけである。
実は,デバイスドライバのなかでも,とくにグラフィックスドライバはWindowsにとって鬼門になっていた。Microsoftによると,Windows XPで生じるブルースクリーン(=ハングアップ)のうち,なんと全体の20%がグラフィックスドライバに起因するのだそうだ。
というわけで,Windows Vistaでは,これまでカーネルモードでのみ動作していたデバイスドライバが,「カーネルモードドライバ」(Kernel Mode Driver)と「ユーザーモードドライバ」(User Mode Driver)に分けられた。ドライバが持つ多くの機能をユーザーモード側に移し替え,危険なカーネルスペースに組み込む機能を必要最小限に抑えることで,グラフィックスドライバに起因する不具合を減らそうというのだ。
ユーザーモードドライバにたとえ不具合があっても,OS本体まで壊してしまうことはなく,OSは動作し続けられる。OSは,ユーザーモードドライバに不具合を検出すると,そのドライバをいったんメモリから取り除き,OSそのものを再起動することなく再びユーザーモードドライバを読み出して,グラフィックスカードだけ再起動させることすら可能になっているのだ。
幸か不幸か,2007年2月時点では不安定なグラフィックスドライバが存在するので,「グラフィックスカードだけの再起動」はよく体験できるが,いずれにせよ,従来のようにドライバの不具合がWindowsのハングアップには直結しないので,OSの安定性はかなりの向上を見せる。

デバイスドライバが大きく変わった二つめ理由は,グラフィックスカードの進化にある。
Windows XP(やそれ以前のWindows)において,一般的なアプリケーションはGDIを使って描画されていた
Windows XP時代まで,Windowsにおけるグラフィックスは2種類の,相互にあまり関係のないレイヤーに分かれていた。
一つは,一般のアプリケーションが利用する「GDI」(Graphics Device Interface)というレイヤーだ。オフィスアプリケーションやWebブラウザ,メールソフトなどといった,ごくごく一般的なWindowsアプリケーションは,それ自体が動作するウインドウやその内部を,GDIを呼び出して描画している。そのため,グラフィックスカードはGDIを高速化する,いわゆる「2Dアクセラレーション」機能を持っていたのだ。
GDIのアクセラレーション,そしてGDIそのものが設計されたのは16bitのWindows時代にまで遡る。GDIには,「Windows 3.1」搭載機など,当時のPCに求められたグラフィックス機能が実装されているが,さすがに時代遅れの感は否めない。
例えば,GDIは3Dの機能をまったく持っていない。また,ある画像に半透明の画像を重ね合わせる「アルファブレンディング」など,現在のグラフィックスカードでは当たり前のようにサポートする機能も,GDIはサポートしていない。GDIが想定するグラフィックス機能に比べると,現在のグラフィックスカードは遙か先に進んでいるわけだ。