Despite the fact that this was supposed to be one of the easier ones to set up (according to tonyosxmac86) this was a fucking bitch.
I may be having all these difficulties beacuse I'm using a rev 1.1 of the board, but it's hard to tell.
Anyway, everything is finally working now.
Basic setup:
- Set up the bios (follow this guide). There's a similar guide somewhere on tonymacx86, but they say pretty much the same thing.
- Follow the standard installation guide from tonymacx86.
- I had trouble booting into the installer unless I used the -x option
- For the multibeast portion I mostly followed this (one of the better written of the many infuriating build guides using the exact same hardware but that ran into absolutely no problems).
- In addition, when running MultiBeast I used Easybeast not the UserDSDT. Don't know if this made any difference.
- I also enabled some of the boot options in the bottom, notably set PciRoot. And set smbios.plist to Macbook Pro 8,1. Again, don't know if these made any difference, I tried a whole bunch of combinations until one finally worked
Two big caveats
Something's wrong with the Atheros ethernet driver, it constantly thinks the cable is not connected and so never actually does anything.
The way to fix it:
- Unplug the cable
- go to system prefs->Network->Advanced on the mac
- go to hardware and set 'configure' to 'Manually'
- set Speed to '100baseTX' (unless your on a gigabit network, then you can try 1000BaseT) and duplex to 'Full Duplex', leave MTU at 'Standard (1500)
- Ok out and plug your Ethernet cable back in. all should be well now.
The video runs at low res, looks crappy and has no acceleration (even 2d, so you can't even watch youtube videos). Fixing it was incredibly tough.
Long story short, you need to get the video ram to match up. The simple version is, go in your bios, set videoram to 32MB and then add this to your /Extra/org.chameleon.Boot.plist:
<key>device-properties</key>
<string>8800000001000000010000007c0000000200000002010c00d041030a000000000101060000027fff0400100000006d006f00640065006c0000001a000000496e74656c20484420477261706869637320343030302c0000004100410050004c002c00690067002d0070006c006100740066006f0072006d002d006900640000000800000005006201</string>
If you want to change the amount of video memory you're using then you have to do what this helpful forum poster suggests:
-
use the table on this blog post to figure out how much ram you want to use.
-
Download gfxutil
-
Use gfxutil to find out the PCI address of your video card (lifted from commenter dta on this forum post):
./gfxutil -f display or maybe ./gfxutil -f GFX0 (if you also have dedicated graphics installed) or maybe ./gfxutil -f IGPU (if you also have dedicated graphics installed)
-
Save the output gfxutil gives you (should be something like
PciRoot(0x0)/Pci(0x2,0x0)
-
Create a file called gfxutil.plist and paste in the following:
<?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(0x2,0x0)</key> <dict> <key>AAPL,ig-platform-id</key> <string>0x01620005</string> <key>model</key> <string>Intel HD Graphics 4000</string> </dict> </dict> </plist>
-
Change the
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
line to match the address you got from gfxutil -
Change the
<string>0x01620005</string>
line to match the amount of video ram you have/your port combination that you got from the blog post -
Save the file as
gfxutil.plist
-
Run gfxutil on it to convert it to hex via the following command:
./gfxutil -i xml -o hex ./gfxutil.plist ./string.hex
-
Open up
/Extra/org.chameleon.Boot.plist
, go near the bottom and add:<key>device-properties</key> <string></string>
-
Paste the contents of string.hex that you saved with the
gfxutil
command between the<string></string>
, so that it looks like<string>8800000001000000010000007c0000000200000002010c00d041030a000000000101060000027fff0400100000006d006f00640065006c0000001a000000496e74656c20484420477261706869637320343030302c0000004100410050004c002c00690067002d0070006c006100740066006f0072006d002d006900640000000800000005006201</string>
-
Restart and that should do it!
Don't know if this is relevant at all, but I ended up using the smbios.plist (settable via MultiBeast)