Jump to content

GTX 590 - Single PCB - Dual Cores - lets get it working!


24 posts in this topic

Recommended Posts

Prerequisite:

 

  • Chimera 1.4.1
  • Graphics Enabler = Yes
  • Device ID (1088) in NVDAGF100Hal.kext
  • npci=0x2000 in com.apple.Boot.plist

 

So doing the above steps gives us a working GTX 590 card, but we are unable to get 2 Cores working. IE: System Information / Graphics Displays / 1 x Display / 1 x GTX 590 (instead of 2 x GTX 590)

 

33e0ev7.png

 

2u3wdc3.png

 

Now I have created a plist which can be converted into a EFI string that will replicate this method.

 

GTX 590 .plist

 

and the EFI string generated from the above PLIST

 

Pastie for EFI STRING

 

 

Experiments:

 

ok now using this thread as an example... GTX 295 discussion

 

that is a 2 core Single PCB card (also a dual model) that was made to work on previous OSX installs... perhaps we can replicate some of their progress but with the GTX 590..

 

Here is a plist that I whipped up, but for me, it doesn't work. it just reboots at the last step....

 

GTX 590 Dual Core - Single PCB - not working

 

If someone can take a look at that PLIST and wants to try and get it to work... maybe you see something I am not doing right.

 

Please post back any relevant info you find. (new builds of Chimera, or other booters that work, other injectors that work, better EFI strings, etc)

 

Lets get this thing working with BOTH CORES!!!

GTX590.plist.zip

GTX590_singlePCB.plist.zip

  • 4 weeks later...

Dude, where did you get those values (in Red & Bold) and are they relevant to GTX590 or to another hardware such a Ethernet or Souncard:

<?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>
[b]	<key>[color="#FF0000"]PciRoot(0x1)/Pci(0x1c,0x4)/Pci(0x0,0x0)[/color]</key>
<dict>
	<key>built-in</key>
	<string>0x01</string>
</dict>
[/b]	<key>PciRoot(0x1)/Pci(0x7,0x0)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)</key>
<dict>
	<key>@0,AAPL,boot-display</key>
	<string>0x00000001</string>
	<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>AAPL,slot-name</key>
	<string>Slot-1</string>
	<key>NVCAP</key>
	<data>
	BAAAAAAAAwAMAAAAAAAACgAAAAA=
	</data>
	<key>VRAM,totalsize</key>
	<string>0x60000000</string>
	<key>device_type</key>
	<string>NVDA,Parent</string>
	<key>model</key>
	<string>GeForce GTX 590</string>
	<key>rom-revision</key>
	<string>70.10.37.00.91</string>
</dict>
</dict>
</plist>

I'll try your plist, if you explain!

Now my GTX 590 works thru Chameleon's GraphicsEnabler=Yes.

Dude, where did you get those values (in Red & Bold) and are they relevant to GTX590 or to another hardware such a Ethernet or Souncard:

[b]	<key>[color="#FF0000"]PciRoot(0x1)/Pci(0x1c,0x4)/Pci(0x0,0x0)[/color]</key>
<dict>
	<key>built-in</key>
	<string>0x01</string>
</dict>
[/b]

 

ok the red numbers are from Chameleon Graphics Enabler = Yes. If you load the card up with no EFI string and just graphics enablers = yes, you can dump the current configuration of how the card is running (Chameleon) and that is what Chameleon uses. Now I KNOW that its obviously wrong... but if you use that setting it shows up as "display" on the second GPU in system profiler... it seems like a generic fallback for Chameleon to deal with the second card.

 

basically in this thread our goal is to replace that <dict> in the plist with a working second card <dict> and get our second GPU working... hope that clears up some confusion

ok the red numbers are from Chameleon Graphics Enabler = Yes. If you load the card up with no EFI string and just graphics enablers = yes, you can dump the current configuration of how the card is running (Chameleon) and that is what Chameleon uses.

curie, can you explain me how to dump the current configuration and convert it to .plist, please?!

curie, can you explain me how to dump the current configuration and convert it to .plist, please?!

 

make sure you have ioreg (xcode)

 

open terminal and type this.

 

ioreg -lw 0 -p IODeviceTree | grep device-prop > /graphicsenabler_dump.txt

 

you will get a text file on your root of your mac with your current HEX string.

 

