OS X Lion 10.7.2 with NVIDIA GTX 570
October 25, 2011
Disclaimer: This is essentially an update, so read this original post first if you haven’t and once again, I’m not responsible if you cock up your machine, it comes with the territory. You’ll need to learn how to de-cock your machine sooner or later.
I know, I know, I said I wouldn’t update ever again, but I was having a weird issue with iTunes and the icons in 10.7.2’s Launcher were bigger, I got dazzled. Anyway here are the fixes I needed to make to boot up my hackintosh with my EVGA NVIDIA GTX 570 with full resolution and openGL…
Using my system in the state from the initial guide, I installed the Mac OS X Lion 10.7.2 Update and rebooted. Results were expected, my NVIDIA GTX 465 worked perfectly, but my GTX 570 came up single monitor at 1024×768.
So, we need to make the same modifications we did previously to get things working with a couple little differences…
Password:
# mkdir /Users//Desktop/Backup-GTX570-Mods-10.7.2/
# rsync -av /System/Library/Extensions/NVDAGF100Hal.kext/ /Users//Desktop/Backup-GTX570-Mods-10.7.2/NVDAGF100Hal.kext/
Now let’s add our device IDs..
Add your device ID to the IOPCIPrimaryMatch key list, mine is 1081 but yours may be 1086.
<string>
0x06c010de&0xffe0ffff
0x0dc010de&0xffc0ffff
0x0e2010de&0xffe0ffff
0x0ee010de&0xffe0ffff
0x0f0010de&0xffc0ffff
0x104010de&0xffc0ffff
0x124010de&0xffc0ffff
0x108110de&0xffc0ffff
</string>
Next, install the July 22, 2011 version of ATY_Init.kext from netkas.
The updated version of GeForceBundle needs to be fixed. This time we’re replacing the following hex codes:
eb a8 83 f8 02 7c 15
will be replaced with
eb a8 83 f8 03 7c 15
78 e8 83 f8 02 7c 11
will be replaced with
78 e8 83 f8 03 7c 11
Back things up first…
You can do this fix using this helpful perl command line script.
A step I didn’t do previously is to modify libclh.dylib to allow OpenCL 2.0. It shouldn’t be necessary for GTX 570 cards but for complete hack-ness, I opted to do it anyway…
8b 87 1c 0c 00 00 89 06 8b 87 20 0c 00 00 89 02
will be replaced with
31 c0 ff c0 ff c0 89 06 31 c0 89 02 90 90 90 90
Now we edit the AppleGraphicsPowerManagement.kext to add power management for our card. Once again our system is set to be an iMac 12,2 so that’s where I’ve added the following (in black)…
<key>iMac12,2</key>
<dict>
…
<key>Vendor1002Device6740</key>
<dict>
<key>control-id</key>
<integer>17</integer>
<key>max-power-state</key>
<integer>2</integer>
<dict>
<key>Vendor10deDevice1081</key>
<dict>
<key>Heuristic</key>
<dict>
<key>ID</key>
<integer>0</integer>
<key>IdleInterval</key>
<integer>250</integer>
<key>SensorOption</key>
<integer>1</integer>
<key>SensorSampleRate</key>
<integer>4</integer>
<key>TargetCount</key>
<integer>5</integer>
<key>Threshold_High</key>
<array>
<integer>93</integer>
<integer>93</integer>
<integer>93</integer>
<integer>100</integer>
</array>
<key>Threshold_Low</key>
<array>
<integer>0</integer>
<integer>97</integer>
<integer>97</integer>
<integer>100</integer>
</array>
</dict>
<key>LogControl</key>
<integer>1</integer>
<key>control-id</key>
<integer>18</integer>
</dict>
<key>default-control-id</key>
<integer>18</integer>
</dict>
<key>iMac 9,1</key>
<dict>
<key>IGPU</key>
Now we rebuild the caches..
# kextcache -system-prelinked-kernel
# kextcache -system-caches
And I needed to update my EFI string, I had to remove a section because it wasn’t being recognized or something. Here’s my updated org.chameleon.Boot.plist
<dict>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>-v arch=i386 npci=0x2000</string>
<key>Timeout</key>
<string>2</string>
<key>Legacy Logo</key>
<string>Yes</string>
<key>PCIRootUID</key>
<string>1</string>
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>UseKernelCache</key>
<string>Yes</string>
<key>GraphicsEnabler</key>
<string></string>
<key>Graphics Mode</key>
<string></string>
<key>device-properties</key>
<string>530200000100000001000000470200000c00000002010c00d041030a000000000101060000030101060000007fff04001e00000072006f006d002d007200650076006900730069006f006e0000002e0000004e5649444941204765466f7263652047545820353730204f70656e474c20456e67696e65205b4546495d22000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c6179100000004e00560043004100500000001800000004000000000003000c000000000000070000000014000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d41100000006d006f00640065006c0000001a0000004e5649444941204765466f72636520475458203537300e0000004e00560050004d000000200000000100000000000000000000000000000000000000000000000000000014000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d4220000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d6163220000005600520041004d002c0074006f00740061006c00730069007a0065000000080000000000005020000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616322000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c61791c0000006400650076006900630065005f00740079007000650000000f0000004e5644412c506172656e74</string>
</dict>
</plist>
Once I rebooted with that, all was perfect but then I figured out what I’d screwed up and so I was able to combine my EFI strings using OSX86Tools so I updated my EFI string to have both video cards in it and an ethernet card…
<dict>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>-v arch=i386 npci=0x2000</string>
<key>Timeout</key>
<string>2</string>
<key>Legacy Logo</key>
<string>Yes</string>
<key>PCIRootUID</key>
<string>1</string>
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>UseKernelCache</key>
<string>Yes</string>
<key>GraphicsEnabler</key>
<string></string>
<key>Graphics Mode</key>
<string></string>
<key>device-properties</key>
<string>d804000001000000030000003f0000000100000002010c00d041030a0000000001010600021c0101060000007fff0400160000006200750069006c0074002d0069006e0000000500000001470200000c00000002010c00d041030a000000000101060000030101060000007fff04001e00000072006f006d002d007200650076006900730069006f006e0000002e0000004e5649444941204765466f7263652047545820353730204f70656e474c20456e67696e65205b4546495d22000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c6179100000004e00560043004100500000001800000004000000000003000c000000000000070000000014000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d41100000006d006f00640065006c0000001a0000004e5649444941204765466f72636520475458203537300e0000004e00560050004d000000200000000100000000000000000000000000000000000000000000000000000014000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d4220000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d6163220000005600520041004d002c0074006f00740061006c00730069007a0065000000080000000000005020000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616322000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c61791c0000006400650076006900630065005f00740079007000650000000f0000004e5644412c506172656e74460200000c00000002010c00d041030a000000000101060000070101060000007fff04001e00000072006f006d002d007200650076006900730069006f006e0000002e0000004e5649444941204765466f7263652047545820343635204f70656e474c20456e67696e65205b4546495d22000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c6179100000004e00560043004100500000001800000004000000000003000c000000000000070000000014000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d41100000006d006f00640065006c0000001a0000004e5649444941204765466f72636520475458203436350e0000004e00560050004d000000200000000100000000000000000000000000000000000000000000000000000014000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d4220000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d6163220000005600520041004d002c0074006f00740061006c00730069007a0065000000080000000000004020000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616322000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c61791c0000006400650076006900630065005f00740079007000650000000e0000004e5644412c4368696c64</string>
</dict>
</plist>
Now the system boots happily and actually shows the 1GB of VRAM on the NVIDIA GTX 465.
Check it out…
Big source for material compiled above is this forum post
thanks for the tips.
If you do, do you have any tips??
Thanks again Ian ... :-)
Can You help, please. I treid this on fresh install of 10.7.2. I used kakewalk 4.1.1 on Gigabyte X58A-UD3R v2 MBO with Point of View GTX570 GPU for install and then got 1024x768 resolution. After trying your modifications I got black screen (no video input) after reboot.
Leave a Reply