Jump to content

Getting Nvidia GeForce Working with Titan/Natit


  • Please log in to reply
136 replies to this topic

#1
Rammjet

Rammjet

    InsanelyMac V.I.P.

  • Gurus
  • 5,302 posts
  • Gender:Male
How To Get Your Nvidia GeForce Video Card Working with QE/CI - maybe

Edit: I now have a 7600GS Nvidia card, so I have tried this and it works. I have QE/CI and spanning across two monitors. My device string is 0x039210de and I added this to the GeForce.kext, the NVDAResman.kext and the NVDANV40Hal.kext. None of these had an existing string inside that would handle my device id 0x0392. I placed the three kexts I modified into the Extensions folder along with all of the other GeForce* files. I did not place the other NVDANVxxHal.kext's into the Extensions folder. Then I dropped my Natit kext into the Extensions folder. I used the Natit_Dual_v0.01 found here. I first tried the Natit_Dual_v0.02, but it crashed when I connected the second monitor. After adding all of the files, I repaired permissions and removed the kext caches and rebooted.


The following is purely my observation of successful use of Titan and Natit with Nvidia cards. Forum member spanakorizo has worked hard to determine the basic process. I am trying to extend it to other cards and clear up some of the issues. If successful, you should have full resolution and QE/CI.

Need:

- Nvidia GeForce video card with 256 MB VRAM or less
- a version of Titan or Natit kext
- device id of your video card
- 10.4.8 with new 8.8.1 kernel (newest versions are better for this)
.... also ....
- Possibly need to delete/move AGPGart if using Natit.
- For SSE2, probably need to add OpenGL.framework from Apple Intel 10.4.8 Combo Update

Put your device id into these three kexts:

- GeForce.kext
- NVDAResman.kext
- IONDRVSupport.kext

Put your device id into one of these kexts depending upon your card:

older cards  NVDANV10Hal.kext	   (see note)
4xxx cards   NVDANV20Hal.kext	   (see note)
5xxx cards   NVDANV30Hal.kext	   
6xxx cards   NVDANV40Hal.kext
7xxx cards   NVDANV40Hal.kext
Note: np_ feels that NVDANV10Hal.kext and NVDANV20Hal.kext are "stubs" and will not provide sufficient function to make this work. Try it at your own risk.

To accomplish all of this:

- Drop your Titan or Natit kext into the /System/Library/Extensions folder.

- Edit the kexts and clean up as follows.

- Go to Terminal and type:

cd /System/Library
sudo rm -rf Extensions.mkext Extensions.kextcache
 (-- give password)
cd Extensions

sudo nano GeForce.kext/Contents/Info.plist
 (-- edit the entire string <string>0x000010de&0x0000ffff ... </string> 
	down to <string>0xNNNN10de</string>   where NNNN is your device id)
 (-- press Control-O to save)
 (-- press <Enter> to accept file name)
 (-- press Control-X to exit)

 (-- repeat "sudo nano" commands above for NVDAResman.kext)
 (-- repeat "sudo nano" commands above for NVDANVxxHal.kext  where xx is value of your particular kext from table above)

sudo chown -Rf root:wheel GeForce* NVDA* Titan* Natit*
sudo chmod -Rf 755 GeForce* NVDA* Titan* Natit*
diskutil repairPermissions /

- Then reboot.


See whether it works for you. Provide feedback in this thread. If major errors or improvements are found, I will update the above.

Edited by Rammjet, 22 December 2006 - 05:36 AM.


#2
joe75

joe75

    Renegade

  • Retired
  • 2,278 posts
  • Gender:Male
  • Location:Rochester, NY
