Jump to content

Natit.kext - Titan imitation with source.


  • This topic is locked This topic is locked
82 replies to this topic

#1
dm_webd

dm_webd

    InsanelyMac Protégé

  • Retired Developers
  • 63 posts
  • Gender:Male
  • Location:Denmark
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. :)

Attached Files



#2
erikk

erikk

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 199 posts
did it work for you?

#3
dm_webd

dm_webd

    InsanelyMac Protégé

  • Retired Developers
  • 63 posts
  • Gender:Male
  • Location:Denmark

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.

#4
erikk

erikk

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 199 posts

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

#5
dm_webd

dm_webd

    InsanelyMac Protégé

  • Retired Developers
  • 63 posts
  • Gender:Male
  • Location:Denmark

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

#6
erikk

erikk

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 199 posts
only enabling the two lines.. dont give dual screen ;)
but i will test a little bit...

thx alot for releasing source code

#7
MacRetail

MacRetail

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 103 posts
  • Gender:Male
Could this work with older Nvidia cards? Like the GeForce 3 Ti 200? ;)
great job, btw. :)

#8
tokra128

tokra128

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 291 posts
  • Gender:Male
Can someone mace some kind of ati titan ?

#9
dm_webd

dm_webd

    InsanelyMac Protégé

  • Retired Developers
  • 63 posts
  • Gender:Male
  • Location:Denmark

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.

#10
fingerr

fingerr

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 260 posts
  • Gender:Male
  • Location:Poland

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

#11
hurrf

hurrf

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts
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?

#12
dm_webd

dm_webd

    InsanelyMac Protégé

  • Retired Developers
  • 63 posts
  • Gender:Male
  • Location:Denmark

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?

#13
hurrf

hurrf

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts
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.

#14
dm_webd

dm_webd

    InsanelyMac Protégé

  • Retired Developers
  • 63 posts
  • Gender:Male
  • Location:Denmark

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)

#15
ptesone

ptesone

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 231 posts
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. . .

#16
wondergod

wondergod

    wonder mac

  • Members
  • PipPipPipPipPip
  • 370 posts
awesome...thanks...i'll check it out when i get back home from work.

#17
fingerr

fingerr

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 260 posts
  • Gender:Male
  • Location:Poland
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.insanel...&...st&p=225061
for details.

#18
Fuzzlet

Fuzzlet

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 126 posts
Gotta say I love the kext/project name. :(

#19
MacRetail

MacRetail

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 103 posts
  • Gender:Male

I believe there is still hope out there, somewhere. . .


There always is :(

#20
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts
I have asked Mash to make an X-Labs project forum for this work.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy