Teaserimage

EWProxyFramebuffer

by Enno Welbers, written on 19.06.2010 Permalink

Unter diesem kryptischen Namen verbirgt sich ein Open Source Projekt von mir, dass derzeit bei github gehostet ist: http://github.com/mkernel/EWProxyFramebuffer

Es handelt sich um eine Kernel Extension für Mac OS X Snow Leopard, die eine Grafikkarte emuliert. Der Quellcode ist dokumentiert und enthält im wesentlichen die folgenden Komponenten:

  • Einer Bibliothek zur Kommunikation (Bild holen, Mauspositionen, etc...)
  • Einer Testanwendung
  • Der KEXT, bestehend aus:
    • einer IOFramebuffer Implementierung
    • einer IOService Klasse, die den alternativen Zugriff realisiert
    • einer IOUserClient Klasse für die Zugriffe über die Bibliothek

Der alternative Zugriff aus einem laufenden Programm heraus ist leider nicht direkt über die Framebuffer Implementierung möglich, weil diese schon vom System belegt ist. Daher wird der Framebuffer von einem "normalen" Service aus geladen und dieser kann dann von Programmen angesprochen werden.

Der Code ist unter BSD Lizenz veröffentlicht, es ist allerdings derzeit noch ein Header von Apple direkt im Projekt, der unter Apple Lizenz steht.