I can confirm it worked for my 5700 with Titan :(

#3
my1stmacisaHACK

my1stmacisaHACK

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 469 posts
can wer use the natit installer or we should use the kext?
and wer can i get he latest kext?

thanks a lot...

#4
Rammjet

Rammjet

    InsanelyMac V.I.P.

  • Gurus
  • 5,302 posts
  • Gender:Male

can wer use the natit installer or we should use the kext?

I don't know because I don't know what is inside the installer. When I get a chance, I might open it and see.

Followup: probably OK, except it also adds an OpenGL.framework. I don't know what version it is or if it will cause problems or make things better.

Installer


and wer can i get he latest kext?

I believe here - use one of the first two in that post.

#5
my1stmacisaHACK

my1stmacisaHACK

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 469 posts
tnx ramjet!! gonna try it this 1 on my mx 4000.. hope it works :huh:
crisscrossing my fingers!! :)

wait.. my gforce mx 4000 belongs to "4xxx cards NVDANV20Hal.kext" right?

#6
Rammjet

Rammjet

    InsanelyMac V.I.P.

  • Gurus
  • 5,302 posts
  • Gender:Male
From what I can tell, "MX 4000" belongs in NVDA10Hal.kext because it is type "NV18", but you may have to try 20 if it doesn't work.

#7
my1stmacisaHACK

my1stmacisaHACK

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 469 posts
kk ramjet sir... trying it now!! please pray for me!!!

how come i dont have this 2 kext?

(-- repeat "sudo nano" commands above for NVDAResman.kext)
(-- repeat "sudo nano" commands above for NVDANVxxHal.kext



#8
Rammjet

Rammjet

    InsanelyMac V.I.P.

  • Gurus
  • 5,302 posts
  • Gender:Male

how come i dont have this 2 kext?

Is it possible that in past playing around they got moved?

Remember, instead of "NVDANVxxHal.kext", you must replace the "xx" with the correct value of 10, 20, 30, etc. And in a previous posting, I said to look for NVDANV10Hal.kext.

You should have all 5 of these kexts:

NVDAResman.kext
NVDANV40Hal.kext
NVDANV30Hal.kext
NVDANV20Hal.kext
NVDANV10Hal.kext



#9
Xopek

Xopek

    InsanelyMac Protégé

  • Members
  • PipPip
  • 81 posts
  • Location:Russia
Where in info.plist of kext files I myst put device ID?

Here is myne GeForce code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>English</string>
	<key>CFBundleExecutable</key>
	<string>GeForce</string>
	<key>CFBundleGetInfoString</key>
	<string>GeForce 1.4.40.4 (8.6.0f1)</string>
	<key>CFBundleIdentifier</key>
	<string>com.apple.GeForce</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>NVIDIA GeForce Kernel Extension</string>
	<key>CFBundlePackageType</key>
	<string>KEXT</string>
	<key>CFBundleShortVersionString</key>
	<string>1.4.40</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleVersion</key>
	<string>4.4.0</string>
	<key>IOKitPersonalities</key>
	<dict>
		<key>GeForce</key>
		<dict>
			<key>CFBundleIdentifier</key>
			<string>com.apple.GeForce</string>
			<key>IOCFPlugInTypes</key>
			<dict>
				<key>ACCF0000-0000-0000-0000-000a2789904e</key>
				<string>GeForceGA.plugin</string>
			</dict>
			<key>IOClass</key>
			<string>NVKernel</string>
			<key>IOMatchCategory</key>
			<string>IOAccelerator</string>
			<key>IOPCIMatch</key>
			<string>0x000010de&amp;0x0000ffff</string>
			<key>IOProbeScore</key>
			<integer>100</integer>
			<key>IOProviderClass</key>
			<string>IOPCIDevice</string>
			<key>IOSourceVersion</key>
			<string>1.4.40.4</string>
		</dict>
	</dict>
	<key>OSBundleLibraries</key>
	<dict>
		<key>com.apple.NVDAResman</key>
		<string>1.2.0</string>
		<key>com.apple.iokit.IOGraphicsFamily</key>
		<string>1.0.0b1</string>
		<key>com.apple.iokit.IONDRVSupport</key>
		<string>1.0.0b1</string>
		<key>com.apple.iokit.IOPCIFamily</key>
		<string>1.0.0b1</string>
		<key>com.apple.kernel.iokit</key>
		<string>1.0.0b1</string>
		<key>com.apple.kpi.bsd</key>
		<string>8.0.0</string>
		<key>com.apple.kpi.iokit</key>
		<string>8.0.0</string>
		<key>com.apple.kpi.libkern</key>
		<string>8.0.0</string>
		<key>com.apple.kpi.mach</key>
		<string>8.0.0</string>
	</dict>
</dict>
</plist>


#10
spanakorizo

spanakorizo

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 747 posts
HERE
<key>IOPCIMatch</key>
<string>0x000010de&amp;0x0000ffff</string>

#11
Xopek

Xopek

    InsanelyMac Protégé

  • Members
  • PipPip
  • 81 posts
  • Location:Russia

HERE
<key>IOPCIMatch</key>
<string>0x000010de&amp;0x0000ffff</string>

So I need to paste
<key>IOPCIMatch</key>
<string>0x039110de&amp;0x0000ffff</string>
instead of
<key>IOPCIMatch</key>
<string>0x000010de&amp;0x0000ffff</string>
Am I right?

My mymac's video info:
Device ID: 0x0391
Revision ID: 0x00a1

#12
spanakorizo

spanakorizo

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 747 posts

Getting Nvidia GeForce Working with Titan/Natit, with 8.8.1 Kernel - my theory

its not "your theory" ;)
http://forum.insanel...amp;hl=7600gs#9
you dont have nvidia card so you didnot test this
i was testing since 1 month+ since the 1st titan.kext (4 of november by omni)
so i know how it is and im glad that it's getting closer to fully working for everybody now...
i know that you try to help the others (u helped me a lot in the past)
but this is not a challenge,i blv
some cards dont have problems with any of nvidia/grforce kexts
but some others is pain in the ass to make them work
and i cleared up which kexts are only the important to make it work
2 weeks ago :D



