Help - Search - Members - Calendar
Full Version: Natit.kext - Titan imitation with source.
InsanelyMac Forum > InsanelyMac Lounge > The X Labs > Natit
Pages: 1, 2
dm_webd
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. smile.gif
erikk
did it work for you?
dm_webd
QUOTE(erikk @ Nov 3 2006, 09:53 AM) *
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.
erikk
QUOTE(dm_webd @ Nov 3 2006, 09:58 AM) *
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 wink.gif


{censored} that i dont have enough experience in programming biggrin.gif
dm_webd
QUOTE(erikk @ Nov 3 2006, 10:06 AM) *
i test it ... it works wink.gif

Great, thanks for the quick test. smile.gif
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. biggrin.gif
erikk
only enabling the two lines.. dont give dual screen wink.gif
but i will test a little bit...

thx alot for releasing source code
MacRetail
Could this work with older Nvidia cards? Like the GeForce 3 Ti 200? angel.png
great job, btw. blink.gif
tokra128
Can someone mace some kind of ati titan ?
dm_webd
QUOTE(MacRetail @ Nov 3 2006, 10:35 AM) *
Could this work with older Nvidia cards? Like the GeForce 3 Ti 200? angel.png
great job, btw. blink.gif

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.
Mariusz
QUOTE(dm_webd @ Nov 3 2006, 09:44 AM) *
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. smile.gif