copy from < to > the #'s inside.. and paste as a new file. graphics.hex

 

then open OSX86tools.app (google it)

 

and click "Add EFI strings / BOOT Flag"

 

click "import Hex/Plist"

 

select your .hex file

 

then save as XML

 

and there you have a direct copy of your hex in plist format.

 

now you may have some gibberish <data> that can be converted to strings with any base64 converter

 

like this http://coderstoolbox.net/string/

 

ie TlZEQSxEaXNwbGF5LUIA = NVDA,Display-B

 

 

R2VGb3JjZSBHVFggNTkwAA== is GeForce GTX 590

 

if you convert it, you have to change <data></data> to <string></string>

 

so its up to you. but that is how you'd pull your current config into a plist.

zurie, where did you get the NVCAP for another GPU (in your plist both GPUs have it)?

 

Thats the thing... I guessed... in fact, I got a NVCAP on my bios and I don't think it fired correctly with it.

 

0400000000000300000000000000000700000000

 

is that what you got?

 

I am not even sure if I am using that cap... I ended up pulling Chameleon's Graphics enabler code and just starting with that (since it worked for 1 gpu)

 

also, talking to another member on this site, he was looking into it and it seems that there is a audio section of that card too (probably for HDMI digital audio) and also was saying that GPU 1 is recognized from chameleon but GE = yes pulls the second card as unknown 3D.

 

so he was guessing that its either a Chimera / Chameleon issue that it can't even pull #2 or its a actual NVidia driver issue on nvidia kexts that don't support dual GPU single PCB yet (maybe on NVDAGF100Hal.kext) I do know at one point the GTX 295 required a kext (GTX295.kext) that a 3rd party made but I am not sure what exaclty it did... (like device IDs or something way more complex).

 

 

also check out this thread. its a good read... may help a little

 

Step by Step Guide GTX 295

yes, exactly. i used NVCAP Maker and got that cap from my dumped rom. which explains why it didn't work and I ended up using another cap.

I tried both GPUs separately, each works. But together they don't. Maybe a driver issue? Don't know.

Think we need SOME TRICK to get 'em workin' together.

 

post how you got each working seperately, that would be interesting to see. Also someone I spoke to had 4 single gpu graphic cards working and he had to create virtual bridges in his DSDT but didn't have a gigabyte mobo so he didnt know how to do it. not saying that is the solution, but thats what it took to make work in his specific case. maybe we need something similar or it could just come down to a driver issue :\

Prerequisite:

 

  • Chimera 1.4.1
  • Graphics Enabler = Yes
  • Device ID (1088) in NVDAGF100Hal.kext
  • npci=0x2000 in com.apple.Boot.plist

 

So doing the above steps gives us a working GTX 590 card, but we are unable to get 2 Cores working. IE: System Information / Graphics Displays / 1 x Display / 1 x GTX 590 (instead of 2 x GTX 590)

 

can u guide me step by step how to make GTX590 working?

 

I don't know how to modify Device ID 1088 in NVDAGF100Hal.kext

can u guide me step by step how to make GTX590 working?

 

I don't know how to modify Device ID 1088 in NVDAGF100Hal.kext

 

command + Click on NVDAGF100Hal.kext and show package contents.

 

navigate to Contents / Info.plist

 

inside Info.plist find

 

<key>IOPCIPrimaryMatch</key>

<string>

0x06c010de&0xffe0ffff

0x0dc010de&0xffc0ffff

0x0e2010de&0xffe0ffff

0x0ee010de&0xffe0ffff

0x0f0010de&0xffc0ffff

0x104010de&0xffc0ffff

0x124010de&0xffc0ffff

</string>

 

you will just add the below to a new row before <./string>

 

0x108810de&0xffe0ffff

 

 

then change permissions using kext utility, disktools, or by hand in terminal and restart.

  • 1 month later...

This thread is relevant to my interests.

 

I've had a Gainward Phantom3 GTX 580 with 3GB RAM in my Hack and switched it for a MSI N590GTX. Using the EFI string provided here and adding the 1088 line to my NVDAGF100.kext Info.plist, I was able to just power off my rig, switch the cards and start up to full dual screen desktop @2x1080p. Great. My system profiler shows the exact info as OP's, too.

 

The assumption that only one core is used under OS X seems to be valid. I have two BenQ XL2410T displays connected to DVI port 1 & 2 working perfectly. Switching display two from port 2 to 3 results in a blank screen on that device.

 

