dm_webd Posted November 3, 2006 Share Posted November 3, 2006 Well, I've made this kext from the specifications listed by Omni. It's probably not as elegant as his, but this is my first time doing any IOKit development. Also C++ is not my native language, so I can surely say I've learned alot doing this. The code is kind of messy, and I hope to clean it up and add new features. In addition to what is described by Omni, I've only made one addition: looking up the chipset name from the device-id. I've made it ease to add new types of strings and fboffsets. Maybe I've made some mistakes - if so, I hope some of you more experienced can help point them out. I've attached both source and a precompiled kext. Please report back any results from trying this kext and experimenting with it. (Remember to move Titan.kext out of the extensions folder if you try this one to prevent both from loading.) Enjoy. Natit.zip Natit.kext.zip Link to comment Share on other sites More sharing options...
erikk Posted November 3, 2006 Share Posted November 3, 2006 did it work for you? Link to comment Share on other sites More sharing options...
dm_webd Posted November 3, 2006 Author Share Posted November 3, 2006 did it work for you? It does the same as omni's kext for me. I don't have kernel 10.4.8, so I only get basic functionality like resolution switching, power management and sleep mode. But I see no reason why it shouldn't work like Omni's on a real 10.4.8 kernel, as it puts in the same entries to the IORegistry. Also there's two commented out lines in the source that might give multi-monitor support, if someone want to experiment with it. It would be nice if someone with the 10.4.8 kernel could try this. Link to comment Share on other sites More sharing options...
erikk Posted November 3, 2006 Share Posted November 3, 2006 It does the same as omni's kext for me. I don't have kernel 10.4.8, so I only get basic functionality like resolution switching, power management and sleep mode. But I see no reason why it shouldn't work like Omni's on a real 10.4.8 kernel, as it puts in the same entries to the IORegistry.Also there's two commented out lines in the source that might give multi-monitor support, if someone want to experiment with it. It would be nice if someone with the 10.4.8 kernel could try this. i test it ... it works {censored} that i dont have enough experience in programming Link to comment Share on other sites More sharing options...
dm_webd Posted November 3, 2006 Author Share Posted November 3, 2006 i test it ... it works Great, thanks for the quick test. Now I just have to wait for a SSE2 enabled kernel. But anyway, I probably can't keep myself from experimenting with this until then - this messing around with kernels and drivers is fun. Link to comment Share on other sites More sharing options...
erikk Posted November 3, 2006 Share Posted November 3, 2006 only enabling the two lines.. dont give dual screen but i will test a little bit... thx alot for releasing source code Link to comment Share on other sites More sharing options...
MacRetail Posted November 3, 2006 Share Posted November 3, 2006 Could this work with older Nvidia cards? Like the GeForce 3 Ti 200? great job, btw. Link to comment Share on other sites More sharing options...
tokra128 Posted November 3, 2006 Share Posted November 3, 2006 Can someone mace some kind of ati titan ? Link to comment Share on other sites More sharing options...
dm_webd Posted November 3, 2006 Author Share Posted November 3, 2006 Could this work with older Nvidia cards? Like the GeForce 3 Ti 200? great job, btw. I think it might be possible to make it work, but I'm not sure. Also, I don't have such a card to test on. The device-id is listed in NVDANV20Hal.kext. I think perhaps the property "compatible" might need to be changed, but that's only a guess. --- Edit --- I just checked some things, and I think It'll be hard to get working. Link to comment Share on other sites More sharing options...
fingerr Posted November 3, 2006 Share Posted November 3, 2006 Well, I've made this kext from the specifications listed by Omni. It's probably not as elegant as his, but this is my first time doing any IOKit development. Also C++ is not my native language, so I can surely say I've learned alot doing this.The code is kind of messy, and I hope to clean it up and add new features. In addition to what is described by Omni, I've only made one addition: looking up the chipset name from the device-id. I've made it ease to add new types of strings and fboffsets. Maybe I've made some mistakes - if so, I hope some of you more experienced can help point them out. I've attached both source and a precompiled kext. Please report back any results from trying this kext and experimenting with it. (Remember to move Titan.kext out of the extensions folder if you try this one to prevent both from loading.) Enjoy. I beg you please try it to adjust to ATI cards Link to comment Share on other sites More sharing options...
hurrf Posted November 3, 2006 Share Posted November 3, 2006 On my system both Titan and this recognise my card, but the following appears in system.log and LoginWindow can't start: Nov 3 21:20:47 localhost kernel[0]: NVDA,Display-A: Not usable Nov 3 21:20:47 localhost kernel[0]: NVDA,Display-B: Not usable Nov 3 21:20:47 localhost kernel[0]: display: Not usable I'm assuming this is from the NVidia drivers, does anyone know what makes the displays 'unusable'? Is this possibly an attribute than can be edited by Nitat? Link to comment Share on other sites More sharing options...
dm_webd Posted November 3, 2006 Author Share Posted November 3, 2006 On my system both Titan and this recognise my card, but the following appears in system.log and LoginWindow can't start:Nov 3 21:20:47 localhost kernel[0]: NVDA,Display-A: Not usable Nov 3 21:20:47 localhost kernel[0]: NVDA,Display-B: Not usable Nov 3 21:20:47 localhost kernel[0]: display: Not usable I'm assuming this is from the NVidia drivers, does anyone know what makes the displays 'unusable'? Is this possibly an attribute than can be edited by Nitat? Some more info would be helpful: What card do you have and are you running the new kernel? Link to comment Share on other sites More sharing options...
hurrf Posted November 3, 2006 Share Posted November 3, 2006 Not running the new kernel, and it's a 6200 AGP. Might it be the AGP that's causing problems? It's not recognised as AGP in System Profiler. Link to comment Share on other sites More sharing options...
dm_webd Posted November 3, 2006 Author Share Posted November 3, 2006 Not running the new kernel, and it's a 6200 AGP. Might it be the AGP that's causing problems? It's not recognised as AGP in System Profiler. If you're not running the new kernel, you need the nVidia kexts from it. Also don't expect to get QE or CI on the old kernel with this kext. Maybe it will be possible, but now that an SSE2 version of the new kernel is just around the corner, it might not be worth the trouble. --- Edit --- These are the files you should get from the new kernel: IONDRVSupport.kext NVDAResman.kext NVDANV10Hal.kext NVDANV20Hal.kext NVDANV30Hal.kext NVDANV40Hal.kext GeForce.kext (if it crashes on boot, try removing this one) GeForce2MXGLDriver.bundle GeForceGA.plugin GeForceFXGLDriver.bundle GeForce3GLDriver.bundle GeForceVADriver.bundle This might be needed too: IOGraphicsFamily.kext Also be aware that I've only tested this method on JaS 10.4.7 (Intel SSE2) and the same with JaS combo update 10.4.8 (Intel SSE2) Link to comment Share on other sites More sharing options...
ptesone Posted November 3, 2006 Share Posted November 3, 2006 Good job on the alternate .kext files! Unfortunatley I'm in the same boat as MacRetail I'm stuck with a GeForce 3 as well. . . I believe there is still hope out there, somewhere. . . Link to comment Share on other sites More sharing options...
wondergod Posted November 3, 2006 Share Posted November 3, 2006 awesome...thanks...i'll check it out when i get back home from work. Link to comment Share on other sites More sharing options...
fingerr Posted November 3, 2006 Share Posted November 3, 2006 I tried this kext but it is not loading (Titan is) --- Edit --- My fault. I had to manually set permissions for this kext. Anyway I get only blue screen (system is not hanged I can connect via ssh to it). Anyone got this kext runnoing with FX5200 AGP ? It working, look http://forum.insanelymac.com/index.php?s=&...st&p=225061 for details. Link to comment Share on other sites More sharing options...
Fuzzlet Posted November 3, 2006 Share Posted November 3, 2006 Gotta say I love the kext/project name. Link to comment Share on other sites More sharing options...
MacRetail Posted November 3, 2006 Share Posted November 3, 2006 I believe there is still hope out there, somewhere. . . There always is Link to comment Share on other sites More sharing options...
bofors Posted November 3, 2006 Share Posted November 3, 2006 I have asked Mash to make an X-Labs project forum for this work. Link to comment Share on other sites More sharing options...
BuXb Posted November 3, 2006 Share Posted November 3, 2006 After installing Titan or Natiti.kext your System does not restart properly? Simply run your hackint0sh install DVD, go into Disk Utility and repair permissions from DVD, that fixed the restart bug here. Link to comment Share on other sites More sharing options...
icyderguru Posted November 3, 2006 Share Posted November 3, 2006 Very nice dm_webd Tried your kext its working like omnis titan, changed the values which might give dual display support but couldnt get it to work but i hope someone can get it to work A special forum would be great, the next step would be to port it for ati and support for multiple cards at the same time to get more displays connected Link to comment Share on other sites More sharing options...
MacRetail Posted November 3, 2006 Share Posted November 3, 2006 And support for older NVDia-cards Link to comment Share on other sites More sharing options...
zam Posted November 3, 2006 Share Posted November 3, 2006 Just as with omni's version, the kext is loading fine and says that my 7900 GT/GTO has been detected, but when the GUI should start, I get just a black screen. The system starts ok, no errors in logs... only the screen stays black. Could it be possible to make a version of your kext, where the different options could be altered for example from plists? This seems to be so close, I wouldn't like to sell out this great card for a less powerful version in order to get it to work... And I think that this is a quite popular model also. I don't have Xcode, and propably wouln't know how to use it but I would like to help if anyhow possible. edit: I am running a VGA monitor from a DVI-VGA adapter, could it be that only pure DVI out works? Link to comment Share on other sites More sharing options...
aberracus Posted November 3, 2006 Share Posted November 3, 2006 is there a way to make an "efi.kext" wich reads some paratemers by plist settings and past them to the drivers? so we end having an universal kext ? What about an ATI Natit ? Link to comment Share on other sites More sharing options...
Recommended Posts