Jump to content

Dual 9800 GTX 512 Working in OSX86!


aqua-mac
 Share

165 posts in this topic

Recommended Posts

Zandig,

 

First of all, this is a 2 x 512 card. So the rom will have to be modded and reflashed to work with OSX86. I have one of these cards and have done this, so if I get a chance I will try it soon with GFX strings, but I have to say, the flashing procedure is a little more complex than flashing a std card, as you have to specify a device path and flash each card individually with a modified rom. Otherwise OSX 86 will just KP when booting.

 

Mind you, you can still experiment with GFX strings without doing this to find the correct PCI path, you just won't be able to boot with NVDAResman in your extensions folder.

 

For a GX2, I would think you have to treat it as 2 separate cards. Each one to have its own PCI address. Maybe something like this:

 

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

 

and

 

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

 

With 2 sets of info - see below:

 

 

 

<?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>@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>

BAAAAAAAAwAMAAAAAAAABwAAAAA=

</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 7900 GX2</string>

<key>name</key>

<string>NVDA,Parent</string>

<key>rom-revision</key>

<string>3172a</string>

</dict>

<key>PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x1,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>

BAAAAAAAAwAMAAAAAAAABwAAAAA=

</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 7900 GX2</string>

<key>name</key>

<string>NVDA,Parent</string>

<key>rom-revision</key>

<string>3172a</string>

</dict>

</dict>

</plist>

 

 

 

The trick is finding the device path.

Link to comment
Share on other sites

Does anyone think that this could work for the 9800GX2? Not 7900GX2......what I was thinking was changing the PCI address to just the one PCI slot and not having two, cause the card is 2 physical motherboards, but just one PCI slot...what is the easiest way to go about this GFX String installation? Should I use Xcode and edit some of the .kext files or? Sorry I haven't really done GFX strings before, I am pretty knowledgeable in the whole OSX scene so I should be able to at least understand what you guys recommend to try and get it to work. Mad props with the GTX Though!!!

Link to comment
Share on other sites

That is a good question. I spent some time messing around with a 7900 GX2 last night which shows up as 2 separate 512 mb cards, although only 1 card has DVI outputs, so although OSX thinks and shows 4 connectors, only 2 can be used. Have NOT been able to get CI & QE going yet though. I guess we will not really know until someone experiments with a 9800 GX2.

Link to comment
Share on other sites

Ok this probably isnt much, but I just got the 9800GX2 in my case, and booted to the leopard install that my 8800GTS 512mb was working on, and got a kernel panic, so now I am going to start troubleshooting the heck outta this. From what it sounds like I need to go about the same method as the 7 series GX2 to get this to work. I will keep everyone posted on how far I get!

Link to comment
Share on other sites

Thanks for the instructions Aqua-mac! Been trying to get this to work for nearly a week now with two 8800GTX on 680i chipset (Striker Extreme), but i've got exactly the same problem as abethegeek.

 

Each card works on it's own with the relevant gfx string but with two cards just hangs on boot. If i remove NVDAResman i can boot but no QE or res change. I'm not even bothered about getting both cards to work, i just don't want to remove one of the cards to boot OSX every time.

 

There's a guide http://forum.insanelymac.com/index.php?showtopic=73199 which suggests using Marvin's AMD util to patch NVDAResman on Intel platform for 680i support, but it's not relating to two gfx cards or 10.5.2 install. Either way, it doesn't work.

 

Like Abethegeek i tried various kexts from 5.2 and 5.3 without luck. I also tried using an old NVDAResman from 4.11, but same result - always hangs, but no kernel panic which seems weird.

 

Surely we can't be the only two people trying to get dual card setup to work on a 680i mobo.

 

Any help would be very much appreciated!

 

 

FWIW, i've attached my plist.

plist.zip

Link to comment
Share on other sites

Correct me if I'm wrong, but real Macs do not feature any Crossfire or SLI, no performance advantage of multiple cards. While we've gotten somethings that would never work in a real mac working in an osx86 mac, could ths be somethng we could get working for sure? Personally, even if it's just the 7300 GT, or HD2600, I'd hate to see the waste of this card just for an extra dsplay.

Link to comment
Share on other sites

This is what was outputted by gfxutil "PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)"

 

I'm trying various things for the second card, booting without any nvidia kexts, my system profiler only shows one 9800, and the other just shows as "display" without the device string in my boot plist. They both show as display. Is that an indication that my strings are incorrect?

Link to comment
Share on other sites