I beg you please try it to adjust to ATI cards smile.gif
hurrf
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?
dm_webd
QUOTE(hurrf @ Nov 3 2006, 11:30 AM) *
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?
hurrf
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.
dm_webd
QUOTE(hurrf @ Nov 3 2006, 11:51 AM) *
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)
ptesone
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. . .
wondergod
awesome...thanks...i'll check it out when i get back home from work.
Mariusz
I tried this kext but it is not loading sad.gif (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.
Fuzzlet
Gotta say I love the kext/project name. tongue.gif
MacRetail
QUOTE(ptesone @ Nov 3 2006, 05:31 PM) *
I believe there is still hope out there, somewhere. . .


There always is biggrin.gif
bofors
I have asked Mash to make an X-Labs project forum for this work.
BugsB
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.
icyderguru
Very nice dm_webd happymac.GIF

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 police.gif

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.gif
MacRetail
And support for older NVDia-cards angel.png
zam
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?
aberracus
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 ?
erikk
QUOTE(zam @ Nov 3 2006, 09:35 PM) *
I am running a VGA monitor from a DVI-VGA adapter, could it be that only pure DVI out works?


vga works on 7600 gt with this natit.kext wink.gif

try another kernel... with semthex kernel i get black screen after sleep mode... i think its not the same error like you, but you can try wink.gif
Korrupted
DVI on 7900 GS[0x0292] works fine. However, system sleep doesn't work. The machine will go to sleep, but it will not wake up. Is there any way to fix this with the source?
erikk
QUOTE(DaxTsurugi @ Nov 3 2006, 10:05 PM) *
DVI on 7900 GS[0x0292] works fine. However, system sleep doesn't work. The machine will go to sleep, but it will not wake up. Is there any way to fix this with the source?


read one above... i had the same problem with semthex kernel wink.gif with mfikis there are no problems on wake up.
Korrupted
So it's an error in Semthex's kernel, I see.
bofors
QUOTE(zam @ Nov 3 2006, 03:35 PM) *
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.


It seems that most but not all 7900 have problems with Titan:

http://forum.insanelymac.com/index.php?showtopic=31975

QUOTE
Could it be possible to make a version of your kext, where the different options could be altered for example from plists?


Yes, this should be among the first developmental goals for this Natit project.
Mariusz
For those with old fx5200, i got it working but without QE/CI. I just removed GeForce.kext (as it was mentioned by dm_webd in http://forum.insanelymac.com/index.php?sho...31777&st=20 )

When GeForce.kext was loaded i got blue screen, but system was running.


Its working, look http://forum.insanelymac.com/index.php?s=&...st&p=225061

I can't believe it happend ....
Korrupted
Well I got it to sleep using a version of Mifki's kernel, but when it wakes up, my usb mouse doesn't work! This is weird.. :S
zam
Hmm.. It is hard to believe that the mifki's kernel would be the reason for 7900GTO not to work, as people have 7900GT working with both kernels. I'd like to help and tweak the settings on the kext myself as I know some C and C++, but I have no idea how to work with Xcode or Mac OS...
Korrupted
1. Is it possible to make the kext not take so long to iterate through the keys? It adds like a minute to boot time.

2. Is it possible to return the Starting Mac OS X screen? The monitor turning off kind of takes away from the experience. ;P
joe75
QUOTE(dm_webd @ Nov 3 2006, 04:15 AM) *
this messing around with kernels and drivers is fun. biggrin.gif


I see you didn't respond to any ones ATi questions whistle.gif


Do you think you could make your build work for ATi sorcerer.gif
BugsB
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.

QUOTE(BugsBunny @ Nov 3 2006, 09:58 PM) *
With both, your's and Omni's version (called xxx.kext), I experience the following behaviour (I have JaS latest release installed with Semthex Kernel):

- installed xxx.kext, rebooted - full resolution, QE/CI, just unbelievable ..

- pressed reboot - Laptop boots down, fans keep spinning, screen stays black no matter how long I wait, that's it. I need to press the power button briefly to have my Laptop restart. As soon as I deactivate xxx.kext restart works again.

Tried Mifki's Kernel just for comparison, same thing.
dm_webd
QUOTE(joe75 @ Nov 4 2006, 08:35 AM) *
I see you didn't respond to any ones ATi questions whistle.gif
Do you think you could make your build work for ATi sorcerer.gif

If I can get my hands on an ati card, I'll sure try. But as it is now I haven't got any ati cards, so I can't really do anything.

QUOTE(DaxTsurugi @ Nov 4 2006, 07:01 AM) *
1. Is it possible to make the kext not take so long to iterate through the keys? It adds like a minute to boot time.

That's weird, it only takes about a second on my computers.

QUOTE(DaxTsurugi @ Nov 4 2006, 07:01 AM) *
2. Is it possible to return the Starting Mac OS X screen? The monitor turning off kind of takes away from the experience. ;P

I don't know if I can do anything to prevent it - I think it's something the nVidia driver does, but I'll try to look into it.



QUOTE(bofors @ Nov 3 2006, 08:26 PM) *
I have asked Mash to make an X-Labs project forum for this work.

Thanks, this will help keep all the development talk and updates in the right place.


QUOTE(zam @ Nov 3 2006, 09:35 PM) *
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?

It was actually my plan to make the settings available by plist, but I just wanted the kext tested first, so I released it.
I'm looking into making it read the info from a plist.

QUOTE(zam @ Nov 3 2006, 09:35 PM) *
edit:
I am running a VGA monitor from a DVI-VGA adapter, could it be that only pure DVI out works?

I could be. There's some options in the source for setting the display type, I know CRT, LCD and TVO should be valid settings. It will be easier for you to test when the plist thing is done - If you want to try now, you need xcode.
joe75
QUOTE(dm_webd @ Nov 4 2006, 07:20 AM) *
If I can get my hands on an ati card, I'll sure try.


Thanks, thats all anybody could ask for angel.png
Korrupted
QUOTE(dm_webd @ Nov 4 2006, 07:23 AM) *
That's weird, it only takes about a second on my computers.


Any suggestions on what I could do then? I have a 7900 GS[device id 0x0292]. This also seems to happen to a few other people I know, so I'm not alone.
asstastic
QUOTE(dm_webd @ Nov 4 2006, 08:23 AM) *
If I can get my hands on an ati card, I'll sure try. But as it is now I haven't got any ati cards, so I can't really do anything.


I'd love to help out with getting a working ATI version. Don't know much about how this stuff works, but point me in the right direction and I should be fine.

It has been far too long that ATI notebook owners have gone without native resolution support.
dm_webd
QUOTE(DaxTsurugi @ Nov 4 2006, 06:17 PM) *
Any suggestions on what I could do then? I have a 7900 GS[device id 0x0292]. This also seems to happen to a few other people I know, so I'm not alone.

I'm remaking the kext with a different method of finding the right entry, which doesn't require iterating the registry. That might help.
FabricioGS
thumbsup_anim.gif Yeaaaaah!!! Finally get my 7900GT working with QE/CI!!! Thanks a lot man, great work.

PS: I runned the installer: http://www.necnet.de/krass.man/Installers/...tit_1.0.pkg.zip
katmail
Can't wait for ATI

HIS today has launched the first PCI graphics card based on an ATI X1300 3D chip. The passively cooled HIS X1300 silence Dual DVI 256MB PCI sports a dual link DVI connection, ATI's Avivo technology and H264/VC1 acceleration.
ChuckDSanders
ok I ran the natit installer and I didn't get the QE or CI support nor did I get the hibernate sleep support. Am I missing something? I have 10.4.7 patched to 10.4.8 and registering in the system profiler. I have a leadtech nothing fancy 7800gtx pci e. Do I need to install 10.4.8 fresh and then install the natit and that will solve everything? Or am I missing something like I need to install the titan kext still and configure it? I am sorry to be such a noob.
FabricioGS
QUOTE(ChuckDSanders @ Nov 6 2006, 12:33 AM) *
ok I ran the natit installer and I didn't get the QE or CI support nor did I get the hibernate sleep support. Am I missing something? I have 10.4.7 patched to 10.4.8 and registering in the system profiler. I have a leadtech nothing fancy 7800gtx pci e. Do I need to install 10.4.8 fresh and then install the natit and that will solve everything? Or am I missing something like I need to install the titan kext still and configure it? I am sorry to be such a noob.


ChuckDSanders,

You need to be running 10.4.8 with kernel 8.8.1. TO see that digit on the console: uname -a

This will show you what version of the Darwin kernel you are running. Itīs probably 8.4.1.
ChuckDSanders
QUOTE(Viper.Br @ Nov 6 2006, 02:49 AM) *
ChuckDSanders,

You need to be running 10.4.8 with kernel 8.8.1. TO see that digit on the console: uname -a

This will show you what version of the Darwin kernel you are running. Itīs probably 8.4.1.


Thank you, yeah you are right, so where does one get the 8.8.1 kernel? I am assuming its a download or patch away from being good? So after I update the kernel will everything else be kosher? Thank you again
REVENGE
I think you can search yourself at torrent sites or check the IRC where it might already be listed. Either way, please use The Genius Bar to get all the help you need with 8.8.1 kernels. There are good guides and people knowledgeable about all variants of the kernel there. Good luck!
ChuckDSanders
QUOTE(REVENGE @ Nov 6 2006, 05:26 AM) *
I think you can search yourself at torrent sites or check the IRC where it might already be listed. Either way, please use The Genius Bar to get all the help you need with 8.8.1 kernels. There are good guides and people knowledgeable about all variants of the kernel there. Good luck!


Ok I am downloading the JAS 10.4.8 ISO, does that have the necessary Kernel provided I do a fresh install?
VN Man
There is no need to download the whole ISO, you only need the new kernel and the needed kext. Make for smaller downloads....Don't forget to update to latest 10.4.8 from Apple...

Atleast it work for me...Mind I have ATI card but to upgrade to 10.4.8 with 8.8.1 only need the above files and nothing more...
lord_muad_dib
i have problems with my 6800 ultra

id 0x00f910de

the kernel panics if i leave geforce.kext in extensions folder

what do i need to do/edit?

thx for your help
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.