Jump to content

Multiple Video Cards WORKING in 10.6 with EFI Strings/DSDT


DigitalDJ
 Share

60 posts in this topic

Recommended Posts

Well that works, but like you said, it defaults back after a restart. It also changes the resolution of the monitors hooked up to the 7600GS to some wacky ones that look horrible.

 

Does anyone know of a way to just perminently make my resolutions at 1280 x 1024? And also perminently make it so it always puts the dock on my monitor hooked up to my 7900GTX?

 

Sorry it did´nt work 100%. Till you get a permanent solution you can just change the resolution on your 7600gs everytime you boot up, you should be able to do that there too.

 

Sorry can´t help you more I´m using NVinject.kext for my two 7300 gs cards. I´m starting to think I should take a look at this method though since I´m in to web tv casting these days (to see if this method might boost the performance of these two old cards). These are good silent cards and work fine when I just make music so I don´t want to replace them if I don´t have to. My NVinject.kext works really good though, if you want to try it just look for my threads about two cards in the hardware and drivers/graphics cards. I have it uploaded there. Not sure if it can handle the 7900gtx though, only one way to find out I´m afraid.

Link to comment
Share on other sites

  • 5 months later...

hi!

 

is it possible to use 2 videocard with my mainboard? Asus p5n32e-sli plus ? (based on 650/680i nvidia chipset)?

 

i have a 8800gt 512 MSI card, and a 8400gs 512 card. can't get it working ;)

 

i have snow leopard 10.6.4 didn't work with efi string and dsdt. can't boot with second peg2 :P

 

what now?

Link to comment
Share on other sites

  • 3 weeks later...

Just like to add that I got my hackintosh to work with two video cards Nvidia 9800GT and Nvidia 9500GT.

 

I used the non EFI string method as outlined by kdawg.

 

In any case, my video cards are as follows:

XFX GeForce 9800GT 512MB with DVI/HDMI in slot 1 (NVCAP: 0400000000000100060000000000000a00000000)

ECS GeForce 9500GT 1024MB with DVI/HDMI in slot 2 (NVCAP: 0400000000000300040000000000000a00000000)

 

My system is Gigabyte EP45-UD3P with C2D Q9550 and 4GB RAM. It is running SL10.6.4 latest as of today with Kakewalk.

 

No changes other than the instructions by kdawg.

 

Works right off.

 

Just that the primary display started off with the slot-2 monitor instead but a simple drag and drop of the bars in System Pref > Display did the trick.

 

Now I have two displays working just fine on both video cards!! Havent tested the HDMI though.

 

Thanks for the excellent hints and tips guys!! especially to kdawg. :D

Link to comment
Share on other sites

  • 3 weeks later...
I downloaded the SL 32 and 64 bit NVinject.kext and just copied and paste the lines under NVCAP from my existing Leo NVinject.kext to look like this: (rightklick/show package content/Contents/Info.plist (open with textedit))

 

<data>

BAAAAAAAAQAGAAAAAAAAAAAAAAA=

</data>

<key>NVPM</key>

<data>

AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==

</data>

 

 

Gives me QE and everything working ok with my two noname Pcie 512mb 7300GS videocards.

 

My com.apple.boot.plist in extra looks like this (found it in a thread here, forgot which one sorry) :

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>Kernel</key>

<string>mach_kernel</string>

 

<key>Kernel Flags</key>

<string>-v arch=x86 GraphicsEnabler=no</string>

<string>134C9A39-49EC-3EE5-85FD-2849F9E5734B</string>

<key>Timeout</key>

<string>1</string>

</dict>

</plist>

 

I have a Gigabyte 7300GS 256meg card that I'm having a hard time getting properly configured. Would you be willing to assist in compiling my DSDT properly? I have a DSDT for my motherboard but I never patched it for my graphics card and not really sure how to go about doing it.

Link to comment
Share on other sites

I have a Gigabyte 7300GS 256meg card that I'm having a hard time getting properly configured. Would you be willing to assist in compiling my DSDT properly? I have a DSDT for my motherboard but I never patched it for my graphics card and not really sure how to go about doing it.

 

Try the NVinject.kext I have uploaded to this thread it´s what I use

 

http://www.insanelymac.com/forum/index.php...7&hl=7300gs

