Contribute
Register

[Success] Asus Z87 Maximus VI Hero Build - OS X Yosemite (with Chameleon)

Status
Not open for further replies.
Thank you for the great guide. I have a very similar system to you, and I've tried several methods to get Yosemite installed, but for some reason when I select the USB drive to boot from, my computer just loads into Windows.

Do I have to have a patched bios for this?
 
@ EmileM

M6H bios is already unlocked. No need for patched bios. U may already know these steps.

UEFI BIOS settings
* Reset to Optimized Defaults
* Advanced —> USB configuration —> Legacy USB support -> Auto
* Boot -> Fast Boot -> Disabled
* Boot -> CSM -> Launch CSM -> Disabled [only if ur windows is UEFI]
* Boot -> Secure Boot —> OS Type -> Other OS

For installing clover to USB, use the following settings.

Install for UEFI booting only
Install Clover in the ESP
Drivers64UEFI
*EmuVariableUEFI-64
*OsxAptioFixDrv-64
*PartitionDxe-64
While booting, press F8 and choose UEFI-usb. Hope this will help.
 
Decided to upgrade my hackintosh with a discrete graphics card.
Currently running Mac OS X Yosemite 10.10.5.

My choices were EVGA GTX 960 SSC ACX 2.0+ 4GB and Gigabyte AMD R9 380 4GB.
With nvidia, one don’t have to worry about compatibility since nvidia will release web driver for each version of mac os. But with amd, compatibility can’t be guaranteed although device id may be present in amd kext. Both cards are almost similar in price, performance, power consumption, etc., AMD being slightly better performer. I wanna take the risk and chose AMD R9 380 (Tonga).
Vendor ID : 1002
Device ID : 6939

Without any injection (boot-flags), the card defaults to Radeon framebuffer (Auto-Init) with both Chameleon and Clover. 'GraphicsEnabler=No' may be needed for chameleon during installation in order to avoid kernel panic.
All ports work fine using Radeon framebuffer, although the card is detected as AMD R9 xxx.
I wanna try the framebuffers in AMD9000Controller. For that, I need to patch a frame buffer. To check Displayport, i have used 'Displayport to HDMI' cable (passive).

Redsock BIOS Decoder output:
GV-R938G1 GAMING-4GD/F4
Subsystem Vendor ID: 1458
Subsystem ID: 22bb
Object Header Structure Size: 305
Connector Object Table Offset: 48
Router Object Table Offset: 0
Encoder Object Table Offset: e2
Display Path Table Offset: 12
Connector Object Id [19] which is [DISPLAY_PORT]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false
Connector Object Id [12] which is [HDMI_TYPE_A]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0x3)] linkb: true
Connector Object Id [4] which is [DVI_D]
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false


In Yosemite, Framebuffers in AMD9000Controller (Connector count):
Exmoor(4), OPM(6), GreyhoundS(1), Basset(4), Greyhound(6), Baladi(6)

Exmoor and Baladi are not working (When used, defaults to Radeon Framebuffer).
GreyhoundS has only one connector.
With Basset, Unigine Heaven score is low (FPS: 61.1, Score: 1540).
Both OPM and Greyhound work similarly after patching. I chose Greyhound.

Original: Greyhound
00040000 04030000 00010107 10000103
00040000 04030000 00010207 20010204
00040000 04030000 00010307 11020301
00040000 04030000 00010407 21030402
00040000 04030000 00010507 12040505
00040000 04030000 00010607 22050606

After Patch:
00040000 04030000 00010107 11020401
00080000 04020000 00010207 21030503
04000000 04000000 00010307 10000105
04000000 14000000 00010407 12040606
00040000 04030000 00010507 12040202
00040000 04030000 00010607 22050304

Patched the first 4 connectors according to my setup.
ATY,ControlFlags’ values are from IOJones output while using Radeon framebuffer.
Features values are already set in this framebuffer. Didn’t touch Unknown.
Transmitter and Encoder values are from Redsock BIOS Decoder Output.
Hotplug ID values are already set in order [see Update-1 below]
Display port works only with SenseID:01., Similarly, HDMI:03, DVI-D:05, DVI-I:06
Changed the senseids for the last two connectors since those ids are already used.

All ports are working. Dual monitor setup works with different combinations.
Card is detected as ATI Radeon R9 285 (Name given by Clover). R9 380 is rebadged R9 285 with same device id. Use latest revision of clover. InjectATI in Clover_r3241 & before will not work properly for this card. Graphics injection by DSDT will work with any version of clover. See Update-4 below.
156246-about-mac-el-capitan.png


Didn’t test HDMI audio. Unigine heaven score is same as that using Radeon Framebuffer.
156245-r9-380-el-capitan.png


Update 1 [08/27/2015]:
Hotplug IDs for my connectors: DisplayPort:04, HDMI:05, DVI-D:01, DVI-I:06. Credits to Fl0r!an.
These values can be found using Radeon bios decode from the post below.