So I need to paste

<key>IOPCIMatch</key>
<string>0x039110de&amp;0x0000ffff</string>
instead of
<key>IOPCIMatch</key>
<string>0x000010de&amp;0x0000ffff</string>
Am I right?

My mymac's video info:
Device ID: 0x0391
Revision ID: 0x00a1

yes xopek you are right
save the changes
did you open the .plist at nano?

#13
Xopek

Xopek

    InsanelyMac Protégé

  • Members
  • PipPip
  • 81 posts
  • Location:Russia

did you open the .plist at nano?


Yes , by this command:
sudo nano /System/Library/Extensions/GeForce.kext/Content/Info.plist
But I can't seen anything in this file now.
File is correctly displayed by TextEdit , but can't be saved.

#14
spanakorizo

spanakorizo

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 747 posts
you cant save it in textedit
you must modify it in nano (inside terminal)
and to save the changes press ctrl+x and then "y" (it will ask you to save the changes)
after this you'll be back at the terminal ,the file will be saved

#15
Xopek

Xopek

    InsanelyMac Protégé

  • Members
  • PipPip
  • 81 posts
  • Location:Russia
How can I edit it in nano, if nano don't show any data from this file -( ?
^ + w = find: I write "IOPCIMatch" -> nothing is found.

#16
Rammjet

Rammjet

    InsanelyMac V.I.P.

  • Gurus
  • 5,302 posts
  • Gender:Male
Verify that the GeForce.kext is in the /System/Library/Extensions folder. Some installers might have put it into an Extensions.disabled folder inside the Extensions folder. If so, move it out.

If you have verified the kext is in the right place and it still comes up blank, be sure you are typing the "sudo nano" command exactly - make sure you start the path with the leading slash (/).

#17
Hagar

Hagar

    Project Dogsbody

  • Administrators
  • 2,352 posts
  • Location:Over the hills &amp; far away
Just a comment:

