Jump to content

Dual 9800 GTX 512 Working in OSX86!


aqua-mac
 Share

165 posts in this topic

Recommended Posts

did you try different NVCAP values?

 

does it work with Screen Sharing? (some black/blue displays work with vnc/screen sharing)

 

I'm starting to think this is the reason why its not working. When i turn on my computer without my displays plugged in. I can VNC to it. But if i open system profiler my computer hangs.

 

How would i go about determining my correct NVCap values? One card on the GX2 has a DVI and a HDMI, the other card has a single DVI.

Link to comment
Share on other sites

To find your cards NVCap values, download this

 

It gave me these two. I ran it twice for each rom file i pulled from my GX2.

 

0400000000000300000000000000000700000000

0400000000000300040000000000000700000000

 

So, do i just simply add one in on each entry in here?:

 

<key>NVCAP</key>

<data>

0400000000000300000000000000000700000000

</data>

<key>NVPM</key>

<data>

AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==

</data>

<key>VRAM,totalsize</key>

<data>

AAAAIA==

</data>

 

Sorry for being a bit "noobie" here, But is it a hex that needs to be converted to put into my plist here?

Link to comment
Share on other sites

You need to edit the file with something like plist editor pro which is a free download, you cannot use text editor for this. You will have to expand the children on the right hand side till you see the NVCAP values. Double click them and you can edit them. I would think you need to add one value for each card.

 

Good Luck.

Link to comment
Share on other sites

So, it looks like it should be fairly easy to get a 9800GTX working on 10.5.2 without much issue? I'm wanting an upgrade from my 8800GT without SLI (or a GX2) and the heat issues they bring (due to the rest of the gear in this environment).

Link to comment
Share on other sites

It gave me these two. I ran it twice for each rom file i pulled from my GX2.

 

0400000000000300000000000000000700000000

0400000000000300040000000000000700000000

 

So, do i just simply add one in on each entry in here?:

 

<key>NVCAP</key>

<data>

0400000000000300000000000000000700000000

</data>

<key>NVPM</key>

<data>

AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==

</data>

<key>VRAM,totalsize</key>

<data>

AAAAIA==

</data>

 

Sorry for being a bit "noobie" here, But is it a hex that needs to be converted to put into my plist here?

It's best to use Apple Property List Editor from Xcode, other editors seem to sometimes corrupt plist files.

http://developer.apple.com/tools/xcode/

Link to comment
Share on other sites

Minor Update:

 

With the correct NVCap values (atleast, i think they are). I can now get the DVI port on the second card of the GX2 to show a blue screen.

 

Before it wouldn't give me a signal.

And Hotswapping still doesn't work either.

 

I'll keep poking away at it.

 

 

I'm wondering if theres something that needs to be done to the nvidia kexts. Currently i'm trying to get it to work with the kexts from aquamac's 9800gtx guide.

Link to comment
Share on other sites

I removed one of the Display's from the card that only has a single DVI port. Now, i can open system profiler over VNC without having system profiler crash.

 

picture3me0.png

picture3me0.eb483fb114.jpg

 

This is With the nvidia kexts loaded. But over VNC with no Displays plugged in. As soon as i have a display hooked up my computer hangs.

Link to comment
Share on other sites

  • 2 weeks later...

tried your method on my 9800gx2 and its not working having the same problems as bubsterboo

 

I get a solid blue screen then it looks like its gonna go to the desktop then i get a black screen with a moving cursor and then a spinning beach ball that eventually freezes after 30 seconds. ideas anyone?

Link to comment
Share on other sites

Yeah,

 

I just got one to test. I have the same situation. At boot, both screens turn blue then stick when the lighter shade of blue starts. You will be able to boot with NVDAResman removed from your extensions folder. You can then see if you have got your details right with GFX strings. I had to guess one of the PCI addresses as GFX strings will only give you one of the addresses but I got it right eventually. However I still get the annoying sticking at the blue screen with NVDAResman in place.

Link to comment
Share on other sites

i got my pci addresses the same way as bubster (through windows device manager)

 