Update 2 - R9 380 boot issue in El Capitan [09/15/2015]:
Unlike Yosemite, R9 380 is not working OOB or with Framebuffer injection in El Capitan, although it may work during installation. I have tried Public Beta 5 and GM Candidate releases of 10.11. Some people report success. But no confirmed reports for full graphics acceleration when PCIe (R9 380) is set as primary in BIOS. Monitor loses signal after verbose. This issue was first notified by Pcpaul who also found a temporary workaround for this problem (Link).
Right now, best way to try El capitan with R9 380 is to install with integrated graphics (In BIOS, IGPU set as primary and CSM enabled). After finishing installation and initial setup of Mac OS, shutdown and change the display cable to graphics card.
Now the card will work (framebuffer injection is optional). Inject Intel should be used for now to get full QE/CI with R9 380. But monitor will get signal only after El Capitan fully loads. No signal even in BIOS. Hence make sure Timeout is set & Clover (UEFI Harddrive or UEFI USB) is set as first priority, before changing port.
156247-dpci-manager-screenshot.png


Update 3 - El Capitan USB port restriction [09/16/2015]:
My mobo has 14 USB2 connectors (4 internal + 4 rear + 6 from USB3) and 6 USB3 connectors (2 internal + 4 rear). All are using USB3 bus controller (XHC). Since my USB3 bus is named as XHC and not XHC1, there is no port restriction and first 15 ports from my DSDT will be loaded in El Capitan. Without DSDT edit, 14 (all) USB2 ports and 1 USB3 port (internal) are working, which means USB3 ports in the rear will only work if usb2 device is connected. Hence i have edited my DSDT (deleting unused internal headers of USB2 & USB3 and USB2 functionality of one rear USB3 port) so that i can use my rear USB3 ports for USB3 devices. With DSDT edit, there is no need for kext infoplist edit or installing DummyUSBXHCIPCI kext. Credits to Pokenguyen. Link here. Maximus VI (Generic) patch from the repo http://pjalm.com/repos/asus/ may be necessary in order to compile DSDT without errors. While applying the generic patch, remove 'Patch for Intel USB3 on Intel 8 Series chipsets to allow more power output' for EHC1, EHC2 and XHC. Otherwise, sleep may not work.
151193-el-capitan-usb-port-restriction.png


Update 4 - DSDT injection of AMD Radeon R9 380 in Mac OS X [10/05/2015]:
Tried to inject graphics through DSDT and succeeded. Also added HDAU (from toleda's SSDT) to DSDT. Now HDMI audio works with DSDT alone. My final DSDT contains the following changes to OEM DSDT.
1 pjalm's patch - 'Maximus VI (Generic)' (minus patches for USB to allow more power output, which will interfere with sleep). Also pjalm has changed the patch for 'Add the DTGP method' (since yesterday), which gives compilation errors. Clover patch will be fine (included in my DSDT).
2 Add PEG0 (PEGP + HDAU) to PCI0. HDAU is from toleda's SSDT for AMD (Link).
3 Add ARPT (TP-Link wireless card FakeID) to RP08 under PCI0, so that infoplist edit is not necessary. Useful when booting with legacy bootloaders. Credits to Clover patch (FixAirport).
4 For El Capitan only - Delete unused ports from XHC (not in my attached DSDT). See Update-3.

I have injected the name 'AMD Radeon R9 380' for my graphics card. Attached DSDT has minimal configuration for R9 380. Since I have injected Greyhound framebuffer in DSDT, Greyhound framebuffer patch is mandatory before injecting this DSDT. Accomplished by Clover's KextsToPatch.
Note: This will not solve current problem of Tonga in El Capitan (not booting with PCIe as primary).
 

Attachments

  • config.plist
    4.2 KB · Views: 517
  • config - El Capitan GM Candidate.plist
    4.2 KB · Views: 339
  • DSDT.aml
    58.9 KB · Views: 247
Last edited by a moderator:
Nice work! I'm currently working on a Radeon Compatbility guide, and I think I'll link to this post because not many people have yet dared to go for a Tonga-based GPU.

Just one note on the IDs: The hotplug ID of each port can be found with radeon_bios_decode. The hotplug ID doesn't have to be in order, but can also be discovered by parsing the vBIOS. I've made a small improvement to radeon_bios_decode which will output this ID: https://bitbucket.org/florianbethke/radeon_bios_decode_hp

The hotplug isn't very important for most connectors, so any value will work. On passive DisplayPort connections it won't matter at all, DVI connections with mismatched HP ID will just lose their hot plugging functionality. Active DP will stay black though. Not sure about HDMI.
The bevahior might also depend on the display used.
 
Im new to having a hackintosh, Im wondering if you could help me with the framebuffer of my r9 380. Right now my card is showing up as AMD R9 XXX in El Capitan. When the hackintosh boots, I seem to have so much screen tearing that it renders the mac useless. Is there a guide or something that I can follow to help resolve this issue? Im guessing it has to do with the framebuffer not initiating?

Thanks
 
Status
Not open for further replies.
Back
Top