content: It all changed with Windows NT 4 where software did have to go through a driver that then passed the information to ring 0. Since then, Windows became more stable because programs did not have direct control over the video card anymore. But drivers were needed to be rewritten. A lot of hardware did not work on the newer NT 4.0  Actually it was NT 3.5 and earlier that ran the graphics driver completely in user space.  Full user space graphics driver performance kinda sucked though so in NT 4.0 they moved the graphics driver back to the executive layer which was ring 0 (subsequently this was the first version of NT that supported DirectX).  So yes, drivers needed to be rewritten for NT 4.0 but this was to support kernel mode operation (and bad drivers could take down the system). This kernel level driver model was carried through into win2k and XP as the windows 2000 Display Driver Model (XDDM). With Vista, Microsoft introduced the Windows Display Driver Model  which split the graphics driver between the kernel and user space.  This hybrid model tries to minimize the amount of kernel space driver to the core performance critical parts.  It provides improved fault-tolerance but does require certain hardware features (like shader 2.0). Vista and Win7 supported both models (XDDM and WDDM).  Windows 8 and newer only support versions of WDDM.