Jump to content

Multiple Video Cards WORKING in 10.6 with EFI Strings/DSDT


  • Please log in to reply
59 replies to this topic

#1
DigitalDJ

DigitalDJ

    InsanelyMac Protégé

  • Members
  • Pip
  • 41 posts
I wrote this up on my blog just now...but I'm going to post it here for everyone to read and dissect. I've ready so much from InsanelyMac, time to give something back :(

This took me quite some time to figure out. Even though I had the right Device Path for both video cards and correct EFI strings, the system would constantly kernel panic upon switching to GUI mode (NVDAResman). NVInject for Leopard seemed to work, but disabled QE/CI and it wasn't 64-bit unless I compiled it myself.

Eventually I got it working with JUST EFI strings but I had to change my BIOS to boot with PEG2 (so my secondary card would be my primary display). This wasn't a solution for me. I read up and found that Gigabyte boards seemed to have trouble with two cards and that you'd need to use PEG2 and switch cards around each time you wanted to enter (Snow)Leopard. Well, NO LONGER. Here's the solution. Hoorah! (This may even work in Leopard)

Firstly, you will need to modify your EFI Strings. Make sure you have the correct Device Root for each device. Usually PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0) and PciRoot(0x1)/Pci(0x6,0x0)/Pci(0x0,0x0). To find these, take out your secondary card, boot, run gfxutil -f display, and note it. Shutdown, take out your primary card, insert your secondary card (into it's secondary slot) and repeat.

You will then need to add some keys. A typical dual-video card EFI plist is outlined below, the parts that are bolded are what you need to add, the parts in red need to be changed.

In my example below I use a NVIDIA GeForce GTX 260 (896MB DVI/DVI) and NVIDIA GeForce 8500 GT (256MB DVI/VGA). You should make sure that the parts I haven't highlighted are also the same in your current EFI string.

<key>PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0) (OR THE PCI ROOT OF YOUR PRIMARY CARD use gfxutil)</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=THIS IS DVI/DVI (change it depending in your card)</data>
<key>NVPM</key>
<data>AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==</data>
<key>built-in</key>
<data>AA==</data>

<key>VRAM,totalsize</key>
<string>0x38000000 THIS IS 896MB RAM (change it depending on your card)</string>
<key>device_type</key>
<string>NVDA,GeForce</string>
<key>model</key>
<string>NVIDIA GeForce GTX 260 (change depending on card)</string>
<key>name</key>
<string>NVDA,Parent</string>
<key>rm_multiboard_capable</key>
<data>AAAAAQ==</data>

<key>rom-revision</key>
<string>NVIDIA GeForce GTX 260 (change depending on card) OpenGL Engine</string>
</dict>

<key>PciRoot(0x1)/Pci(0x6,0x0)/Pci(0x0,0x0) (OR THE PCI ROOT OF YOUR SECONDARY CARD use gfxutil)</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>BAAAAAAAAwAEAAAAAAAABwAAAAA=THIS IS DVI/VGA (change it depending in your card)</data>
<key>NVPM</key>
<data>AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==</data>
<key>built-in</key>
<data>AA==</data>

<key>VRAM,totalsize</key>
<string>0x10000000THIS IS 256MB RAM (change it depending on your card)</string>
<key>device_type</key>
<string>NVDA,GeForce</string>
<key>model</key>
<string>NVIDIA GeForce 8500 GT(change depending on card)</string>
<key>name</key>
<string>NVDA,Parent</string>
<key>rm_multiboard_capable</key>
<data>AAAAAQ==</data>

<key>rom-revision</key>
<string>NVIDIA GeForce 8500 GT(change depending on card) OpenGL Engine</string>
</dict>

That should allow you to boot to Snow Leopard under PEG2, with CI/QE. No more Kernel Panics! But we're not done. Lets finish the job to allow no BIOS changes (i.e. booting from PEG1):

Now we need to patch DSDT.aml. Gather your DSDT.dsl file using iasl (or whatever you prefer). Open it up in TextEdit and search for:

