Ein Grafik-Treiber vermittelt zwischen Deinem Programm
und der Hardware.
Im einfachsten Fall kuemmert der sich um das richtige
Timeing (welcher Pin muss in welchem zeitlichen Rahmen
getoggelt werden).
Oft aber gehen Grafik Treiber noch weiter. Da gibt es
dann Funktionen die ein Pixel setzen, eine Linie zeichnen,
einen Buchstaben aus Pixel zusammensetzen, mit der letzten
Funktion einen kompletten String an eine bestimmte Position
ausgeben, usw.
Der Sinn der Sache besteht darin, dass
* man diese Funktionalitaet nur einmal programmiert, eben
im Grafik Treiber.
In allen weitern Programmen greift man dann auf die
Funktionalitaet zurueck, die der Treiber bereitstellt.
* man bei Hardware-Aenderungen flexibler reagieren kann.
Man bau einfach einen 2-ten Grafik Treiber, der die neue
Hardware unterstuetzt aber ansonsten die gleiche Funktinoalitaet
bietet (Pixel, Linien, Text). Dann kann man alle Programme,
die ueber den Treiber gehen, ganz einfach auf die neue Hardware
portieren. Im Idealfall braucht man dann naemlich im Programm
gar nichts aendern. Es wird einfach der neue Treiber gelinkt,
und da der ja funktional identisch mit dem alten war,
funktioniert alles wie gehabt.
Der Sinn eines Software-Treibers besteht immer daran eine
Zwischenschicht einzuziehen, die das eigentliche Programm von
den Details des anzusteuernden Systems entkoppelt.