if i boot with: -legacy -x -v

 

i can get in and see system profiler but when i tried to ss it the system freezes.

system profiler sees both cards. at least it gives me time to swap out my boot.plist.

Link to comment
Share on other sites

i got my pci addresses the same way as bubster (through windows device manager)if i boot with: -legacy -x -v i can get in and see system profiler but when i tried to ss it the system freezes.system profiler sees both cards. at least it gives me time to swap out my boot.plist.
I had this problem aswell. When you boot in safe mode you won't get any hardware acceleration anyways.But for the system profiler freezing. That i fixed by removing the second display string (display - B ) from the in.plist on the correct card that only has a single output.But the computer still freezes after about 30s of use in safe mode. I usually use safe mode to remove my nvdaresman kext when i know it's not working.

 

 

From reading about people having success with the 7950gx2. I think the problem stems from the display outputs and NVCap. The card is a bit weird with the display outputs. The main card has a dvi and a hdmi, and the other just has a dvi.I'm wondering. What's the reason nvidia made the second card only have a single output? Was the second output on the GPU used for SLI, or some other reason?Also, what did nvidia do differently with the 9800gx2 that allowed them to have an output on the second card in comparison to the 7950gx2 which has no outputs?

 

<THEORY>

 

According to wikipedia:

"The basic idea of SLI is to allow two or more graphics processing units (GPUs) to share the work load when rendering a 3D scene. Ideally, two identical graphics cards are installed in a motherboard that contains two PCI-Express x16 slots, set up in a master-slave configuration. Both cards are given the same part of the 3D scene to render, but effectively half of the work load is sent to the slave card through a connector called the SLI Bridge. As an example, the master card works on the top half of the scene while the slave card works on the bottom half. When the slave card is done, it sends its output to the master card, which combines the two images to form one and then outputs the final render to the monitor."

 

So, essentially the slave card uses one of its outputs to output to the master card. So maybe, the slave card on the 9800gx2 only has a single output because the second output channel is being used by the SLI bridge.

 

In OS X Maybe our problems are related to output problems on this slave card. Perhaps the driver is hanging because the slave card is sending data through this output that's designed for the SLI bridge, thus causing problems.

 

I think I should try to find a way to disable the slave card entirely.

 

 

One user here had similar problems with his 7950gx2, but he then removed both of the display outputs on the slave card and got it to work. Which could prove my theory because he eliminated the slave card from outputting any data through the SLI bridge.

 

</THEORY>

Link to comment
Share on other sites

Hi Busterboo, I have started work on this now too as I got a card yesterday. I was interested to read what you said and was already on the same lines. I had already tried disabling one output on the second card, as you will see below there is one output for one card and two outputs on the other. I currently am working with NVDAResman removed and then dropping it back in after making changes. Here is my system profiler:

 

NVIDIA GeForce 9800 GX2 SDL:

 

Chipset Model: NVIDIA GeForce 9800 GX2 SDL

Type: Display

Bus: PCIe

PCIe Lane Width: x16

VRAM (Total): 512 MB

Vendor: NVIDIA (0x10de)

Device ID: 0x0604

Revision ID: 0x00a2

ROM Revision: 4010

Displays:

Display Connector:

 

NVIDIA GeForce 9800 GX2 SDL/HDMI:

 

Chipset Model: NVIDIA GeForce 9800 GX2 SDL/HDMI

Type: Display

Bus: PCIe

PCIe Lane Width: x16

VRAM (Total): 512 MB

Vendor: NVIDIA (0x10de)

Device ID: 0x0604

Revision ID: 0x00a2

ROM Revision: 4010

Displays:

Display:

Resolution: 1680 x 1050

Depth: 32-bit Color

Core Image: Software

Main Display: Yes

Mirror: Off

Online: Yes

Quartz Extreme: Not Supported

Display Connector:

 

 