Device (PCI0)

Add the following devices under it:

Device (PEGP)
{
Name (_ADR, 0x00010000)
Device (GFX0)
{
}
}

Device (GFX1)
{
Name (_ADR, 0x00060000)
}

It should look like:

Device (PCI0)
{

Device (PEGP)
{
Name (_ADR, 0x00010000)
Device (GFX0)
{
}
}

Device (GFX1)
{
Name (_ADR, 0x00060000)
}

Name (_HID, EisaId ("PNP0A03"))

Replace the _ADR fields with the Device Path Number. For example, in my EFI string above I have PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0) and PciRoot(0x1)/Pci(0x6,0x0)/Pci(0x0,0x0). Replace these numbers in those fields. If you have something like..."1C" instead of just "6" you'll have something like Name (_ADR, 0x001C0000).

Recompile the DSDT with iasl -sa and replace the file. Reboot and hoorah, you're done. If you have a translucent bar at the top, QE/CI is working. Boot up time will be about 30-40 seconds longer. I don't know why this is, but it's a good trade off. If you need help with NVCAP or VRAM values try here.

Oh and sorry for the horrible spacing :D

Have fun!

#2
GoodWorld

GoodWorld

    InsanelyMac Protégé

  • Members
  • Pip
  • 29 posts
Hi.

How do you know whether your SL has CI/QE or not ?

Can you show me your screen shot about the graphics in system profiler ?

#3
DigitalDJ

DigitalDJ

    InsanelyMac Protégé

  • Members
  • Pip
  • 41 posts

Hi.

How do you know whether your SL has CI/QE or not ?

Can you show me your screen shot about the graphics in system profiler ?


Your bar at the top will be translucent.

http://digitaldj.net...eopard_10.6.png

#4
GoodWorld

GoodWorld

    InsanelyMac Protégé

  • Members
  • Pip
  • 29 posts
Thanks. ( CI/OE ====> The menu bar at the top will be translucent. )

#5
phantom8

phantom8

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts
The reason you're experiencing longer boot time is because the GPU Debug info being generated to /var/log/kernel.log. Take a look at the kernel log file and you'll see a long listing of "GPU Debug Info" and time needed to dump those message are exactly the delay of the boot time. I guess the system probably encountered some error in dual display card config and output those GPU debug log.

I'm using dual ATI cards and also experiencing a longer boot time. I'm trying to disable the secondary card by manually modifying dsdt.dsl, but not successful. If you know how to disable a graphics card being picked up by OSX, please help.

#6
DigitalDJ

DigitalDJ

    InsanelyMac Protégé

  • Members
  • Pip
  • 41 posts
I went through all my Console logs, couldn't find any significant error to do with graphics.

WindowServer.log shows:

