Jump to content

Dual Graphic Cards / EFI String / Displays on first card are not detected!


djouija
 Share

9 posts in this topic

Recommended Posts

Hello,

 

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: http://digitaldj.net/2009/09/02/snow-leopa...deo-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" "http://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:

BenSi.png

 

5lesB.png

 

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...

Link to comment
Share on other sites

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! ;)

  • Like 1
Link to comment
Share on other sites

  • 2 months later...
Guest sincro77

i need help ... This is an old machine --its just a project for fun.

I have gma845 internal and radeon 9250 pci...

 

I have tried many things, from tiger 10.4.1--(it uses appleintegreatedgraphics.kext for the gma)

up to to 10.5.8.... Natit- AtiLead- Callisto...etc etc..

Each has its pros and cons>

I finally got gma to show up using pci values in a homemade gf string.

h

here is a screenshot.>

What im trying to do is enable the onboard video.

In tiger i have had the arrangement tab and 2 monitors but it was funny with the framebuffer overlapping the screens and the internal was being placed overtop the pci signal. ??

If anyone can help i will supply more info.

thanks guys

post-627782-0-89106700-1326849808_thumb.jpg

Link to comment
Share on other sites

  • 3 weeks later...

I am having the same problem with dual nvidia video cards. The card is also showing x8 in system info and it is definitely in a x16 pci express slot. The displays are not detected if I try to plug in a monitor. The system info reads 1MB for VRAM, when it should be 1 GB for this card. My secondary video card works great though.... both displays are fine.

 

My config: OS X Lion 10.7.3 via Kakewalk on a Gigabyte GA-EP45-DS3R. GTX 285 in slot 1. 8800GT in second slot for displays. BIOS set to PEG2. Newest CUDA Driver Version 4.1.28 installed. Trying to run Resolve with the GTX GPU. The GTX 285 is the Mac edition. Resolve does not detect the card on startup icon_e_sad.gif

 

I used the following plist to generate my EFI string using EFI studio..... with the name tags removed per 10.7.2. See here: http://www.insanelymac.com/forum/index. ... pic=272091

 

I did not have any luck modifying my DSDT.aml which I suspect to be the problem??? Has anyone else fixed this 1MB issue? Any answers would be greatly appreciated!!

Here is the xml for the plist:

 

<?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(0×1)/Pci(0×1,0×0)/Pci(0×0,0×0)</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>0×40000000</string>

<key>device_type</key>

<string>NVDA,Parent</string>

<key>model</key>

<string>NVIDIA GeForce GTX 285</string>

<key>rm_multiboard_capable</key>

<data>AAAAAQ==</data>

<key>rom-revision</key>

<string>NVIDIA GeForce GTX 285 OpenGL Engine</string>

</dict>

<key>PciRoot(0×1)/Pci(0×6,0×0)/Pci(0×0,0×0)</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>0×20000000</string>

<key>device_type</key>

<string>NVDA,Child</string>

<key>model</key>

<string>NVIDIA GeForce 8800 GT</string>

<key>rm_multiboard_capable</key>

<data>AAAAAQ==</data>

<key>rom-revision</key>

<string>NVIDIA GeForce 8800 GT OpenGL Engine</string>

</dict>

</dict></plist>

Link to comment
Share on other sites

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:

 

 

 

 

and change the device_type for the first card to:

 

 

 

 

and the second card:

 

 

 

(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! :)

 

THIS IS IT!!!! THANK YOU!!

Link to comment
Share on other sites

  • 4 months later...

Does anyone have problems using two double wide cards and the latest bootloaders that support multiple Nvidia cards?

 

My build boots with 2x GTX 480s, but the second one (in the 3rd PCI-e slot) does not have QE/CI. Using GE=Yes and I tried npci=0x2000 and npci=0x3000. It actually boots with no npci flag at all as well.

 

If I use a GT 210 instead of a second GTX 480 then both have QE/CI.

 

Lion 10.7.4. X58A-UD3R

Link to comment
Share on other sites

Does anyone have problems using two double wide cards and the latest bootloaders that support multiple Nvidia cards?

 

My build boots with 2x GTX 480s, but the second one (in the 3rd PCI-e slot) does not have QE/CI. Using GE=Yes and I tried npci=0x2000 and npci=0x3000. It actually boots with no npci flag at all as well.

 

If I use a GT 210 instead of a second GTX 480 then both have QE/CI.

 

Lion 10.7.4. X58A-UD3R

 

I have not had this issue, but I am using two single-width cards (GeForce 210s) and the latest Chameleon 2.1svn release.

 

You could try using the npci as a key/string instead of a flag in your bootloader to see if that helps maybe? (shouldn't but it's a suggestion). Not sure why else this could be occuring. Did you check your system's BIOS to try changing the bus/lane width for your graphics adapter and see if that helps?

Link to comment
Share on other sites

The 3rd slot is a x8 (physically x16 of course) and I did try setting that to be the first device initialized in the BIOS, but that did not help. I can't change the bandwidth manually in the BIOS.

 

I think my Chameleon release is a few days older than the current one--I'll go re-download.

Link to comment
Share on other sites

The 3rd slot is a x8 (physically x16 of course) and I did try setting that to be the first device initialized in the BIOS, but that did not help. I can't change the bandwidth manually in the BIOS.

 

I think my Chameleon release is a few days older than the current one--I'll go re-download.

 

You could also try swapping the cards in each slot, and if the second slot still has the same issue with the card from the first slot, then it sounds like an EFI / plist issue. Double check that the majority of the settings are the same as the first card, as there could possibly be a typo or something missing?

Link to comment
Share on other sites

 Share

×
×
  • Create New...