I have many more things to try, who knows, maybe I disabled the wrong DVI on the second card. I have to get a relative back to Gatwick airport now, but I will continue when I get home. I am using GFX strings by the way. Also, I tried disabling the second connector on both the main & slave, I disabled DVI 1 and left 0 working and that is how I am currently setup. Maybe on the second card the main DVI is outputting to the main card -I will try reversing them later. Here is my info.plist for you to peruse:

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>

<dict>

<key>@0,compatible</key>

<string>NVDA,NVMac</string>

<key>@0,device_type</key>

<string>display</string>

<key>@0,name</key>

<string>NVDA,Display-A</string>

<key>@2,#adress-cells</key>

<string>0x01000000</string>

<key>@2,#size-cells</key>

<string>0x00000000</string>

<key>@2,compatible</key>

<string>NVDA,sensor-parent</string>

<key>@2,device_type</key>

<string>NVDA,gpu-diode</string>

<key>@2,hwctrl-params-version</key>

<string>0x02000000</string>

<key>@2,hwsensor-params-version</key>

<string>0x02000000</string>

<key>@2,name</key>

<string>sensor-parent</string>

<key>@2,reg</key>

<string>0x02000000</string>

<key>NVCAP</key>

<data>

BAAAAAAAAwAAAAAAAAAABwAAAAA=

</data>

<key>NVPM</key>

<data>

AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==

</data>

<key>VRAM,totalsize</key>

<data>

AAAAIA==

</data>

<key>device_type</key>

<string>NVDA,GeForce</string>

<key>model</key>

<string>NVIDIA GeForce 9800 GX2 SDL</string>

<key>name</key>

<string>NVDA,Parent</string>

<key>rom-revision</key>

<string>4010</string>

</dict>

<key>PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)</key>

<dict>

<key>@0,compatible</key>

<string>NVDA,NVMac</string>

<key>@0,device_type</key>

<string>display</string>

<key>@0,name</key>

<string>NVDA,Display-A</string>

<key>@1,compatible</key>

<string>NVDA,NVMac</string>

<key>@1,device_type</key>

<string>display</string>

<key>@1,name</key>

<string>NVDA,Display-B</string>

<key>@2,#adress-cells</key>

<string>0x01000000</string>

<key>@2,#size-cells</key>

<string>0x00000000</string>

<key>@2,compatible</key>

<string>NVDA,sensor-parent</string>

<key>@2,device_type</key>

<string>NVDA,gpu-diode</string>

<key>@2,hwctrl-params-version</key>

<string>0x02000000</string>

<key>@2,hwsensor-params-version</key>

<string>0x02000000</string>

<key>@2,name</key>

<string>sensor-parent</string>

<key>@2,reg</key>

<string>0x02000000</string>

<key>NVCAP</key>

<data>

BAAAAAAAAwAAAAAAAAAABwAAAAA=

</data>

<key>NVPM</key>

<data>

AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==

</data>

<key>VRAM,totalsize</key>

<data>

AAAAIA==

</data>

<key>device_type</key>

<string>NVDA,GeForce</string>

<key>model</key>

<string>NVIDIA GeForce 9800 GX2 SDL/HDMI</string>

<key>name</key>

<string>NVDA,Parent</string>

<key>rom-revision</key>

<string>4010</string>

</dict>

</dict>

</plist>

 

 

 

My info.plist is here for you to look at:

in.plist.zip

Link to comment
Share on other sites

Hey Aqua-mac. Glad to hear you got a hold of one.

 

Ive tried an identical plist as yours, which theoretically is entirely correct. Then played around with the NVCap values. I had No success.

 

Right now I'm trying removing all the displays from the slave card, and only having a single display on the master card.

 

I have graphics mode in my boot plist set to 1920x1200x32. When i try over VGA it boots at 1600x1200 (i guess this is the max supported vesa mode over VGA). But then as soon as the loginwindow loads I get a black screen with the spinning beach ball, but my display reports a 1680x1050 resolution.

 

Display detection must be working.

 

 

Also, if i remove the displays from the slave card and set their key value to zero, like what Zandig did to get his 7950gx2 working. When i boot with no nvdaresman my system profiler reports only a single graphics card. But when i boot with nvdaresman and no displays attached, then use VNC to connect remotely, system profiler then reports the second graphics card with no display adapters.

 