Any progress with getting the second GPU to work? :P

 

EDIT:

 

I'm not using GraphicsEnabler=Yes, like others seem to do, but the "Graphics Mode fix":

 

<key>GraphicsEnabler</key>

<string>No</string>

<key>Graphics Mode</key>

<string></string>

You mean this? I think it's just cosmetic. (I Attached screenshot)

I played around a bit with you're plist file and my own pci mappings

 

-edit- I hooked another display on dvi, because I only have 1 (Apple one) it's recognized on the other core I guess?

 

 

<?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,AAPL,boot-display</key>
	<string>0x00000001</string>
   		<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>AAPL,slot-name</key>
   		<string>Slot-1</string>
   		<key>NVCAP</key>
   		<data>
   		BAAAAAAAAwAMAAAAAAAACgAAAAA=
   		</data>
   		<key>VRAM,totalsize</key>
   		<string>0x60000000</string>
   		<key>device_type</key>
   		<string>NVDA,Parent</string>
   		<key>model</key>
   		<string>GeForce GTX 590</string>
   		<key>rom-revision</key>
   		<string>70.10.37.00.91</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>NVCAP</key>
	<data>
	BAAAAAAADwAMAAAAAAAABwAAAAA=
	</data>
	<key>VRAM,totalsize</key>
	<string>0x60000000</string>
		<key>device_type</key>
	<string>NVDA,GeForce</string>
	<key>model</key>
	<string>GeForce GTX 590</string>
	<key>rom-revision</key>
	<string>70.10.37.00.91</string>
</dict>
</dict>
</plist>

  • 2 weeks later...

Thanks for all the hard work on this guys.

 

I followed instructions but my system boots to a black screen. I CAN run in safe mode and I get full res (2560 x 1440)

 

Any ideas on what I might be missing? Or things I could try?

 

I am running Snow 10.6.8, Asus P6T Deluxe v2, GTX 590, Core i7 920

 

Thanks again,

 

Jez.

 

**Update**

 

Just realised I am running an updated version of Chimera - v1.5.4...... does this matter?

  • 2 weeks later...

I am running the updated version of Chimera 1.6.x

 

the problem is that this only works in LION. I never got it to work in 10.6.8 or 10.6.x

 

always got a black screen, a blue muffled screen, or a variation of the sort.

 

and like you, i can run in safe mode or I can remove a geforce driver and get full resolution, but no acceleration.

You mean this? I think it's just cosmetic. (I Attached screenshot)

I played around a bit with you're plist file and my own pci mappings

 

-edit- I hooked another display on dvi, because I only have 1 (Apple one) it's recognized on the other core I guess?

 

I tried your method and it does indeed show 2, but it's cosmetic. I still only have 1536 megs of ram not 3072,etc. I still think it might be a limitation of the drivers for 500 series cards...

 

I had to modify your plist to use my PCI slots but after that it did cosmetically change..

  • 1 month later...

What brands/models of GTX590's are you guys using?

 

I have an EVGA Classified GTX590 and haven't been able to get it working at all. I've tried using GTX5XX Enabler at http://www.osx86.net...&id=2074&page=3 with no luck, although I have a GTX570 that works great with that installer.

 

What do you do with the graphics plist files you are making? Are you using custom DSDT's?

 

Thanks for your patience, I'm fairly new to this..

 

-----

Should also note that I'm running 10.7.2, Gigabyte GA-Z68X-UD7-B3 (F6) with Tonymac DSDT, Chimera 1.7.0, and [url=&quot;http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/&quot;]#####[/url] 4.2.0 installer.

  • 2 weeks later...
  • 2 weeks later...
  • 5 weeks later...
  • 7 years later...
On 1/6/2012 at 7:16 AM, tashdor said:

What brands/models of GTX590's are you guys using?

buy essays cheap

I have an EVGA Classified GTX590 and haven't been able to get it working at all. I've tried using GTX5XX Enabler at http://www.osx86.net...&id=2074&page=3 with no luck, although I have a GTX570 that works great with that installer.

 

What do you do with the graphics plist files you are making? Are you using custom DSDT's?

 

I would use custom DSDT's to optimise and properly adopt the config.plist.

Edited by amandavernon
  • 10 months later...
×
×
  • Create New...