I managed to find the correct IDs in windows. Heres a screeny to help others:

df71245843825.gif

 

LATER EDIT:

 

Now, I believe thats working correctly. Heres a screenshot:

picture2yg6.png

Before, If i had NVDAResman installed i would just get a kernel panic. Now with the right string, i get a solid blue screen.

I'm going to play around with the kexts to see if i can fix that.

Any help would be appreciated.

And incase your wondering, the strings that did it for me on my evga 9800gx2 are:

PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)

PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)

 

EDIT:

 

It seems that when i use the kexts that come with 10.5.2 i get a kernel panic anyways.

When i use aqua-mac's modded kexts found here It boots until it loads loginwindow and then i get a solid blue screen with a stuck cursor.

 

If this helps atall, I'm using a DFI-UT-P35-T2R board.

Link to comment
Share on other sites

Hi Busterboo,

 

Well done for getting that far. You have reached a similar stage as I got to with my 7900 GX2. Things show up fine with NVDAResman removed, but I got a KP with it in place. I have not had a chance to try again with the latest kexts I posted with this card since then - no time.

 

Here is something to try. Disconnect all monitors from the card with NVDAResman in your extensions folder and boot your computer. Leave it for a while till you rekon you have got to the desktop, then plug in one monitor to one of the DVI sockets. If this does not work try repeating it on the other DVI socket. Let me know if you get the stuck blue screen again or if you get to the desktop. If you do get to the desktop, check sys profiler for CI & QE.

Link to comment
Share on other sites

I got to the same point after patching my 7900GX2 BIOSes. "Both" cards get detected with the right GFX EFI string but the system crashes with NVDAResman in place. Maybe it's trying to initialize the wrong monitor ports, as OSX thinks the card has 4 monitor ports, although it has only two. I'll try booting without a connected display and see how that goes.

Link to comment
Share on other sites

BTW, here's a screenshot of my System-Profiler without NVDAResman. I'm gonna try hot-plugging now and report back !bild1to7.png

 

EDIT: No luck with hotplugging the display, it's the same as booting with the display, just as the Nvidia driver kicks in (the fans spin down) the little grey circle under the Apple logo stops spinning and that's it. It just freezes, no kernel panic is shown though, even with -v boot option.

Link to comment
Share on other sites

I managed to find the correct IDs in windows. Heres a screeny to help others:

df71245843825.gif

 

LATER EDIT:

 

Now, I believe thats working correctly. Heres a screenshot:

picture2yg6.png

Before, If i had NVDAResman installed i would just get a kernel panic. Now with the right string, i get a solid blue screen.

I'm going to play around with the kexts to see if i can fix that.

Any help would be appreciated.

And incase your wondering, the strings that did it for me on my evga 9800gx2 are:

PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)

PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)

 

EDIT:

 

It seems that when i use the kexts that come with 10.5.2 i get a kernel panic anyways.

When i use aqua-mac's modded kexts found here It boots until it loads loginwindow and then i get a solid blue screen with a stuck cursor.

 

If this helps atall, I'm using a DFI-UT-P35-T2R board.

 

 

ok busterboo i'm a little confused by all the edits. The 9800 gx2 is working for you??

Link to comment
Share on other sites

SUCCESS with my 7900 GX2 ! At least partial :D

bild1iy0.png

 

Here's what I did:

 

<?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(0x0)/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>@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>

BAAAAAAAAwAMAAAAAAAABwAAAAA=

</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 7900 GX2</string>

<key>name</key>

<string>NVDA,Parent</string>

<key>rom-revision</key>

<string>3172a</string>

</dict>

<key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x1,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>

<key>NVCAP</key>

<data>

BAAAAAAAAwAMAAAAAAAABwAAAAA=

</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 7900 GX2</string>

<key>name</key>

<string>NVDA,Parent</string>

<key>rom-revision</key>

<string>3172a</string>

</dict>

</dict>

</plist>

 

I removed the display lines from the "card" that has no connectors. This gave me a single card in Systemprofiler, I then installed Nvidia kexts, rebooted and now had full resolution and a transparent menu bar ! I can't post a Systemprofile screenshot because it crashes the complete system when I click on graphics/monitors. Any advice ?

 

Thanks

Link to comment
Share on other sites

ok i tried it and freezes at com.apple.boot.plist its probably cuz im doing it over the phone with some noob gonna go down to his house

Link to comment
Share on other sites

 Share

×
×
  • Create New...