Sep 02 23:10:32 [70] CGXMappedDisplayStart: Display0 : boot screen
Sep 02 23:10:32 [70] CGXMappedDisplayStart: Display0 : no display alias property
Sep 02 23:10:32 [70] CGXMappedDisplayStart: Display1 : boot screen
Sep 02 23:10:32 [70] CGXMappedDisplayStart: Display1 : no display alias property
Sep 02 23:10:32 [70] CGXMappedDisplayStart: Display2 : boot screen
Sep 02 23:10:32 [70] CGXMappedDisplayStart: Display2 : no display alias property
Sep 02 23:10:32 [70] CGXMappedDisplayStart: Display3 : no display alias property
Sep 02 23:10:32 [70] GLCompositor: GL renderer id 0x01022610, GL mask 0x00000003, accelerator 0x0000311f, unit 0, caps 0x00000003, vram 896 MB
Sep 02 23:10:32 [70] GLCompositor: GL renderer id 0x01022610, GL mask 0x00000003, texture units 8, texture max 8192, viewport max {8192, 8192} extensions 0x0000000f
Sep 02 23:10:32 [70] GLCompositor: GL renderer id 0x02022606, GL mask 0x0000000c, accelerator 0x00003b1f, unit 2, caps 0x00000003, vram 256 MB
Sep 02 23:10:32 [70] GLCompositor: GL renderer id 0x02022606, GL mask 0x0000000c, texture units 8, texture max 8192, viewport max {8192, 8192} extensions 0x0000000f
Sep 02 23:10:32 [70] AGCAttach: Couldn't find any matches
Sep 02 23:10:32 [70] CGXPerformInitialDisplayConfiguration
Sep 02 23:10:32 [70] Display 0x2b284b10: MappedDisplay Unit 0; Vendor 0x10ac Model 0xa019 S/N 809717075; online enabled (0,0)[1680 x 1050], Rotation 0, base addr 0x107100000
Sep 02 23:10:32 [70] Display 0x2b38470e: MappedDisplay Unit 2; Vendor 0x10ac Model 0xe009 S/N 808994124; online enabled (-1680,0)[1680 x 1050], Rotation 0, base addr 0x117301000
Sep 02 23:10:32 [70] Display 0x3f003f: MappedDisplay Unit 3; Vendor 0xffffffff Model 0xffffffff S/N -1; offline enabled (4384,0)[1 x 1], Rotation 0, base addr 0x117301000
Sep 02 23:10:32 [70] Display 0x2b28500d: MappedDisplay Unit 1; Vendor 0x10ac Model 0xa019 S/N 843470412; online enabled (1680,0)[1680 x 1050], Rotation 0, base addr 0x107100000
Sep 02 23:10:33 [70] Display 0x2b284b10: MappedDisplay Unit 0; ColorProfile "DELL 2007WFP"
Sep 02 23:10:33 [70] Display 0x2b38470e: MappedDisplay Unit 2; ColorProfile "DELL 2005FPW"
Sep 02 23:10:33 [70] Display 0x2b28500d: MappedDisplay Unit 1; ColorProfile "DELL 2007WFP"

Doesn't look too abnormal.

#7
phantom8

phantom8

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts
Did you check the "/var/log/kernel.log" file?

BTW, I've successfully disabled my Secondary ATI card and my OSX boots normal. No need to wait for 40-50 seconds.

#8
DigitalDJ

DigitalDJ

    InsanelyMac Protégé

  • Members
  • Pip
  • 41 posts
Yes, kernel.log also has no errors related to GPU/Graphics/Windowmanager

#9
phantom8

phantom8

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts
Hmm, I guess ATI & Nvidia behave differently. Here is my /var/log/kernel.log for the GPU Debug message dump which resulted in over 40 seconds delay in startup.

Sep  2 18:24:50 simons-Mac kernel[0]: Ethernet [AppleYukon2]: Link up on en0, 100-Megabit, Full-duplex, Symmetric flow-control, Debug [796d,6f48,0de1,0200,45e1,4000]
Sep  2 18:24:51 simons-Mac kernel[0]: ATY,Lamna: Not usable
Sep  2 18:25:01 simons-Mac kernel[0]: ** Device in slot: SLOT--1 **
Sep  2 18:25:01 simons-Mac kernel[0]: ** GPU Debug Info Start **
Sep  2 18:25:01 simons-Mac kernel[0]: 0x00009598
Sep  2 18:25:01 simons-Mac kernel[0]: 0x000000d6
Sep  2 18:25:01 simons-Mac kernel[0]: 0x00000001
Sep  2 18:25:01 simons-Mac kernel[0]: 0x00000018
Sep  2 18:25:01 simons-Mac kernel[0]: 0x0000feae
Sep  2 18:25:01 simons-Mac kernel[0]: 0x00000001
Sep  2 18:25:01: --- last message repeated 1 time ---
Sep  2 18:25:01 simons-Mac kernel[0]: 0x00009598
..
..
Sep  2 18:25:46 simons-Mac kernel[0]: 0xdbc4972f
Sep  2 18:25:46 simons-Mac kernel[0]: 0xd67c415a
Sep  2 18:25:46 simons-Mac kernel[0]: ** GPU Debug Info End **
Sep  2 18:25:48 simons-Mac kernel[0]: NTFS driver 3.0 [Flags: R/W].


