[linux-l] Linux Device Drivers?

Jan-Benedict Glaw jbglaw at lug-owl.de
Mi Nov 5 07:45:11 CET 2003


On Wed, 2003-11-05 16:40:43 +1100, Peter Ross <Peter.Ross at alumni.tu-berlin.de>
wrote in message <20031105155216.L712 at guckloch.zuhause>:
> On Tue, 4 Nov 2003, Christoph Lange wrote:
> > Es gab' doch da mal so ein Projekt, das device drivers für die
> > verschiedenen Unices portabel gemacht hat, so daß man für ein Gerät
> > nur einen Unix-Treiber zu schreiben bräuchte und man den dann auf
> > allesn Unices benutzen könnte - kann mir jemand mehr dazu sagen?!
> 
> Als XFree86 4 herauskam, las ich, dass die Module fuer die Karten nun nur
> noch einmal entwickelt werden muessten, weil die Ansteuerung dieser
> kartenspezifischen Module ueber eine definierte Schnittstelle erfolgen
> wuerde, so dass hier je System keine Nacharbeit noetig sei.
> 
> Ob das der Realitaet entspricht, weiss ich nicht. Ist das nun so?

Durchaus. (Zumindest habe ich in einem neueren X-Server einen älteren,
gehackten Maus-Treiber laden und benutzen können.)

> Neben dem Modul gehoert wohl gelegentlich spezieller Kernelsupport hinzu,
> um einen Graphikchip zu unterstuetzen. Exaktes weiss ich mangels

Nur, wenn's grhirntote Chips sind oder man beschleunigt arbeiten möchte.

> Hardwarekenntnis in diesem Bereich nicht, habe nur frueher meine
> Schwierigkeiten mit dem agpgart-Support fuer i810 unter Linux und FreeBSD
> gehabt.

agpgart, ja, das ist, wenn der Rotstift wieder angesetzt worden ist.
Früher hatten Graphikkarten eigenen RAM, eigene RAM-Refresh-Logik und
eigentlich alles, was sie brauchten. Heute (i8xx) ist davon nur noch der
eigentliche Graphik-Prozessor übriggeblieben. RAM bekommt er, indem er
das BIOS bittet etwas Speicher (Hauptspeicher!) zu reservieren. Wenn
einem das hinterher nicht reicht, muß man das Betriebssystem bemühen, um
diesem Speicher abzuzwacken. Das macht agpgart.

...und dann sind da noch die beschleunigten Chipsets. Diese arbeiten in
der Regel so, daß sie irgendwo physikalisch zusammenhängenden RAM
zugesprochen bekommen, indem dann Kommandos ("Male eine Linie von A nach
B", "Fülle Fläche", "Verzerre ein Bild und male es als Wand", ...)
abgelegt werden. Da man nicht mehr einzelne Pixel malt, muß man sich
darüber verständigen, wo die Kommandos hinsollen. Dazu braucht man dann
wieder Kernel-Unterstützung.

Aber das heißt nur, daß Du mit (z.B.) einem alten X-Karten-Treiber in
einem neuerem XFree-Server nur noch zusätzlich einen alten Kernel (der
mit diesem X-Karten-Treiber zusammenarbeitet) brauchst. Wenn also eine
Graphikkartenschmiede einmal einen X-Treiber herausgebracht hat, kann
sie sich die nächsten Jahre notfalls auf's Bett legen und Dich bitten,
doch lieber ihren alten, binary-only-Treiber mit einem alten Kernel zu
nutzen...

MfG, JBG

-- 
   Jan-Benedict Glaw       jbglaw at lug-owl.de    . +49-172-7608481
   "Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg
    fuer einen Freien Staat voll Freier Bürger" | im Internet! |   im Irak!
   ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: Digital signature
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20031105/e95f009c/attachment.sig>


Mehr Informationen über die Mailingliste linux-l