Jump to content
9 posts in this topic

Recommended Posts

I got the EFI string for my first graphics card in PCIe slot 1, and a EFIstring for my second graphics card in PCIe slot 2... if I put just one in, and boot with that video card only in, it works fine.

 

But if I have a both plugged in, then I get black screens when I boot. How I can I merge these two together?

Link to comment
https://www.insanelymac.com/forum/topic/154127-how-do-i-merge-two-efi-strings/
Share on other sites

See my post in this thread. You must turn the hex strings back into plists, merge the plists, then turn back into hex.

 

How do I I turn them back into plists? I tried copying the long hex stream into a new file with textedit, and saving it as a hex file, but when I used gfxutil to change from hex to plist, it told me it was an invalid hex file.

Here's the two strings:

 

f20300000100000001000000e60300001500000002010c00d041030a010000000101060000010101

60000007fff040014000000400032002c006e0061006d00650000001100000073656e736f722d706

72656e74220000005600520041004d002c0074006f00740061006c00730069007a00650000000800

0000000002036000000400032002c00680077006300740072006c002d0070006100720061006d007

002d00760065007200730069006f006e00000008000000000000021c000000640065007600690063

065005f0074007900700065000000100000004e5644412c4765466f7263650e0000006e0061006d0

650000000f0000004e5644412c506172656e7422000000400030002c006400650076006900630065

05f00740079007000650000000b000000646973706c6179100000006d006f00640065006c0000001

0000004e7669646961204765466f726365203838303020475422000000400031002c006400650076

06900630065005f00740079007000650000000b000000646973706c617912000000400032002c007

00650067000000080000000000000222000000400032002c006400650076006900630065005f0074

07900700065000000120000004e5644412c6770752d64696f646520000000400032002c0063006f0

6d00700061007400690062006c0065000000160000004e5644412c73656e736f722d706172656e74

2000000400032002c002300730069007a0065002d00630065006c006c00730000000800000000000

0020000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644

12c4e564d616314000000400030002c006e0061006d0065000000120000004e5644412c446973706

61792d413a000000400032002c0068007700730065006e0073006f0072002d007000610072006100

d0073002d00760065007200730069006f006e000000080000000000000226000000400032002c002

006100640072006500730073002d00630065006c006c007300000008000000000000011400000040

031002c006e0061006d0065000000120000004e5644412c446973706c61792d42200000004000300

2c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d61631e00

00072006f006d002d007200650076006900730069006f006e0000002e0000004e766964696120476

466f7263652038383030204754204f70656e474c20456e67696e65205b4546495d100000004e0056

043004100500000001800000004000000000003000c00000000000007000000000e0000004e00560

50004d0000002000000001000000000000000000000000000000000000000000000000000000

 

6c0200000100000001000000600200000d00000002010c00d041030a0100000001010600001c0101

60000007fff04000e0000004e00560050004d0000002000000001000000000000000000000000000

00000000000000000000000000220000005600520041004d002c0074006f00740061006c00730069

07a006500000008000000000000201c0000006400650076006900630065005f00740079007000650

00000f0000004e5644412c506172656e740e0000006e0061006d00650000000b000000646973706c

17922000000400030002c006400650076006900630065005f00740079007000650000000b0000006

6973706c617922000000400031002c006400650076006900630065005f0074007900700065000000

b000000646973706c6179100000006d006f00640065006c0000001a0000006e56696469612047654

6f726365203835303020475420000000400031002c0063006f006d00700061007400690062006c00

50000000e0000004e5644412c4e564d616314000000400030002c006e0061006d006500000012000

004e5644412c446973706c61792d4114000000400031002c006e0061006d0065000000120000004e

644412c446973706c61792d4220000000400030002c0063006f006d00700061007400690062006c0

650000000e0000004e5644412c4e564d6163100000004e0056004300410050000000180000000400

000000003000c00000000000007000000001e00000072006f006d002d00720065007600690073006

006f006e0000002e0000006e5669646961204765466f7263652038353030204754204f70656e474c

0456e67696e65205b4546495d

 

How do I turn them back into plists so I can merge them?

Those hex strings must have started out as plists originally. How did you generate them?

 

gfxutil -i xml -o hex carda.plist carda.hex

 

