InfiniteMac OSx86  


Reply
 
Thread tools Display modes
  #1  
Old 10-22-2008, 03:48 PM
nexusmac nexusmac is offline
Panther
 
Join Date: Oct 2008
Posts: 114
Question How can I develop Hackintosh Driver? for example ATI IGP (not solved) , SB700(solved)

Update : SB700 Southbridge Kext solved.
solution link is http://www.infinitemac.com/f5/sb700-...post17872.html.

ATI HD 3200 kext is still waiting solution man!

I am new with my hackintosh.

I want to learn how can I develop drivers for hackintosh Machines.

For example , I need and want to develop SB700 chipset driver for SATA support and ATI HD 3200 IGP.

I dont know how can I do and start to develop ?

can you share your knowledge and experience related to making drivers.

I am a computer programmer but I told you, I am new with my hackintosh, because of this please give detailed information, dont pass details. may be I dont know your terminology for Hackintosh.

Last edited by nexusmac; 11-04-2008 at 04:34 PM. Reason: To Update the status of development
Reply With Quote
  #2  
Old 10-22-2008, 08:30 PM
nfoav8or's Avatar
nfoav8or nfoav8or is offline
 
Join Date: Jan 2008
Location: WA, USA
Posts: 933
Quote:
Originally Posted by nexusmac View Post
I need and want to develop SB700 chipset driver for SATA support and ATI HD 3200 IGP... please give detailed information, dont pass details. may be I dont know your terminology for Hackintosh.
The first thing to know about drivers is that they are named kexts (as in kernel extensions) and are located in the /System/Library/Extensions/ folder. When you boot up your OS, the computer doesn't need to look through all of these, though, because it uses a mkext file by caching the necessary kexts together and using this information to allow for hardware detection. One way to bypass this is to use ( -f ) as a boot flag (of course without the ( )'s in there). This is a forced sort of boot in that it forces the OS to bypass the mkext and actually look in the Extensions folder. Proper permissions for the kexts must be set by invoking a Terminal command:
Code:
sudo chmod -R 755 /System/Library/Extensions/
sudo chown -R root:wheel /System/Library/Extensions/
(you can also do this with another shorter set up commands)
Code:
sudo -s
cd /System/Library/Extensions/
chmod -R 755 * && chown -R root:wheel *
after this you typically want to boot using ( -f ) and this will recache your kexts into the mkext and allow you to boot normally next time.

Now onto the Kernel Extensions... if you ctrl-click (or right click) on a kext file in the Extensions folder you will see an option for "show contents"... have a look through these contents and you'll find some .plist files. These are a big portion of the kexts as they include Device IDs (more on how to find your own can be found in the forum) which allow the kexts to find your hardware allow it to interact with the OS.

I use the Apple Developer website to learn about this stuff and I would suggest you look in to it as well. Its a big help in understanding how to make a proper kext. Just realize it is going to take a while to read through everything. (I'm not done yet either)

as for SB700 kexts, those can be found throughout the forum and at other sites. There has been a limited ability to use them though unless you can match it perfectly with your system.


by any chance when you said IGP did you mean AGP? I ran across these at one point but I don't remember where. I'll keep looking.

Reply With Quote
  #3  
Old 10-22-2008, 09:21 PM
FirstHackTosh FirstHackTosh is offline
 
Join Date: Oct 2008
Location: Baden-Wuerttemberg, Germany
Posts: 97
I think he mean the onboard mainboard graphic.

kexts for the HD3200 would be sweet :-)
QE + CI enabled :-)
Reply With Quote
  #4  
Old 10-22-2008, 10:39 PM
PingunZ PingunZ is offline
 
Join Date: Jun 2008
Posts: 65
That's a very complete and helpful reply nfoav8or, this should be added to the wiki (how mac drivers work)!
Reply With Quote
  #5  
Old 10-30-2008, 06:21 PM
nexusmac nexusmac is offline
Panther
 
Join Date: Oct 2008
Posts: 114
firstly, nfoav8or , thanks a lot for information.

Quote:
I use the Apple Developer website to learn about this stuff and I would suggest you look in to it as well. Its a big help in understanding how to make a proper kext. Just realize it is going to take a while to read through everything. (I'm not done yet either)
i need to ask which link that you are using on Apple Developer website , I mean which issues are important to develop driver related to kexts.

if you give advise about apple website , it can be beneficial.

secondly, IGP means Integrated Graphic Card, I need to have kext file to run my ATI hd 3200 IGP. do you have any knowledge about it?

Thanks for help again,nfoav8or

have a great day.

Last edited by nexusmac; 10-30-2008 at 06:22 PM. Reason: missing things
Reply With Quote
  #6  
Old 10-31-2008, 02:07 AM
nfoav8or's Avatar
nfoav8or nfoav8or is offline
 
Join Date: Jan 2008
Location: WA, USA
Posts: 933
Ahh.. haha. sorry about that. I didn't know if it was just a typo. I've never seen that acronym before (or at least paid attention to it to understand its meaning)... I've only know the "built-in" video chipsets...

well the same applies as I replied to earlier.

I need to first interject that unless your board specifically tell you that its a good IGP... its probably not. Most boards come with great abilities but they typically leave the high-end capabilities to the PCI-E/PCI cards.

http://developer.apple.com/reference...ging-date.html
I think this is the best place to start for what you want to do. Hope it helps.

Reply With Quote
  #7  
Old 10-31-2008, 01:04 PM
nexusmac nexusmac is offline
Panther
 
Join Date: Oct 2008
Posts: 114
I dont think or expect anything more than built-in Graphic card has it.

I just think that the ATI HD 3200 built-in GP must be better than HD 2600 AGP or PCI-E ?

I dont expect getting better results like Nvidia 9600 or 9800 GT.

just show better resolution such as 1440x900 and play games normally.

i think ,in this case built-in will provide something.

thanks for starting link and I want to ask for developing Built-in chipset kext, which kext I should look to modify. in fact I want to create common kext to run all built-in chipset Graphic cards.

thanks in advance, nfoav8or.
Reply With Quote
  #8  
Old 10-31-2008, 05:06 PM
nfoav8or's Avatar
nfoav8or nfoav8or is offline
 
Join Date: Jan 2008
Location: WA, USA
Posts: 933
to see what you are using as the graphics kernel extension right now, run kextstat in Terminal to view a list. You'll need to sort through these to figure out which is used for the graphics... however, it may be that your system isn't using an extension if it is giving you a single display mode with no supported other options and graphics. For this, we would need to look into finding out what kind of default graphics extension we could alter in order to place your device ID in and play around a bit. (note: adding a device ID to a known graphics Extension will not hurt the individual Extension if it isn't supporting the hardware in the end as long as you have the correct permissions on the file.)

Let me know how the journey goes.

Reply With Quote
Reply