Jump to content

How to make a kext which would extend the functionality of an existing kext?


jafd
 Share

6 posts in this topic

Recommended Posts

What I basically need is an add-on to AppleIntelGMAX3100FB.kext, which is closed source. I have a Hackintosh with that card, but it seems like the original kext won't ever recognize its TV-Out. Although, a quick strings(1) run on the binary gives an impression that there is some support to TV encoder in the kext itself.

 

I'm wondering if it's possible to develop a kext which will load right after AppleIntelGMAX3100FB, enable the TV encoder (or at least hook itself to the display detection routine and get info if there's anything connected), instruct the framebuffer kext to extend/allocate VRAM for the TV, and (maybe) enable PAL modes for that display. Is this at all possible that a driver would mess with a device actually managed by another driver? Or call its routines (to, say, allocate VRAM buffers and extend the desktop)?

 

Reimplementing Intel GMA X3100 driver with all bells and whistles, given that Apple docs are very scarce on the subject and there are no open-sourced examples on how to do it, is a crazy idea even though hardware specs are available.

Link to comment
Share on other sites

  • 4 weeks later...

OK!

 

First: You have to get the source code of the kest. Maybe you will find that on darwin site.

 

Second: You must follow the steps in the source, maybe there is something that it is missing (surely).

 

There you need to put the exact hard/vendor ids that os will reconize for your hardware device. Try to find that ids with windows os. Also, you can try to find the BSD or any Linux distro driver source code and then you will must update the source code for mac xCode, there is a little diference...

 

Compile your updated source with xCode and test it.

 

Success!

Link to comment
Share on other sites

  • 5 weeks later...

May be it is better to make the follow:

1. Take IOGraphics sources at Apple's site. They are easy compilable.

2. Rewrite its for use other framebuffer before real framebuffer.

3. Rewrite fConnection usage to connect to TVOut.

All are real.

Link to comment
Share on other sites

 Share

×
×
  • Create New...