# Windows Display Driver Model

Il Windows Display Driver Model (WDDM) è un modello per i driver delle schede video introdotto da Microsoft in Windows Vista e successivamente 7. Tutti i driver grafici progettati devono rispettare le specifiche del WDDM che è il framework grafico di Windows anche delle edizioni successive.
Esso rappresenta una notevole evoluzione rispetto al Driver Model di Windows XP (XPDM) e consente una maggiore stabilità e sicurezza. È la struttura tecnica alla base del nuovo ambiente grafico di Vista, Windows Aero.

## Struttura

In Windows i driver grafici sono composti da due componenti principali, uno in modalità User mode (modalità utente) e l'altro in modalità Kernel mode (modalità kernel). Quest'ultimo ha accesso diretto alle risorse hardware e viene trattato come parte integrante del sistema operativo, pertanto un errore interno del driver dovuto, ad esempio, alla gestione errata della memoria di sistema (RAM), causa problemi al sistema operativo e si traduce nella maggior parte dei casi in un crash del computer. La parte del driver che risiede nello spazio utente ha invece un accesso limitato alle risorse hardware ed è isolato dal sistema operativo, pertanto non rappresenta un pericolo per la stabilità del sistema.
In Windows XP viene sfruttato in modo massiccio il componente in kernel mode: vengono infatti eseguiti gran parte del codice del driver e le API (Application Programming Interface) GDI e Direct3D. Risulta quindi elevata la probabilità che un errore del driver porti a un blocco dell'intero sistema.
L'idea alla base del WDDM di Vista è quella di spostare gran parte delle funzioni del driver nello spazio utente (UMD - User Mode Driver, e di eseguirne il minor numero possibile in kernel mode (KMD - Kernel Mode Driver).
Il KMD è un'interfaccia tra il driver e l'hardware e non è strettamente interconnesso al sistema operativo.
I componenti UMD sono multipli e gestiscono ciascuno una libreria grafica (ad eccezione di quelle 2D, non più presenti in Vista) e non interagiscono in modo diretto con il KMD e l'hardware. Inoltre Windows carica un UMD separato per ogni applicazione in modo che eventuali errori non minino la stabilità del resto del sistema.

## Compatibilità

Tutte le schede grafiche attualmente in commercio supportano il WDDM, ma non tutte quelle ancora presenti nei computer di qualche anno fa. In linea generale, le schede nVidia a partire dalla GeForce FX 5200 e le schede ATi a partire dalla Radeon 9500 supportano il WDDM. Per le schede integrate Intel, la compatibilità comincia con il chipset 945.

## Versioni

* WDDM 1.0: Integrato in Windows Vista
* WDDM 1.1: Integrato in Windows 7
* WDDM 1.2: Integrato in Windows 8
* WDDM 1.3: Integrato in Windows 8.1
* WDDM 2.0: Integrato in Windows 10 RTM (v1507) e November Update (v1511)
* WDDM 2.1: Integrato in Windows 10 Anniversary Update (v1607)
* WDDM 2.2: Integrato in Windows 10 Creators Update (v1703)
* WDDM 2.3: Integrato in Windows 10 Fall Creators Update (v1709)
* WDDM 2.4: Integrato in Windows 10 April 2018 Update (v1803)
* WDDM 2.5: Integrato in Windows 10 October 2018 Update (v1809)
* WDDM 2.6: Integrato in Windows 10 May 2019 Update (v1903) e November 2019 Update (v1909)
* WDDM 2.7: Integrato in Windows 10 May 2020 Update (v2004), Novembre 2020 Update (v20H2) e May 2021 Update (v21H1)
* WDDM 3.0: Integrato in Windows 11
Nonostante le versioni aggiornate di WDDM siano incluse nei sistemi operativi più recenti, per essere sfruttate necessitano di un driver aggiornato da parte del produttore della scheda video. Infatti, se il driver non supporta le versioni più recenti di WDDM, potrebbero essere in esecuzioni versione obsolete su una versione di Windows che ne supporta di più recenti, o viceversa.