Or something like that; I forget exactly. But I dumbly deleted the carda and cardb plist files, and can't get them back from the hex codes.

Okay, turns out it was because textedit was adding .rtf to the end of my hex file... did it with nano and it worked.

 

But I still get a kernal panic if both cards are plugged in... but if I do either one of the cards with the right EFIstring it works...

 

Here's the plist for the first card:

 

<?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)</key>
<dict>
	<key>@0,compatible</key>
	<data>
	TlZEQSxOVk1hYw==
	</data>
	<key>@0,device_type</key>
	<data>
	ZGlzcGxheQ==
	</data>
	<key>@0,name</key>
	<data>
	TlZEQSxEaXNwbGF5LUE=
	</data>
	<key>@1,compatible</key>
	<data>
	TlZEQSxOVk1hYw==
	</data>
	<key>@1,device_type</key>
	<data>
	ZGlzcGxheQ==
	</data>
	<key>@1,name</key>
	<data>
	TlZEQSxEaXNwbGF5LUI=
	</data>
	<key>@2,#adress-cells</key>
	<data>
	AAAAAQ==
	</data>
	<key>@2,#size-cells</key>
	<data>
	AAAAAA==
	</data>
	<key>@2,compatible</key>
	<data>
	TlZEQSxzZW5zb3ItcGFyZW50
	</data>
	<key>@2,device_type</key>
	<data>
	TlZEQSxncHUtZGlvZGU=
	</data>
	<key>@2,hwctrl-params-version</key>
	<data>
	AAAAAg==
	</data>
	<key>@2,hwsensor-params-version</key>
	<data>
	AAAAAg==
	</data>
	<key>@2,name</key>
	<data>
	c2Vuc29yLXBhcmVudA==
	</data>
	<key>@2,reg</key>
	<data>
	AAAAAg==
	</data>
	<key>NVCAP</key>
	<data>
	BAAAAAAAAwAMAAAAAAAABwAAAAA=
	</data>
	<key>NVPM</key>
	<data>
	AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
	</data>
	<key>VRAM,totalsize</key>
	<data>
	AAAAIA==
	</data>
	<key>device_type</key>
	<data>
	TlZEQSxHZUZvcmNl
	</data>
	<key>model</key>
	<data>
	TnZpZGlhIEdlRm9yY2UgODgwMCBHVA==
	</data>
	<key>name</key>
	<data>
	TlZEQSxQYXJlbnQ=
	</data>
	<key>rom-revision</key>
	<data>
	TnZpZGlhIEdlRm9yY2UgODgwMCBHVCBPcGVuR0wgRW5naW5lIFtFRkld
	</data>
</dict>
</dict>
</plist>

 

Here's the second video card:

<?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(0x1c,0x0)/Pci(0x0,0x0)</key>
<dict>
	<key>@0,compatible</key>
	<data>
	TlZEQSxOVk1hYw==
	</data>
	<key>@0,device_type</key>
	<data>
	ZGlzcGxheQ==
	</data>
	<key>@0,name</key>
	<data>
	TlZEQSxEaXNwbGF5LUE=
	</data>
	<key>@1,compatible</key>
	<data>
	TlZEQSxOVk1hYw==
	</data>
	<key>@1,device_type</key>
	<data>
	ZGlzcGxheQ==
	</data>
	<key>@1,name</key>
	<data>
	TlZEQSxEaXNwbGF5LUI=
	</data>
	<key>NVCAP</key>
	<data>
	BAAAAAAAAwAMAAAAAAAABwAAAAA=
	</data>
	<key>NVPM</key>
	<data>
	AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
	</data>
	<key>VRAM,totalsize</key>
	<data>
	AAAAIA==
	</data>
	<key>device_type</key>
	<data>
	TlZEQSxQYXJlbnQ=
	</data>
	<key>model</key>
	<data>
	blZpZGlhIEdlRm9yY2UgODUwMCBHVA==
	</data>
	<key>name</key>
	<data>
	ZGlzcGxheQ==
	</data>
	<key>rom-revision</key>
	<data>
	blZpZGlhIEdlRm9yY2UgODUwMCBHVCBPcGVuR0wgRW5naW5lIFtFRkld
	</data>
</dict>
</dict>
</plist>

 

