Jump to content

GeForce 9600 GT natively supported in Mac OS X 10.5.6


Bit Shoveler
 Share

62 posts in this topic

Recommended Posts

I've managed to get my PNY Verto GeForce 9600 GT 512MB working in my Hack with Apple-shipped drivers under Leopard (10.5.6). It's pretty straightforward. You'll need to add an EFI string in the com.apple.Boot.plist file. The procedure is well documented.

 

I thought at first that I needed to hack the Info.plist files in NVDANV50Hal.kext and NVDAResman.kext to add my card's ID, as in generalmilk's post. This turned out not to be the case. You don't need to touch the kexts at all! I saw aqua-mac's thread about the 9800 GTX and decided to try it without the hacked kexts. Whaddya know, it worked!

 

System Profiler shows Quartz Extreme and Core Image as fully supported with this card.

 

Hope this helps someone with this great value graphics card!

Link to comment
Share on other sites

I've managed to get my PNY Verto GeForce 9600 GT working in my Hack with Apple-shipped drivers under Leopard (10.5.6). It's pretty straightforward. You'll need to hack the Info.plist files in NVDANV50Hal.kext and NVDAResman.kext to add your card's ID, and add an EFI string in the com.apple.Boot.plist file. These procedures are well documented all over this board.

 

I chose to put the hacked kexts in my EFI boot partition. This keeps the OS install vanilla. :censored2:

 

System Profiler shows Quartz Extreme and Core Image as fully supported with this card.

 

Hope this helps someone with this great value graphics card!

 

By any chance do you have a link to the kexts? And how did you get to your com.apple.boot.plist file on your EFI, mine is hidden and I can't seem to get to it to mod the file.

 

Thanks,

Craig

Link to comment
Share on other sites

I used boot-turbo-munky.bin, which provides a place for a customized com.apple.Boot.plist in the EFI partition (in my case /Volumes/EFI/Library/Preferences/SystemConfiguration/com.apple.Boot.plist). I believe the same is true of Chameleon and PC_EFI, but since I didn't use them I can't be sure.

 

I deliberately did NOT link the kexts because (1) the changes are limited to minor text editing in the Info.plist files of Apple-supplied kexts and (2) the board ID is likely to vary; what works for my 9600 GT probably won't for your 9800 GT. The original versions of these kexts can be found in /System/Library/Extensions . The method for modifying them is outlined in this post. Use the text editor you're most comfortable with - that post uses vi, I prefer Emacs, but TextEdit or nano will work just fine. You could use Property List Editor from the Developer Tools if you like, but a plain text editor is easier IMHO.

 

Use the device ID for your own card - see System Profiler to find it. Plug that into this template:

 

0xnnnn10de

 

where nnnn is your card's device ID. E.g. my 9600 GT has a device id of 0x0622 in System Profiler, so 0x062210de is the string to insert.

 

You need to modify not only NVDANV50Hal.kext but also NVDAResman.kext by this same process. You do NOT need Natit.kext, NVInject.kext, or any other non-Apple extensions to get this board working in 10.5.6. The G92 and G94 are supported natively. I believe the 9800 GT uses the G92, which has been supported by Apple for some time now.

 

Note that the 9600 GT will work as a (very) basic VGA card without this hack, so you don't actually need to boot into single-user mode to get it working.

 

Likewise, the EFI string you add to com.apple.Boot.plist will vary depending on what else you're trying to enable with it (in my case, two Ethernet controllers and a sound chip). There's no one-size-fits-all EFI string. You have to come up with one that works for your particular setup. EFI Studio simplifies this process dramatically.

 

I hope this helps you get your card working.

Link to comment
Share on other sites

I used boot-turbo-munky.bin, which provides a place for a customized com.apple.Boot.plist in the EFI partition (in my case /Volumes/EFI/Library/Preferences/SystemConfiguration/com.apple.Boot.plist). I believe the same is true of Chameleon and PC_EFI, but since I didn't use them I can't be sure.

 

I deliberately did NOT link the kexts because (1) the changes are limited to minor text editing in the Info.plist files of Apple-supplied kexts and (2) the board ID is likely to vary; what works for my 9600 GT probably won't for your 9800 GT. The original versions of these kexts can be found in /System/Library/Extensions . The method for modifying them is outlined in this post. Use the text editor you're most comfortable with - that post uses vi, I prefer Emacs, but TextEdit or nano will work just fine. You could use Property List Editor from the Developer Tools if you like, but a plain text editor is easier IMHO.

 

Use the device ID for your own card - see System Profiler to find it. Plug that into this template:

 

0xnnnn10de

 

where nnnn is your card's device ID. E.g. my 9600 GT has a device id of 0x0622 in System Profiler, so 0x062210de is the string to insert.

 

You need to modify not only NVDANV50Hal.kext but also NVDAResman.kext by this same process. You do NOT need Natit.kext, NVInject.kext, or any other non-Apple extensions to get this board working in 10.5.6. The G92 and G94 are supported natively. I believe the 9800 GT uses the G92, which has been supported by Apple for some time now.

 

Note that the 9600 GT will work as a (very) basic VGA card without this hack, so you don't actually need to boot into single-user mode to get it working.

 

Likewise, the EFI string you add to com.apple.Boot.plist will vary depending on what else you're trying to enable with it (in my case, two Ethernet controllers and a sound chip). There's no one-size-fits-all EFI string. You have to come up with one that works for your particular setup. EFI Studio simplifies this process dramatically.

 

I hope this helps you get your card working.

 

With mine I just added the gfx string that OSx86 tools provided when I ran the custom driver. I have 6 options now for resolutions but 1280x720 is the highest resolution, is this because of my tv or the settings? I really want to display at a higher resolution then that if possible, and possibly output with the component out.

 

I didn't want to modify the files you said because I am trying to stay 100% vanilla, I wonder if there is another way to get around this. Possibly someone has a better string for the 9800gt.

Link to comment
Share on other sites

With mine I just added the gfx string that OSx86 tools provided when I ran the custom driver. I have 6 options now for resolutions but 1280x720 is the highest resolution, is this because of my tv or the settings? I really want to display at a higher resolution then that if possible, and possibly output with the component out.

 

I didn't want to modify the files you said because I am trying to stay 100% vanilla, I wonder if there is another way to get around this. Possibly someone has a better string for the 9800gt.

 

I put the modified copy of these kexts in my EFI boot partition. The originals are untouched. I suspect your resolution problem would be fixed by hacking NVDAResman.kext to recognize your particular card.

 

What do you see for your card in System Profiler? Is all the RAM recognized?

Link to comment
Share on other sites

I put the modified copy of these kexts in my EFI boot partition. The originals are untouched. I suspect your resolution problem would be fixed by hacking NVDAResman.kext to recognize your particular card.

 

What do you see for your card in System Profiler? Is all the RAM recognized?

 

found out it was since I am using dvi to vga the settings are maxed. tried dvi to hdmi and could go up to 1980x1080 but it didnt look good on my tv and i could not found a setting that did look good. So now the tv is at fault.

Link to comment
Share on other sites

  • 2 weeks later...

Why does everyone keep saying it works with strings only? I have a PNY 9600 GT card that I've been trying to make work since Christmas. The ONLY way I'm able to make strings work is to delete NV*.* out of Extensions and even then I have to set the resolution manually. I also get no QE/CI.

 

I've tried every injector as well.

 

I MUST be doing something wrong, too many others are making this work.

Link to comment
Share on other sites

  • 4 weeks later...

Worked for me on 10.5.6 retail with XFX 9600GT 512.

 

But sometimes I get display corruption (garbled screen) for a second, for example when I drag a window around. It only lasts for a second, or even less, but it is very irritating.

 

Anyone knows what causes this problem?

Link to comment
Share on other sites

Hey guys. Where did you get your EFI strings from? I tried using OSX86tools but they didn't have one for the 9600 GT and when I tried to generate my own I couldn't get it to boot.

 

I guess my question is what do I do with the plist file that OSX86tools generates. I know the EFI strings goes in device properties.

 

I am running 10.5.4 with EFI partition.

 

Thanks.

Link to comment
Share on other sites

I thought at first that I needed to hack the Info.plist files in NVDANV50Hal.kext and NVDAResman.kext to add my card's ID, as in generalmilk's post. This turned out not to be the case. You don't need to touch the kexts at all! I saw aqua-mac's thread about the 9800 GTX and decided to try it without the hacked kexts. Whaddya know, it worked!

 

 

I deliberately did NOT link the kexts because (1) the changes are limited to minor text editing in the Info.plist files of Apple-supplied kexts and (2) the board ID is likely to vary; what works for my 9600 GT probably won't for your 9800 GT. The original versions of these kexts can be found in /System/Library/Extensions . The method for modifying them is outlined in this post.

 

You do realise that the two parts of your posts that I've highlighted in red completely contradict each other don't you Bit Shoveler? :blink::wacko:

 

I have the same setup as you (except my card is an XFX 9600 GT w/ 512Mb, not PNY) with identical device ID, boot-turbo-munky.bin as the bootloader and so on. I had full QE/CI using vanilla kexts, EFI string in com.apple.Boot.plist and NVdarwin 1.2.5 up until a few days ago where after a reboot the screen inexplicably turned black as the login window should appear and I get the "No Video Signal" splash screen from my monitor.

 

Am I correct in reading between the lines of your posts and assuming that NVDANV50hal.kext and NVDAResman.kext in /System/Library/Extensions are vanilla from aquamac's installer without edited Info.plist files and the same kext files living in /Volumes/EFI/Extensions do have edited Info.plist files?

 

Also that your EFI string in the com.apple.Boot.plist in /Volumes/EFI is all you use and no NVdarwin? I really want to get back up and running without any injectors atm I have to boot with my boot-dfe CD which doesn't detect the FSB speed correctly but will let me boot using the card's VESA capability at least... :(

 

I have a feeling the bootloader must be playing silly beggars with the driver somehow as when the screen goes black I can hear the fan calm down which is what happens when the driver kicks in normally, but get no screen output :(

Link to comment
Share on other sites

You do realise that the two parts of your posts that I've highlighted in red completely contradict each other don't you Bit Shoveler? :D:P

 

I'm pretty sure I edited the first post after I discovered the kexts don't need to be modified. So think of the following posts as a historical log of a work-in-progress.

 

I have the same setup as you (except my card is an XFX 9600 GT w/ 512Mb, not PNY) with identical device ID, boot-turbo-munky.bin as the bootloader and so on. I had full QE/CI using vanilla kexts, EFI string in com.apple.Boot.plist and NVdarwin 1.2.5 up until a few days ago where after a reboot the screen inexplicably turned black as the login window should appear and I get the "No Video Signal" splash screen from my monitor.

 

Am I correct in reading between the lines of your posts and assuming that NVDANV50hal.kext and NVDAResman.kext in /System/Library/Extensions are vanilla from aquamac's installer without edited Info.plist files and the same kext files living in /Volumes/EFI/Extensions do have edited Info.plist files?

 

No, they are vanilla from Mac OS X 10.5.6. I have no modified graphics kexts anywhere.

 

Also that your EFI string in the com.apple.Boot.plist in /Volumes/EFI is all you use and no NVdarwin?

 

That's correct. Uh, I also have a modified DSDT.

 

I will double-check when I'm sitting at my Hack this evening, but that's what I remember. I haven't had to mess with it since late January.

 

I have a feeling the bootloader must be playing silly beggars with the driver somehow as when the screen goes black I can hear the fan calm down which is what happens when the driver kicks in normally, but get no screen output :(

 

I'll offer whatever help I can, but please realize I only have experience with my own configuration.

Link to comment
Share on other sites

Bit Shoveler - thanks for your reply. I wasn't even sure my post had registered as the board seemed to have a spack attack when I posted it and had to be rebooted sometime later.

 

There's some good news. My EFI string is now successfully inserted so I don't get a black screen on boot anymore;

 

nVidia GeForce 9600 GT:

 

Chipset Model: nVidia GeForce 9600 GT

Type: Display

Bus: PCIe

PCIe Lane Width: x16

VRAM (Total): 512 MB

Vendor: NVIDIA (0x10de)

Device ID: 0x0622

Revision ID: 0x00a1

ROM Revision: nVidia GeForce 9600 GT OpenGL Engine [EFI]

Displays:

Display:

Resolution: 1440 x 900

Depth: 32-bit Color

Core Image: Software

Main Display: Yes

Mirror: Off

Online: Yes

Quartz Extreme: Not Supported

QuartzGL: Supported

Display Connector:

 

I've yet to reinstall the drivers; I appear to have several versions available; those packed in aqua-mac's installer, those packed in a 9f23installer package (which I think were pre release dev versions) and those in the official Apple update repository. I haven't checked the MD5 hashes of them to verify they are different.

 

cj95 - to clear the black screen on boot you need to remove all the GeForce and Nvidia related kexts and flush the kextcache as well. This will allow you to boot into OS X using the VESA 3.0 basic graphics, or if your EFI string is correct it will show up in System Profiler as above.

 

To get rid of these kexts

Then follow these steps:

 

1)reboot into single user mode (enter "-s" at the Darwin bootloader without the quotes).

2) Enter /sbin/fsck -fy then mount -uw / once all the text has stopped scrolling and you have a shell

3) Change working directory to Extensions: cd /System/Library/Extensions

4) Delete all Geforce and Nvidia related kexts and injectors: NVinject, NVDarwin, NVKush etc. as well as the kextcache; enter rm -r Ge*.* && rm -r NV*.* && rm -r ../Extensions.mkext

5) Enter reboot and the system will boot using the VESA or EFI string as outlined above.

 

Hth

Link to comment
Share on other sites

Hello,

 

i have a new Sparkle 9600GT and do it excaly as u post. I can boot OSX, resolution works fine. But the computer is extremly slow, and about his mac show no Quartz Extrem Support.

 

When i delete all Nvidia kext , just boot with the EFI string my computer works normal. No lag, resolution works great. But no QE.

 

Any Ideas how i can bring this to Work ?

 

Oh, i use Ideneb V1.4 10.5.6

Link to comment
Share on other sites

 Share

×
×
  • Create New...