Jump to content

Getting Nvidia GeForce Working with Titan/Natit


Rammjet
 Share

137 posts in this topic

Recommended Posts

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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&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>

Link to comment
Share on other sites

HERE

<key>IOPCIMatch</key>

<string>0x000010de&0x0000ffff</string>

So I need to paste

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

instead of

<key>IOPCIMatch</key>
<string>0x000010de&0x0000ffff</string>

Am I right?

 

My mymac's video info:

Device ID: 0x0391

Revision ID: 0x00a1

Link to comment
Share on other sites

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

its not "your theory" ;)

http://forum.insanelymac.com/index.php?sho...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&0x0000ffff</string>

instead of

<key>IOPCIMatch</key>
<string>0x000010de&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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 (/).

Link to comment
Share on other sites

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

Link to comment
Share on other sites

So I need to paste

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

The "&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 "&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.insanelymac.com/index.php?s=&...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.

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

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 ;-(

Link to comment
Share on other sites

I used GeForce*.kext, NVDA*.kext & IONDRVSupport.kext from 10.4.8.

 

In my case I found that I did NOT need to do ANY kext editing at all !!

(There arent any DevIDs for my card in the kext by default - 0x0332)

 

Just thow in the files & it works. :)

Strange...

its not strange

for some cards nothing is needed to have QE/CI

for some others (including mine) is pain in the ass

blv me

Link to comment
Share on other sites

 Share

×
×
  • Create New...