And here's my merged 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(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)</key>
<dict>
	<key>@0,compatible</key>
	<data>
	TlZEQSxOVk1hYw==
	</data>
	<key>@0,device_type</key>
	<data>
	ZGlzcGxheQ==
	</data>
	<key>@0,name</key>
	<data>
	TlZEQSxEaXNwbGF5LUE=
	</data>
	<key>@1,compatible</key>
	<data>
	TlZEQSxOVk1hYw==
	</data>
	<key>@1,device_type</key>
	<data>
	ZGlzcGxheQ==
	</data>
	<key>@1,name</key>
	<data>
	TlZEQSxEaXNwbGF5LUI=
	</data>
	<key>@2,#adress-cells</key>
	<data>
	AAAAAQ==
	</data>
	<key>@2,#size-cells</key>
	<data>
	AAAAAA==
	</data>
	<key>@2,compatible</key>
	<data>
	TlZEQSxzZW5zb3ItcGFyZW50
	</data>
	<key>@2,device_type</key>
	<data>
	TlZEQSxncHUtZGlvZGU=
	</data>
	<key>@2,hwctrl-params-version</key>
	<data>
	AAAAAg==
	</data>
	<key>@2,hwsensor-params-version</key>
	<data>
	AAAAAg==
	</data>
	<key>@2,name</key>
	<data>
	c2Vuc29yLXBhcmVudA==
	</data>
	<key>@2,reg</key>
	<data>
	AAAAAg==
	</data>
	<key>NVCAP</key>
	<data>
	BAAAAAAAAwAMAAAAAAAABwAAAAA=
	</data>
	<key>NVPM</key>
	<data>
	AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
	</data>
	<key>VRAM,totalsize</key>
	<data>
	AAAAIA==
	</data>
	<key>device_type</key>
	<data>
	TlZEQSxHZUZvcmNl
	</data>
	<key>model</key>
	<data>
	TnZpZGlhIEdlRm9yY2UgODgwMCBHVA==
	</data>
	<key>name</key>
	<data>
	TlZEQSxQYXJlbnQ=
	</data>
	<key>rom-revision</key>
	<data>
	TnZpZGlhIEdlRm9yY2UgODgwMCBHVCBPcGVuR0wgRW5naW5lIFtFRkld
	</data>
</dict>
<key>PciRoot(0x1)/Pci(0x1c,0x0)/Pci(0x0,0x0)</key>
<dict>
	<key>@0,compatible</key>
	<data>
	TlZEQSxOVk1hYw==
	</data>
	<key>@0,device_type</key>
	<data>
	ZGlzcGxheQ==
	</data>
	<key>@0,name</key>
	<data>
	TlZEQSxEaXNwbGF5LUE=
	</data>
	<key>@1,compatible</key>
	<data>
	TlZEQSxOVk1hYw==
	</data>
	<key>@1,device_type</key>
	<data>
	ZGlzcGxheQ==
	</data>
	<key>@1,name</key>
	<data>
	TlZEQSxEaXNwbGF5LUI=
	</data>
	<key>NVCAP</key>
	<data>
	BAAAAAAAAwAMAAAAAAAABwAAAAA=
	</data>
	<key>NVPM</key>
	<data>
	AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
	</data>
	<key>VRAM,totalsize</key>
	<data>
	AAAAIA==
	</data>
	<key>device_type</key>
	<data>
	TlZEQSxQYXJlbnQ=
	</data>
	<key>model</key>
	<data>
	blZpZGlhIEdlRm9yY2UgODUwMCBHVA==
	</data>
	<key>name</key>
	<data>
	ZGlzcGxheQ==
	</data>
	<key>rom-revision</key>
	<data>
	blZpZGlhIEdlRm9yY2UgODUwMCBHVCBPcGVuR0wgRW5naW5lIFtFRkld
	</data>
</dict>
</dict>
</plist>

 

I converted that merged plist into hex codes, put in my boot plist, but boom! kernal panic!

 

Did I merge them right?

you could try looking at an sli efi string and try to adapt it even though there not sli, Ive done it before but not in quite a bit but osx is never very happy with it it more worth just installing one or installing one efi one by kext in the /extra folder but it's not happy with it.

×
×
  • Create New...