Jump to content

Natit.kext - Titan imitation with source.


dm_webd
 Share

83 posts in this topic

Recommended Posts

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

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

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

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. :D

Link to comment
Share on other sites

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

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

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

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

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

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

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

Very nice dm_webd B)

 

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 :D

 

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 :dev:

Link to comment
Share on other sites

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

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...