I am a fan of KISS...
often, all that is needed is to drop natit into /S/L/E & add the DEV ID into Geforce.kext..
Only if this fails would I start adding ID's elsewhere.. it has become clear from IRC that *a lot* of people jump right in adding IDs all over the place & then have to go to -s to try & untangle the mess.. a simple order of which to do first might be useful, I would go with the relevant NV*Hal.kext, followed possibly by Nvidiaresman, but I have personally never found that to be necessary.

As for agpgart, some people report success using it with titan, but not natit.. my experience is that I lost dualscreen support when using agpgart with natit, but agpgart is in active development... :)

#18
Rammjet

Rammjet

    InsanelyMac V.I.P.

  • Gurus
  • 5,302 posts
  • Gender:Male

So I need to paste

<key>IOPCIMatch</key>
<string>0x039110de&amp;0x0000ffff</string>

The "&amp;0x0000ffff" part of the id is used to allow the string to match a range of cards. If you are putting a single device id into the Info.plist, you do not need the "&amp;0x0000ffff" part. If you leave that in there, it could try to attach itself to device ids: 0391, 1391, 2391,...,9391 if any of those devices are in your computer. (Note: this phenomenon is the cause of the GeForce.kext kernel panic that many people have. The kext attaches itself to an Nvidia device on the motherboard that was not a video card and this causes the panic.)

<key>IOPCIMatch</key>
<string>0x039110de</string>
This is better.


I am a fan of KISS...
often, all that is needed is to drop natit into /S/L/E & add the DEV ID into Geforce.kext..
Only if this fails would I start adding ID's elsewhere.. it has become clear from IRC that *a lot* of people jump right in adding IDs all over the place & then have to go to -s to try & untangle the mess.. a simple order of which to do first might be useful, I would go with the relevant NV*Hal.kext, followed possibly by Nvidiaresman, but I have personally never found that to be necessary.

Member spanakorizo discovered that the 3 kexts need to be edited. I am trying to clarify which HAL kext to edit for which card and to clean up loose ends for maximum success.

http://forum.insanel...&...st&p=243175

As for agpgart, some people report success using it with titan, but not natit.. my experience is that I lost dualscreen support when using agpgart with natit, but agpgart is in active development... :)

Thanks for the AGPGart tip. That is what this thread is for is to collect all of the correct information for success. I will clarify that AGPGart may need to be removed for Natit.

#19
spanakorizo

spanakorizo

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 747 posts
hagar i know that is strange (maybe)
but with natit and agpgart i have dual screen
i tested it yesterday just for fun
second screen in DVI and it works perfect
the OSX was even running and i plugged the second monitor
the primary monitor switched off and after 5 seconds both screens were working
i didnt either need to reboot or something
only problem : if i press "detect screens" the primary monitor power off and the system crash
but i dont need to do this cause it works and i can switch resolutions in both monitors
and blv me that 7600gs agp was imposible to get QE/CI
but now everything works perfect :)
anyway it is nice that we are testing and help each other

EDIT: i have an old GEFORCE MX440 AGP somewhere
i'm sure it is not working with QE/CI
is it?
if its not i'm gonna test with this method and different NVDANVx0Hal.kext and i blv i can make it work
i will post later my results
but as i said if MX440 is known as working ,there is no reason to test ,so post it (i'm lazy now to check the compatibility list thread or wiki)

#20
Xopek

Xopek

    InsanelyMac Protégé

  • Members
  • PipPip
  • 81 posts
  • Location:Russia

Verify that the GeForce.kext is in the /System/Library/Extensions folder. Some installers might have put it into an Extensions.disabled folder inside the Extensions folder. If so, move it out.

If you have verified the kext is in the right place and it still comes up blank, be sure you are typing the "sudo nano" command exactly - make sure you start the path with the leading slash (/).


Yes, it's there.

I type in terminal "sudo nano /System/Library/Extensions/GeForce.kext/Content/Info.plist" . Am I right?
But file doesn't open ;-(





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