#10
bobbyn

bobbyn

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 1 posts
I'm stuck...

I got the dual graphics cards to work, but I lost the CMOS reset fix...

My DSDT file seems to be fixed, but the BIOS resets everytime!!!!

Any suggestions?

#11
kdawg

kdawg

    InsanelyMac Legend

  • Donators
  • 508 posts
  • Gender:Male
  • Location:Boston, MA
I have both my cards working by injecting half that info via DSDT, without using EFI strings. I did try you method and I loose QE/CI.

QE/CI working with DSDT only no EFI strings:
Device (PEG1)            {                Name (_ADR, 0x00010000)                Method (_STA, 0, NotSerialized)                {                    Return (0x0F)                }                Method (_PRW, 0, NotSerialized)                {                    Return (Package (0x02)                    {                        0x09,                         0x05                    })                }                Device (GFX1) // <-- GeForce 8800GT                {                    Name (_ADR, Zero)                    Name (_SUN, 0x0B)                    Method (_PRW, 0, NotSerialized)                    {                        Return (Package (0x02)                        {                            0x0B,                             0x04                        })                    }                    Method (_DSM, 4, NotSerialized)                    {                        Store (Package (0x16)                            {                                "@0,compatible",                                 Buffer (0x0B)                                {                                    "NVDA,NVMac"                                },                                 "@0,device_type",                                 Buffer (0x08)                                {                                    "display"                                },                                 "@0,name",                                 Buffer (0x0F)                                {                                    "NVDA,Display-A"                                },                                 "@1,compatible",                                 Buffer (0x0B)                                {                                    "NVDA,NVMac"                                },                                 "@1,device_type",                                 Buffer (0x08)                                {                                    "display"                                },                                 "@1,name",                                 Buffer (0x0F)                                {                                    "NVDA,Display-B"                                },                                 "NVCAP",                                 Buffer (0x18)                                {                                    /* 0000 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,                                     /* 0008 */    0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,                                     /* 0010 */    0x00, 0x00, 0x00, 0x00                                },                                 "VRAM,totalsize",                                 Buffer (0x04)                                {                                    0x00, 0x00, 0x00, 0x20                                },                                 "device_type",                                Buffer (0x0D)                                {                                    "NVDA,GeForce"                                },                                 "model",                                 Buffer (0x17)                                {                                    "NVIDIA Geforce 8800 GT"                                },                                 "rom-revision",                                 Buffer (0x06)                                {                                    "3173a"                                }                            }, Local0)                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))                        Return (Local0)                    }                }            }            Device (PEG2)            {                Name (_ADR, 0x00060000)                Method (_STA, 0, NotSerialized)                {                    Return (0x0F)                }                Method (_PRW, 0, NotSerialized)                {                    Return (Package (0x02)                    {                        0x09,                         0x05                    })                }                Device (GFX2) // <-- GeForce 8500GT                {                    Name (_ADR, Zero)                    Name (_SUN, 0x0C)                    Method (_PRW, 0, NotSerialized)                    {                        Return (Package (0x02)                        {                            0x05,                             0x04                        })                    }                    Method (_DSM, 4, NotSerialized)                    {                        Store (Package (0x16)                            {                                "@0,compatible",                                 Buffer (0x0B)                                {                                    "NVDA,NVMac"                                },                                 "@0,device_type",                                 Buffer (0x08)                                {                                    "display"                                },                                 "@0,name",                                 Buffer (0x0F)                                {                                    "NVDA,Display-A"                                },                                 "@1,compatible",                                 Buffer (0x0B)                                {                                    "NVDA,NVMac"                                },                                 "@1,device_type",                                 Buffer (0x08)                                {                                    "display"                                },                                 "@1,name",                                 Buffer (0x0F)                                {                                    "NVDA,Display-B"                                },                                 "NVCAP",                                 Buffer (0x18)                                {                                    /* 0000 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,                                     /* 0008 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,                                     /* 0010 */    0x00, 0x00, 0x00, 0x00                                },                                 "VRAM,totalsize",                                 Buffer (0x04)                                {                                    0x00, 0x00, 0x00, 0x10                                },                                 "device_type",                                Buffer (0x0D)                                {                                    "NVDA,GeForce"                                },                                 "model",                                 Buffer (0x17)                                {                                    "NVIDIA Geforce 8500 GT"                                },                                 "rom-revision",                                 Buffer (0x06)                                {                                    "3169a"                                }                            }, Local0)                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))                        Return (Local0)                    }                }            }

QE/CI not working with DSDT only no EFI strings:
Device (PEG1)            {                Name (_ADR, 0x00010000)                Method (_STA, 0, NotSerialized)                {                    Return (0x0F)                }                Method (_PRW, 0, NotSerialized)                {                    Return (Package (0x02)                    {                        0x09,                         0x05                    })                }                Device (GFX1) // <-- GeForce 8800GT                {                    Name (_ADR, Zero)                    Name (_SUN, 0x0B)                    Method (_PRW, 0, NotSerialized)                    {                        Return (Package (0x02)                        {                            0x0B,                             0x04                        })                    }                    Method (_DSM, 4, NotSerialized)                    {                        Store (Package (0x2E)                            {                                "@0,AAPL,boot-display",                                 Buffer (0x01)                                {                                    ""                                },                                 "@0,can-hot-plug",                                 Buffer (0x01)                                {                                    ""                                },                                 "@0,compatible",                                 Buffer (0x0B)                                {                                    "NVDA,NVMac"                                },                                 "@0,connector-type",                                 Buffer (0x04)                                {                                    0x00, 0x00, 0x00, 0x40                                },                                 "@0,device_type",                                 Buffer (0x08)                                {                                    "display"                                },                                 "@0,display-connect-flags",                                 Buffer (0x04)                                {                                    0x00, 0x00, 0x00, 0x00                                },                                 "@0,name",                                 Buffer (0x0F)                                {                                    "NVDA,Display-A"                                },                                "@1,AAPL,boot-display",                                 Buffer (0x01)                                {                                    ""                                },                                 "@1,can-hot-plug",                                 Buffer (0x01)                                {                                    ""                                },                                 "@1,compatible",                                 Buffer (0x0B)                                {                                    "NVDA,NVMac"                                },                                 "@1,connector-type",                                 Buffer (0x04)                                {                                    0x00, 0x00, 0x00, 0x40                                },                                 "@1,device_type",                                 Buffer (0x08)                                {                                    "display"                                },                                 "@1,display-connect-flags",                                 Buffer (0x04)                                {                                    0x00, 0x00, 0x00, 0x00                                },                                 "@1,name",                                 Buffer (0x0F)                                {                                    "NVDA,Display-B"                                },                                 "NVCAP",                                 Buffer (0x18)                                {                                    /* 0000 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,                                     /* 0008 */    0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,                                     /* 0010 */    0x00, 0x00, 0x00, 0x00                                }, 				                "NVPM", 				                Buffer (0x20) 				                { 				                	/* 0000 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 				                	/* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 				                	/* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 				                	/* 0018 */    0x00, 0x00, 0x00, 0x00 				                },                                 "VRAM,totalsize",                                 Buffer (0x04)                                {                                    0x00, 0x00, 0x00, 0x20                                },                                 "built-in",                                 Buffer (0x01)                                {                                    0x00                                },                                 "device_type",                                Buffer (0x0D)                                {                                    "NVDA,GeForce"                                },                                 "model",                                 Buffer (0x17)                                {                                    "NVIDIA Geforce 8800 GT"                                },                                 "name",                                 Buffer (0x0B)                                {                                    "NVDA,Parent"                                },                                 "rm_multiboard_capable",                                 Buffer (0x04)                                {                                    0x00, 0x00, 0x00, 0x20                                },                                 "rom-revision",                                 Buffer (0x06)                                {                                    "3173a"                                }                            }, Local0)                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))                        Return (Local0)                    }                }            }            Device (PEG2)            {                Name (_ADR, 0x00060000)                Method (_STA, 0, NotSerialized)                {                    Return (0x0F)                }                Method (_PRW, 0, NotSerialized)                {                    Return (Package (0x02)                    {                        0x09,                         0x05                    })                }                Device (GFX2) // <-- GeForce 8500GT                {                    Name (_ADR, Zero)                    Name (_SUN, 0x0C)                    Method (_PRW, 0, NotSerialized)                    {                        Return (Package (0x02)                        {                            0x05,                             0x04                        })                    }                    Method (_DSM, 4, NotSerialized)                    {                        Store (Package (0x2E)                            {                                "@0,AAPL,boot-display",                                 Buffer (0x01)                                {                                    ""                                },                                 "@0,can-hot-plug",                                 Buffer (0x01)                                {                                    ""                                },                                 "@0,compatible",                                 Buffer (0x0B)                                {                                    "NVDA,NVMac"                                },                                 "@0,connector-type",                                 Buffer (0x04)                                {                                    0x00, 0x00, 0x00, 0x40                                },                                 "@0,device_type",                                 Buffer (0x08)                                {                                    "display"                                },                                 "@0,display-connect-flags",                                 Buffer (0x04)                                {                                    0x00, 0x00, 0x00, 0x00                                },                                 "@0,name",                                 Buffer (0x0F)                                {                                    "NVDA,Display-A"                                },                                "@1,AAPL,boot-display",                                 Buffer (0x01)                                {                                    ""                                },                                 "@1,can-hot-plug",                                 Buffer (0x01)                                {                                    ""                                },                                 "@1,compatible",                                 Buffer (0x0B)                                {                                    "NVDA,NVMac"                                },                                 "@1,connector-type",                                 Buffer (0x04)                                {                                    0x00, 0x00, 0x00, 0x40                                },                                 "@1,device_type",                                 Buffer (0x08)                                {                                    "display"                                },                                 "@1,display-connect-flags",                                 Buffer (0x04)                                {                                    0x00, 0x00, 0x00, 0x00                                },                                  "@1,name",                                 Buffer (0x0F)                                {                                    "NVDA,Display-B"                                },                                 "NVCAP",                                 Buffer (0x18)                                {                                    /* 0000 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,                                     /* 0008 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,                                     /* 0010 */    0x00, 0x00, 0x00, 0x00                                }, 				                "NVPM", 				                Buffer (0x20) 				                { 				                	/* 0000 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 				                	/* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 				                	/* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 				                	/* 0018 */    0x00, 0x00, 0x00, 0x00 				                },                                 "VRAM,totalsize",                                 Buffer (0x04)                                {                                    0x00, 0x00, 0x00, 0x10                                },                                 "built-in",                                 Buffer (0x01)                                {                                    0x00                                },                                 "device_type",                                Buffer (0x0D)                                {                                    "NVDA,GeForce"                                },                                 "model",                                 Buffer (0x17)                                {                                    "NVIDIA Geforce 8500 GT"                                },                                 "name",                                 Buffer (0x0B)                                {                                    "NVDA,Parent"                                },                                 "rm_multiboard_capable",                                 Buffer (0x04)                                {                                    0x00, 0x00, 0x00, 0x20                                },                                 "rom-revision",                                 Buffer (0x06)                                {                                    "3173a"                                }                            }, Local0)                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))                        Return (Local0)                    }                }            }


#12
ricren

ricren

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 105 posts
Hi kdawg,

Did you manage to boot from PEG1 without problems with this method?
Do you get the additional 30-40 seconds of boot delay that DigitalDJ is experiencing?

thanks for your data on this, I'm running a EP35DS3P and I'm forced to boot from PEG2 for my two cards to be recogniced and I do not like it at all.

Ric

#13
mosslack

mosslack

    InsanelyMac Legend

  • Donators
  • 880 posts
  • Gender:Male
  • Location:Mid-south Central Indiana
I have a GA-EP45-UD3P system with dual 8400GS cards in it. I have it working in 10.5.8 starting up in PEG2, but I would also be interested in the DSDT only solution so it could be booted into 10.6 or 10.5 without having to switch the BIOS each time.

Update: I accidentally got it working by using a hard drive I put together for my P35-DS3L. It is working just using PEG in the BIOS also. I would be most interested if someone who knows what they are doing could take a look at what I used on the hard drive including a copy of the DSDT.dsl file and tell me why this is working. I made a text file with the pertinent info and it is located here:

http://groups.google...roup/hq-a/files

The file name is accident.zip. It's only about 250k, so please take a look at it and let me know what I did! Also how do I now go about patching the DSDT for the sound on my UD3P which has a ALC889a instead of the ALC888 which is in my DS3L. Thanks

#14
tomson

tomson

    InsanelyMac Protégé

  • Members
  • Pip
  • 12 posts
  • Gender:Male
  • Location:Switzerland
Hi,

I got single cards working, no problem. The only thing is that IORegexplorer tells me both cards are on PCI0@0, pci-bridge@1 and pci-bridge@6, I tried your method and get kernel panics.
I'm kinda lost, just don't know where to start trying...I added a gfx0 and a gfx1 entry under the PCI0 entry of my DSDT-file, but no luck.

#15
cmmcnamara

cmmcnamara

    InsanelyMac Protégé

  • Members
  • Pip
  • 35 posts
  • Gender:Male
  • Location:San Bernardino, CA
  • Interests:I enjoy reading about hardware and software developments and tinkering around with computers. I...
Noobishi question here, but on the decompiling and recompiling of the DSDT, the iasl commands are done in linux, or is there an addon for OS X that is iasl? Because my OS X terminal does not recognize iasl, but I recognize it from Linux.

#16
kdawg

kdawg

    InsanelyMac Legend

  • Donators
  • 508 posts
  • Gender:Male
  • Location:Boston, MA

Hi kdawg,

Did you manage to boot from PEG1 without problems with this method?
Do you get the additional 30-40 seconds of boot delay that DigitalDJ is experiencing?

thanks for your data on this, I'm running a EP35DS3P and I'm forced to boot from PEG2 for my two cards to be recogniced and I do not like it at all.

Ric


Sorry for the late response.

Yeah I can boot via PEG1 with no problems or delays. I wanted to try DigitalDJ's method to see if there was any difference between the two techniques.

#17
prestained

prestained

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 2 posts

Noobishi question here, but on the decompiling and recompiling of the DSDT, the iasl commands are done in linux, or is there an addon for OS X that is iasl? Because my OS X terminal does not recognize iasl, but I recognize it from Linux.


You need to run it as a script, so try ./iasl and that should work for you.

#18
WeeJeWel

WeeJeWel

    InsanelyMac Protégé

  • Members
  • Pip
  • 23 posts
This is the method that has brought me as far as I could get. Using EFI strings without patching dsdt all got stuck just before switching to GUI mode upon booting. This method at least switches on, but all black.

I know to fix this by turning on PEG2 in bios but... I have no option for that. I am using a DFI LanParty DK P45-T2RS Plus.

Any suggestions? I really want this third monitor going =)

#19
WeeJeWel

WeeJeWel

    InsanelyMac Protégé

  • Members
  • Pip
  • 23 posts


#20
shajiver

shajiver

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts
Kdawg,

I have tried the method in this thread with EFI strings in order to get my 2 7900gs 256mb video cards to work but only get a black screen at the login window and the card's fan spinning very fast (even booting PEG2). Therefore, I want to try your method with the DSDT. I want to know how you were able to find the correct values to put in your DSDT. Since we share a common motherboard and revision I am hoping to use your code with my values for vram and nvcap. Is there any other variable in your code I need to find out for my cards. I have tried many different techniques (efistrings, nvinject) and all give the same result. Please let me know how you were able to get all this information. I will be eternally grateful. Thanks in advance.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   Web hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy