Post by aquamac on Apr 23, 2008 19:52:25 GMT
Been working on this for a while and I finally got it to work. Dual 9800 GTX 512 Graphics cards working in a hackintosh. I did it using GFX strings that I made for 2 cards. I could not get it to work with NVInject. Actually in the end, it was not that difficult when I thought about it logically. I wrote 2 input files individually for the two cards and their positions in the motherboard, then amalgamated the two input files together, then ran GFX strings.
Here she blows:
This is what I did:
<?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,compatible</key>
<string>NVDA,NVMac</string>
<key>@0,device_type</key>
<string>display</string>
<key>@0,name</key>
<string>NVDA,Display-A</string>
<key>@1,compatible</key>
<string>NVDA,NVMac</string>
<key>@1,device_type</key>
<string>display</string>
<key>@1,name</key>
<string>NVDA,Display-B</string>
<key>@2,#adress-cells</key>
<string>0x01000000</string>
<key>@2,#size-cells</key>
<string>0x00000000</string>
<key>@2,compatible</key>
<string>NVDA,sensor-parent</string>
<key>@2,device_type</key>
<string>NVDA,gpu-diode</string>
<key>@2,hwctrl-params-version</key>
<string>0x02000000</string>
<key>@2,hwsensor-params-version</key>
<string>0x02000000</string>
<key>@2,name</key>
<string>sensor-parent</string>
<key>@2,reg</key>
<string>0x02000000</string>
<key>NVCAP</key>
<data>
BAAAAAAAAwAMAAAAAAAABwAAAAA=
</data>
<key>NVPM</key>
<data>
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
</data>
<key>VRAM,totalsize</key>
<data>
AAAAIA==
</data>
<key>device_type</key>
<string>NVDA,GeForce</string>
<key>model</key>
<string>NVIDIA GeForce 9800 GTX DDL</string>
<key>name</key>
<string>NVDA,Parent</string>
<key>rom-revision</key>
<string>3172a</string>
</dict>
<key>PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)</key>
<dict>
<key>@0,compatible</key>
<string>NVDA,NVMac</string>
<key>@0,device_type</key>
<string>display</string>
<key>@0,name</key>
<string>NVDA,Display-A</string>
<key>@1,compatible</key>
<string>NVDA,NVMac</string>
<key>@1,device_type</key>
<string>display</string>
<key>@1,name</key>
<string>NVDA,Display-B</string>
<key>@2,#adress-cells</key>
<string>0x01000000</string>
<key>@2,#size-cells</key>
<string>0x00000000</string>
<key>@2,compatible</key>
<string>NVDA,sensor-parent</string>
<key>@2,device_type</key>
<string>NVDA,gpu-diode</string>
<key>@2,hwctrl-params-version</key>
<string>0x02000000</string>
<key>@2,hwsensor-params-version</key>
<string>0x02000000</string>
<key>@2,name</key>
<string>sensor-parent</string>
<key>@2,reg</key>
<string>0x02000000</string>
<key>NVCAP</key>
<data>
BAAAAAAAAwAMAAAAAAAABwAAAAA=
</data>
<key>NVPM</key>
<data>
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
</data>
<key>VRAM,totalsize</key>
<data>
AAAAIA==
</data>
<key>device_type</key>
<string>NVDA,GeForce</string>
<key>model</key>
<string>NVIDIA GeForce 9800 GTX DDL</string>
<key>name</key>
<string>NVDA,Parent</string>
<key>rom-revision</key>
<string>3172a</string>
</dict>
</dict>
</plist>
and here is the output file:
980700000100000002000000c60300001500000002010c00d041030a000000000101060000010101060000007fff040014000000400032002c006e0061006d00650000001100000073656e736f722d706172656e74220000005600520041004d002c0074006f00740061006c00730069007a0065000000080000000000002036000000400032002c00680077006300740072006c002d0070006100720061006d0073002d00760065007200730069006f006e00000008000000000000021c0000006400650076006900630065005f0074007900700065000000100000004e5644412c4765466f7263650e0000006e0061006d00650000000f0000004e5644412c506172656e7422000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c6179100000006d006f00640065006c0000001f0000004e5649444941204765466f7263652039383030204754582044444c22000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c617912000000400032002c007200650067000000080000000000000222000000400032002c006400650076006900630065005f0074007900700065000000120000004e5644412c6770752d64696f646520000000400032002c0063006f006d00700061007400690062006c0065000000160000004e5644412c73656e736f722d706172656e7422000000400032002c002300730069007a0065002d00630065006c006c0073000000080000000000000020000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616314000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d413a000000400032002c0068007700730065006e0073006f0072002d0070006100720061006d0073002d00760065007200730069006f006e000000080000000000000226000000400032002c0023006100640072006500730073002d00630065006c006c0073000000080000000000000114000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d4220000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d61631e00000072006f006d002d007200650076006900730069006f006e000000090000003331373261100000004e00560043004100500000001800000004000000000003000c00000000000007000000000e0000004e00560050004d0000002000000001000000000000000000000000000000000000000000000000000000c60300001500000002010c00d041030a0000000001010600001c0101060000007fff040014000000400032002c006e0061006d00650000001100000073656e736f722d706172656e74220000005600520041004d002c0074006f00740061006c00730069007a0065000000080000000000002036000000400032002c00680077006300740072006c002d0070006100720061006d0073002d00760065007200730069006f006e00000008000000000000021c0000006400650076006900630065005f0074007900700065000000100000004e5644412c4765466f7263650e0000006e0061006d00650000000f0000004e5644412c506172656e7422000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c6179100000006d006f00640065006c0000001f0000004e5649444941204765466f7263652039383030204754582044444c22000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c617912000000400032002c007200650067000000080000000000000222000000400032002c006400650076006900630065005f0074007900700065000000120000004e5644412c6770752d64696f646520000000400032002c0063006f006d00700061007400690062006c0065000000160000004e5644412c73656e736f722d706172656e7422000000400032002c002300730069007a0065002d00630065006c006c0073000000080000000000000020000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616314000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d413a000000400032002c0068007700730065006e0073006f0072002d0070006100720061006d0073002d00760065007200730069006f006e000000080000000000000226000000400032002c0023006100640072006500730073002d00630065006c006c0073000000080000000000000114000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d4220000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d61631e00000072006f006d002d007200650076006900730069006f006e000000090000003331373261100000004e00560043004100500000001800000004000000000003000c00000000000007000000000e0000004e00560050004d0000002000000001000000000000000000000000000000000000000000000000000000
So 4 monitors anyone? It works fine with with an SLi bridge fitted too, so for all those who want to maintain their windows setup, without the tedious need to swap hardware every time they boot OSX, they can.
Here she blows:
This is what I did:
<?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,compatible</key>
<string>NVDA,NVMac</string>
<key>@0,device_type</key>
<string>display</string>
<key>@0,name</key>
<string>NVDA,Display-A</string>
<key>@1,compatible</key>
<string>NVDA,NVMac</string>
<key>@1,device_type</key>
<string>display</string>
<key>@1,name</key>
<string>NVDA,Display-B</string>
<key>@2,#adress-cells</key>
<string>0x01000000</string>
<key>@2,#size-cells</key>
<string>0x00000000</string>
<key>@2,compatible</key>
<string>NVDA,sensor-parent</string>
<key>@2,device_type</key>
<string>NVDA,gpu-diode</string>
<key>@2,hwctrl-params-version</key>
<string>0x02000000</string>
<key>@2,hwsensor-params-version</key>
<string>0x02000000</string>
<key>@2,name</key>
<string>sensor-parent</string>
<key>@2,reg</key>
<string>0x02000000</string>
<key>NVCAP</key>
<data>
BAAAAAAAAwAMAAAAAAAABwAAAAA=
</data>
<key>NVPM</key>
<data>
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
</data>
<key>VRAM,totalsize</key>
<data>
AAAAIA==
</data>
<key>device_type</key>
<string>NVDA,GeForce</string>
<key>model</key>
<string>NVIDIA GeForce 9800 GTX DDL</string>
<key>name</key>
<string>NVDA,Parent</string>
<key>rom-revision</key>
<string>3172a</string>
</dict>
<key>PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)</key>
<dict>
<key>@0,compatible</key>
<string>NVDA,NVMac</string>
<key>@0,device_type</key>
<string>display</string>
<key>@0,name</key>
<string>NVDA,Display-A</string>
<key>@1,compatible</key>
<string>NVDA,NVMac</string>
<key>@1,device_type</key>
<string>display</string>
<key>@1,name</key>
<string>NVDA,Display-B</string>
<key>@2,#adress-cells</key>
<string>0x01000000</string>
<key>@2,#size-cells</key>
<string>0x00000000</string>
<key>@2,compatible</key>
<string>NVDA,sensor-parent</string>
<key>@2,device_type</key>
<string>NVDA,gpu-diode</string>
<key>@2,hwctrl-params-version</key>
<string>0x02000000</string>
<key>@2,hwsensor-params-version</key>
<string>0x02000000</string>
<key>@2,name</key>
<string>sensor-parent</string>
<key>@2,reg</key>
<string>0x02000000</string>
<key>NVCAP</key>
<data>
BAAAAAAAAwAMAAAAAAAABwAAAAA=
</data>
<key>NVPM</key>
<data>
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
</data>
<key>VRAM,totalsize</key>
<data>
AAAAIA==
</data>
<key>device_type</key>
<string>NVDA,GeForce</string>
<key>model</key>
<string>NVIDIA GeForce 9800 GTX DDL</string>
<key>name</key>
<string>NVDA,Parent</string>
<key>rom-revision</key>
<string>3172a</string>
</dict>
</dict>
</plist>
and here is the output file:
980700000100000002000000c60300001500000002010c00d041030a000000000101060000010101060000007fff040014000000400032002c006e0061006d00650000001100000073656e736f722d706172656e74220000005600520041004d002c0074006f00740061006c00730069007a0065000000080000000000002036000000400032002c00680077006300740072006c002d0070006100720061006d0073002d00760065007200730069006f006e00000008000000000000021c0000006400650076006900630065005f0074007900700065000000100000004e5644412c4765466f7263650e0000006e0061006d00650000000f0000004e5644412c506172656e7422000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c6179100000006d006f00640065006c0000001f0000004e5649444941204765466f7263652039383030204754582044444c22000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c617912000000400032002c007200650067000000080000000000000222000000400032002c006400650076006900630065005f0074007900700065000000120000004e5644412c6770752d64696f646520000000400032002c0063006f006d00700061007400690062006c0065000000160000004e5644412c73656e736f722d706172656e7422000000400032002c002300730069007a0065002d00630065006c006c0073000000080000000000000020000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616314000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d413a000000400032002c0068007700730065006e0073006f0072002d0070006100720061006d0073002d00760065007200730069006f006e000000080000000000000226000000400032002c0023006100640072006500730073002d00630065006c006c0073000000080000000000000114000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d4220000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d61631e00000072006f006d002d007200650076006900730069006f006e000000090000003331373261100000004e00560043004100500000001800000004000000000003000c00000000000007000000000e0000004e00560050004d0000002000000001000000000000000000000000000000000000000000000000000000c60300001500000002010c00d041030a0000000001010600001c0101060000007fff040014000000400032002c006e0061006d00650000001100000073656e736f722d706172656e74220000005600520041004d002c0074006f00740061006c00730069007a0065000000080000000000002036000000400032002c00680077006300740072006c002d0070006100720061006d0073002d00760065007200730069006f006e00000008000000000000021c0000006400650076006900630065005f0074007900700065000000100000004e5644412c4765466f7263650e0000006e0061006d00650000000f0000004e5644412c506172656e7422000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c6179100000006d006f00640065006c0000001f0000004e5649444941204765466f7263652039383030204754582044444c22000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c617912000000400032002c007200650067000000080000000000000222000000400032002c006400650076006900630065005f0074007900700065000000120000004e5644412c6770752d64696f646520000000400032002c0063006f006d00700061007400690062006c0065000000160000004e5644412c73656e736f722d706172656e7422000000400032002c002300730069007a0065002d00630065006c006c0073000000080000000000000020000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616314000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d413a000000400032002c0068007700730065006e0073006f0072002d0070006100720061006d0073002d00760065007200730069006f006e000000080000000000000226000000400032002c0023006100640072006500730073002d00630065006c006c0073000000080000000000000114000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d4220000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d61631e00000072006f006d002d007200650076006900730069006f006e000000090000003331373261100000004e00560043004100500000001800000004000000000003000c00000000000007000000000e0000004e00560050004d0000002000000001000000000000000000000000000000000000000000000000000000
So 4 monitors anyone? It works fine with with an SLi bridge fitted too, so for all those who want to maintain their windows setup, without the tedious need to swap hardware every time they boot OSX, they can.