Link to comment
Share on other sites

  • 2 weeks later...
Try the NVinject.kext I have uploaded to this thread it´s what I use

 

http://www.insanelymac.com/forum/index.php...7&hl=7300gs

 

Somehow I managed to get it working. I think it was a combination of DSDT and adding the device ID into my boot.plist. Graphics works but now I have audio problems after upgrading to 10.6.5. I have that posted in another thread.

 

Thanks anyway.

Link to comment
Share on other sites

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)
                   }
               }
           }

 

This is awesome! Would you by any chance be able to edit my dsdt to work with my two video cards? I've attached the two efi injection strings for them running separately in their pcie ports as well as my dsdt. Thanks in advance for your help.

GFX.zip

Edited by joshs85
Link to comment
Share on other sites

  • 3 months later...

9800GT + GT240 everything works perfectly:

 

DSDT only

			Device (PEG1)
		{
			Name (_ADR, 0x00010000)
			Device (GFX0)
			{
				Name (_ADR, Zero)
				Name (_SUN, One)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x1A)
						{
							"@0,compatible", 
							Buffer (0x0B)
							{
								"NVDA,NVMac"
							}, 

							"@0,device_type", 
							Buffer (0x08)
							{
								"display"
							}, 

							"@0,display_cfg", 
							Buffer (0x08)
							{
								0x03, 0x01, 0x00, 0x00
							}, 

							"@0,name", 
							Buffer (0x0F)
							{
								"NVDA,Display-A"
							}, 

							"@1,compatible", 
							Buffer (0x0B)
							{
								"NVDA,NVMac"
							}, 

							"@1,device_type", 
							Buffer (0x08)
							{
								"display"
							}, 

							"@1,display_cfg", 
							Buffer (0x08)
							{
								0xFF, 0xFF, 0x00, 0x01
							}, 

							"@1,name", 
							Buffer (0x0F)
							{
								"NVDA,Display-B"
							}, 

							"NVCAP", 
							Buffer (0x14)
							{
								/* 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 9800 GT"
							}, 

							"rom-revision", 
							Buffer (0x25)
							{
								"nVidia GeForce 9800 GT OpenGL Engine"
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
			}
		}

		Device (PEG2)
		{
			Name (_ADR, 0x00060000)
			Device (GFX1)
			{
				Name (_ADR, Zero)
				Name (_SUN, One)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x18)
						{
							"@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, 0x0A, 
								/* 0010 */	0x00, 0x00, 0x00, 0x00
							}, 

							"VRAM,totalsize", 
							Buffer (0x04)
							{
								0x00, 0x00, 0x00, 0x40
							}, 

							"device_type", 
							Buffer (0x0D)
							{
								"NVDA,GeForce"
							}, 

							"model", 
							Buffer (0x16)
							{
								"nVidia GeForce GT 240"
							}, 

							"rom-revision", 
							Buffer (0x0B)
							{
								"nVidia 240"
							}, 

							"hda-gfx", 
							Buffer (0x0A)
							{
								"onboard-1"
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
			}
		}

Link to comment
Share on other sites

  • 3 months later...

Hello,

 

i used this technique on my Gigabyte Board and also used PEG2.

So now I have a new machine HP Z400 and this machine has no PEG2.

But if 2 Cards in the PC I can use the 1st or 2nd slot as the primary.

So I switched to 2nd slot primary.

 

I used the tutorial here and from aquamac (same way as the Gigabyte machine).

So everything works fine I do the stuff boot the machine with both cards in it and 3 monitors with 2 cards works well.

 

BUT I have NO QE/CI enabled on the HP machine. On the Gigabyte machine I have also 3 monitors + 2 cards with QE/CI.

So maybe someone can help me with my problem. Do I maybe need any settings in the BIOS => Power Management to geht QE/CI working??

 

Here are some photos I made this days.

post-59986-1308231420_thumb.jpg

post-59986-1308231437_thumb.jpg

post-59986-1308231447_thumb.jpg

post-59986-1308231453_thumb.jpg

post-59986-1308231460_thumb.jpg

 

Thanks a lot!

 

Greetings

Unisex

Link to comment
Share on other sites

 Share

×
×
  • Create New...