Any idea why system profiler reports differently if the nvidia kexts get loaded or not? Though, Probably irrelevant.

 

Ex:

<key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)</key>

<dict>

<key>@0,#adress-cells</key>

<string>0x01000000</string>

<key>@0,#size-cells</key>

<string>0x00000000</string>

<key>@0,compatible</key>

<string>NVDA,sensor-parent</string>

<key>@0,device_type</key>

<string>NVDA,gpu-diode</string>

<key>@0,hwctrl-params-version</key>

<string>0x02000000</string>

<key>@0,hwsensor-params-version</key>

<string>0x02000000</string>

<key>@0,name</key>

<string>sensor-parent</string>

<key>@0,reg</key>

<string>0x02000000</string>

 

 

There's a fair amount of success with the 7950gx2, I'm going to try and understand how and why.

Aqua-mac: What does this guy mean by the matching value in verbose mode?

http://forum.insanelymac.com/index.php?s=&...st&p=700262

Link to comment
Share on other sites

Hmm,

 

Spent some time messing about, If I install NVDAResman and remove GeForce.kext I get full dual screens or I can boot in safe mode and get dual screens. I have stripped out temperature sensor readings from the input.plist (they don't seem to work anyway) and I have corrected the nvcap to how it should be so that the the slave card has tv out (hdmi) disabled. This only leaves me suspicious of NVPM (NV Power management). Don't know much about that, but we need to check the roms for each card (they are different) to find the values for NVPM.

 

Anyone got any ideas, Netkas, Cyclone FR??

 

I attach my latest input file below:

in.plist.zip

BFG_9800_GX2_Roms.zip

Link to comment
Share on other sites

verry good news man.....you done it.

 

but what is with the other cards like 9500 gt 256 mb ?

 

can the 9800 kext just be a little rewritten to comply with the card i mentioned above?

As far as i know Aqua-mac doesn't have the 9800gx2 fully working yet.

 

And, No. You can only run graphics cards with GPU Cores that are supported by the apple drivers.

 

The 9500 and 9600 are G94 and G96. The 9800gx2 and the 9800gtx, 8800gt, 8800gts 512mb are all G92 cards.

Currently there is no support for the G94. G96.

 

 

EDIT: Attached are the Roms for my evga 9800gx2 for anyone interested.

EVGA_9800GX2.zip

Link to comment
Share on other sites

As far as i know Aqua-mac doesn't have the 9800gx2 fully working yet.

 

And, No. You can only run graphics cards with GPU Cores that are supported by the apple drivers.

 

The 9500 and 9600 are G94 and G96. The 9800gx2 and the 9800gtx, 8800gt, 8800gts 512mb are all G92 cards.

Currently there is no support for the G94. G96.

EDIT: Attached are the Roms for my evga 9800gx2 for anyone interested.

 

Hi bubsterboo / Aqua-mac,

 

I am glad that you and aqua-mac have had some progress on getting 9800gx2 to work. I have the XFX version of the card on my rig and all I can see is 1024x768 res. I haven't played around much with the NVCap ROM etc. I am a bit of a noob and pardon me for asking this but I would appreciate if you could guide me as to how I can use the ROM (to start off, how can I get the XFX 9800gx2 ROM... is there some sort of mod I can do to your EVGA ROM?).

 

Second, I have removed NVDAResman and my OS is stable without it (please tell me if I did something wrong). I did try to change the info.plist in NVInject.kext and rewrote the permissions and booted with -f but could never get to the OS login screen. I also get some dependence error on boot for NVDANV50Hal.kext and NVDANV30Hal.kext (this happened when I deleted NVDAResman.kext).

 

In short, I need you help in following ways:

 

1. How to modify and use the ROM for my XFX 9800gx2

2. How can I know the NVCap for my card? (windows vista device manager???)

 

Thanks for your help in advance!!! :angel:

Link to comment
Share on other sites

 Share

×
×
  • Create New...