Jump to content

[HOWTO] Yosemite on AMD A88X platform (ASUS A88XM-Plus) with A10 7870K and R9 380X


1 post in this topic

Recommended Posts

Hi all,

 

This howto applies to the A10 7870K on the ASUS A88XM-Plus motherboard. I think I should be equally valid on other A88XM motherboards (such as the Asrock FM2A88X) with other AMD FM2+ APU/CPUs like the 7850K. However it is important to note that I don't have the internal GPU working: instead I use a Radeon R9 380X (precisely, a Sapphire Nitro).

 

I boot in Legacy mode with enoch (aug. 2015) but recent Enoch r2898 seems to have interesting stuff: "merge Bronya's AMD CPU improvements".

 

What works:

  • R9 380X: full acceleration works out of the box without having to boot with the internal GPU :). However this is specific to 10.10 and no longer works in 10.11.
  • SATA, Ethernet, sound, USB3 (but see below) all appear to work fine. Going to sleep takes a long time (30s) but eventually works.

What works marginally or doesn't:

  • Devices will only be recognized on USB3 if they are plugged before boot. There's an easy workaround: plug a USB3 switch, then plugging/unplugging devices on the switch will work, as long as you do no unplug the switch.

For installation:

  • Create an 10.10.5 USB setup device. You can do it on Linux from the InstallESD dmg but there are many ways:

http://www.insanelymac.com/forum/topic/293168-guide-how-to-make-a-bootable-os-x-109-mavericks-usb-install-drive-on-linux/?p=2160803

 

You might need to apply the MBR patch too. Search Google for "OSInstaller(MBR)+OSInstall.mpkg(10.10.5.14F27).zip". Replace System/Library/PrivateFrameworks/OSInstaller.framework/Versions/A/OSInstaller (you will not need to replace OSInstall.mpkg).

  • Copy the kernel (attached) to System/Library/Kernels/kernel. This is Bronya's 10.10.5_rc3 which I found to work the best.
  • Add RehabMan's FakeSMC from dec. 2015 to /Extra/Extensions but do no use FakeSMC_CPUSensors.kext which causes a crash:

https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek/downloads/RehabMan-FakeSMC-2015-1230.zip

  • Add NullCPUPowerManagement.kext and pthread.kext (attached too)
  • Delete or move System/Library/Extensions/ AppleACPIPlatform.kext and IOPCIFamily.kext
  • Copy the modified AppleACPIPlatform/IOPCIFamily (attached) to System/Library/Extensions
  • Setup your org.chameleon.Boot.plist, this is what I use:
<?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>Timeout</key>
	<string>3</string>
	<key>GraphicsEnabler</key>
	<string>No</string>
	<key>HDAEnabler</key>
	<string>No</string>
	<key>EthernetBuiltIn</key>
	<string>Yes</string>
	<key>UseKernelCache</key>
	<string>No</string>
	<key>Kernel Flags</key>
	<string>-f kext-dev-mode=1 npci=0x2000</string>
</dict>
</plist>

EthernetBuiltIn above is important for the Apple store to work.

  • Setup your smbios.plist. I use:
<?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>SMbiosvendor</key>
	<string>Apple Inc.</string>
	<key>SMbiosdate</key>
	<string>10/12/2012</string>
	<key>SMbiosversion</key>
	<string>IM131.88Z.010A.B05.1210121459</string>
	<key>SMboardproduct</key>
	<string>Mac-FC02E91DDD3FA6A4</string>
	<key>SMfamily</key>
	<string>iMac</string>
	<key>SMmanufacter</key>
	<string>Apple Inc.</string>
	<key>SMproductname</key>
	<string>iMac13,2</string>
	<key>SMserial</key>
	<string>C02KK1B2DNMP</string>
	<key>SMsystemversion</key>
	<string>1.0</string>
</dict>
</plist>

For post installation (you can use the Terminal app from the OSX installation menu):

  • Again, replace the kernel where OS X was installed
  • Delete or move the installed AppleACPIPlatform.kext and IOPCIFamily.kext
  • Copy the modified AppleACPIPlatform/IOPCIFamily (attached) to System/Library/Extensions
  • Copy FakeSMC.kext and NullCPUPowerManagement.kext to Extra/Extensions. pthread.kext will not be needed, do no copy it
  • You'll have to install boot1h (and optionally boot0) with dd, for instance: dd if=boot1h of=/dev/disk14s1
  • Copy the Enoch bootloader itself ("boot") to where you installed OS X
  • Copy your favourite RealtekRTL8111.kext, such as:

https://bitbucket.org/RehabMan/os-x-realtek-network/downloads/RehabMan-Realtek-Network-v2-2015-1230.zip

  • Add RehabMan's GenericUSBXHCI.kext for USB3 (Asmedia):

https://bitbucket.org/RehabMan/os-x-generic-usb3/downloads/RehabMan-Generic-USB3-2015-1215.zip

  • Optionally use RehabMan's VoodooPS2:

https://bitbucket.org/RehabMan/os-x-voodoo-ps2-controller/downloads/RehabMan-Voodoo-2015-1229.zip

  • Delete AppleHDA.kext and install VoodooHDA: 

https://sourceforge.net/projects/voodoohda/files/VoodooHDA-2.8.8.pkg.zip/download

 

After installing VoodooHDA, you will notice white noise coming from the green output. This can be fixed easily by going to the pref pane, select the second device (SBAZ@14,2), select the output (typically 2: Headphones) and slide "Input Gain" down to zero.

 

Credits

 

In the end, I'l like to give huge thanks to Bronya, RehabMan and everyone else who worked on this, your work is very much appreciated!

kernel_10.10.5_rc3.zip

NullCPU-pthread.zip

AppleACPIPlatform-IOPCIFamily.zip

×
×
  • Create New...