Mac OS X on x86 Hardware 2008–2024 Technical Archive
InfiniteMac OSx86 › OSx86 Core & 10.X › Dual Graphic Cards / EFI String / Displays not detected
6,963 reads · 2011-11-13
Dossier 10.X Core DSDT Gigabyte G31M / P35 NVIDIA GeForce

Dual Graphic Cards / EFI String / Displays not detected

I am trying to get triple monitors working on my hackintosh rig, and have successfully managed to do so on my work computer (an ASUS P6X58D-E based system with an nVidia GT220 and a nVidia 210 PCI-E card). However, I am having issues on my…

Primary Author
@ouija Published 2011-11-13
Collection
OSx86 Core & 10.X
Archival Footprint
6,963 historical reads · 0 curated field notes (from 2 dispatches) · 2011-11-13
Credited Voices (1)
@ouija (2)

I am trying to get triple monitors working on my hackintosh rig, and have successfully managed to do so on my work computer (an ASUS P6X58D-E based system with an nVidia GT220 and a nVidia 210 PCI-E card).

However, I am having issues on my home machine when trying to do the same; I have an ASUS P8P67-M motherboard and two nVidia 210 cards. I created my EFI string the same way as my work machine, and the system will boot and both cards will appear under the system profiler, however NO DISPLAYS on the first/root PCI-E card are detected as being connected, which is really strange (as they are connected and will work with an EFI string consisting of only the first/root PCI-E card.

So my question is if anyone knows why the displays are not being found or showing up as connected? Is there possibly another variable/setting I could add to my plist to fix this? I've even tried removing one of the 210 cards and using my old nVidia GT8800 in it's place to see if it would work but the same issue occurs.

Note that I also am NOT using a DSDT at this time until I get this resolved; Using one doesn't help fix the issue either.

I was leaning towards it being a possible BIOS setting/issue, but there are no real options for changing the primary graphics card or anything like that.

To build my customized graphics plist/generate my EFI string, I followed the steps here: digi taldj.net/2009/09/02/snow-leopard-hackintosh-ga-ep45-extreme-multiple-video-cards-more/

My plist currently looks like this (consisting of my old 8800GT and one 210):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>

	<key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)</key>
	<dict>
		<key>@0,AAPL,boot-display</key>
		<data>
		</data>
		<key>@0,can-hot-plug</key>
		<data>
		</data>
		<key>@0,compatible</key>
		<string>NVDA,NVMac</string>
		<key>@0,connector-type</key>
		<data>
		AAAABA==
		</data>
		<key>@0,device_type</key>
		<string>display</string>
		<key>@0,display-connect-flags</key>
		<data>
		AAAAAA==
		</data>
		<key>@0,name</key>
		<string>NVDA,Display-A</string>
		<key>@1,AAPL,boot-display</key>
		<data>
		</data>
		<key>@1,can-hot-plug</key>
		<data>
		</data>
		<key>@1,compatible</key>
		<string>NVDA,NVMac</string>
		<key>@1,connector-type</key>
		<data>
		AAAABA==
		</data>
		<key>@1,device_type</key>
		<string>display</string>
		<key>@1,display-connect-flags</key>
		<data>
		AAAAAA==
		</data>
		<key>@1,name</key>
		<string>NVDA,Display-B</string>
		<key>NVCAP</key>
		<data>
		BAAAAAAAAwAMAAAAAAAABwAAAAA=
		</data>
		<key>NVPM</key>
		<data>
		AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
		</data>
		<key>built-in</key>
		<data>
		AA==
		</data>
		<key>VRAM,totalsize</key>
		<string>0x20000000</string>
		<key>device_type</key>
		<string>NVDA,GeForce</string>
		<key>model</key>
		<string>nVidia GeForce 8800GT</string>
		<key>name</key>
		<string>NVDA,Parent</string>
		<key>rom-revision</key>
		<string>nVidia GeForce 8800GT OpenGL Engine [EFI]</string>
	</dict>
		<key>PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)</key>
	<dict>
		<key>@0,AAPL,boot-display</key>
		<data></data>
		<key>@0,can-hot-plug</key>
		<data></data>
		<key>@0,compatible</key>
		<string>NVDA,NVMac</string>
		<key>@0,connector-type</key>
		<data>
		AAAABA==
		</data>
		<key>@0,device_type</key>
		<string>display</string>
		<key>@0,display-connect-flags</key>
		<data>
		AAAAAA==
		</data>
		<key>@0,name</key>
		<string>NVDA,Display-A</string>
		<key>@1,AAPL,boot-display</key>
		<data>
		</data>
		<key>@1,can-hot-plug</key>
		<data>
		</data>
		<key>@1,compatible</key>
		<string>NVDA,NVMac</string>
		<key>@1,connector-type</key>
		<data>
		AAAABA==
		</data>
		<key>@1,device_type</key>
		<string>display</string>
		<key>@1,display-connect-flags</key>
		<data>
		AAAAAA==
		</data>
		<key>@1,name</key>
		<string>NVDA,Display-B</string>
		<key>NVCAP</key>
		<data>
		BAAAAAAAAwAMAAAAAAAABwAAAAA=
		</data>
		<key>NVPM</key>
		<data>
		AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
		</data>
		<key>built-in</key>
		<data>
		AA==
		</data>
		<key>VRAM,totalsize</key>
		<string>0x40000000</string>
		<key>device_type</key>
		<string>NVDA,GeForce</string>
		<key>model</key>
		<string>nVidia GeForce 210</string>
		<key>name</key>
		<string>NVDA,Parent</string>
		<key>rm_multiboard_capable</key>
		<data>
		AAAAAQ==
		</data>
		<key>rom-revision</key>
		<string>nVidia GeForce 210 OpenGL Engine [EFI]</string>
	</dict>
	<key>PciRoot(0x0)/Pci(0x1c,0x6)/Pci(0x0,0x0)</key>
	<dict>
		<key>built-in</key>
		<string>0x01</string>
	</dict>
</dict>
</plist>

Note that I tried removing the following from both instances under the SECOND card [PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)] but it made no difference:

	
<key>@0,AAPL,boot-display</key>
<data></data>

Here's what it currently appears as under the system profiler:

Anyone have any thoughts as to what the issue might be, or anything further I could try to get my displays working on the first card? I'm honestly stumped at this point...

Author Updates & Technical Revisions

Follow-up dispatches by @ouija

Author Update #1 @ouija 2011-11-13

Resolved

So I managed to answer my own question and resolve this issue, and like a proper user will gladly share my fix for anyone who runs into this similar problem.

Apparently as of OSX 10.7.2, Apple made some changes which will affect how you need to form your graphics EFI string / .plist file or it will no longer work with dual graphic cards.

Remove these lines for both graphic cards from your plist file:

<key>name</key> <string>NVDA,Parent</string>

and change the device_type for the first card to:

<key>device_type</key> <string>NVDA,Parent</string>

and the second card:

<key>device_type</key> <string>NVDA,Child</string>

(this is only needed once per card, leave the "@0,device_type" style keys alone, only change the "pure" device_type.)

That's it! Now regenerate your EFI string using gfxutil or EFIStudio or whatever, pop it into your com.apple.boot.plist and away you go!

Sources & Contributor Provenance (1 credited usernames · Thread #7508)
UsernameDossier ContributionDispatchesActive Window
@ouijaPrimary Author22011-11-13