Contribute
Register

How to build your own iMac Pro [Successful Build/Extended Guide]

Status
Not open for further replies.

I tried another x299 motherboard and it has the same behavior. So I think it's either my GPU or my CPU. Will try to find another graphics card to test with my system (I have an old Nvidia Quadro, but it won't work either - but it's not UEFI, so maybe that's why?). And while I'm at it, I may try a different graphics card.

In case it might help anyone in the future struggling with "Code:A2 Post Error", it turns out that my DisplayPort cable went bad, and because I didn't have a a keyboard plugged in (my monitor would have told me to plug in a keyboard - I was just using the LED on my motherboard for the error code), I got the error. Happy to be back up and running - and now I have an EK P280 water cooling kit installed, though one of the fans is broken and needs replacing! Been a tough week computer-wise
 
Last edited:
I received my bluetooth/wifi adaptor (https://www.amazon.com/gp/product/B07CZFVWSZ/?tag=tonymacx86com-20), and now I understand why it's called an adaptor and not a card. Can someone recommend a good wifi/bluetooth module? I imagine they change over time and I've been researching, but it's hard to tell what's what.
Another adapter card (+ includes the WiFi module) is priced about the same as the linked item (which omits the required WiFi module), but also includes Bluetooth 4.2 instead of 4.0:
https://www.amazon.com/gp/product/B0713RRZMB/?tag=tonymacx86com-20
Then there's a similar type of WiFi + Bluetooth 5.0 adapter card, but uses an Intel WiFi module, which currently has no working drivers for macOS.
https://www.amazon.com/gp/product/B07DMDZ888/?tag=tonymacx86com-20
 
Last edited:
Another adapter card (+ includes the WiFi module) is priced about the same as the linked item (which omits the required WiFi module), but also includes Bluetooth 4.2 instead of 4.0:
https://www.amazon.com/gp/product/B0713RRZMB/?tag=tonymacx86com-20
Then there's a similar type of WiFi + Bluetooth 5.0 adapter card, but uses an Intel WiFi module, which currently has no working drivers for macOS.
https://www.amazon.com/gp/product/B07DMDZ888/?tag=tonymacx86com-20
I appreciate it @rugula. Did it work natively with kgp's Imac Pro build (the thread that were in)? I was surprised to see that it's made by Asus. I have built in Wifi on my Asus x299 Prime Deluxe. Do you think it's possible to get that working in High Sierra?
 
Hi, first of all thanks for the amazing work done in this thread.

I'm considering to build a skylake-x hackintosh with 7900x processor.

I would hear some advice for the motherboard.

The two motherboard i'm cosidering are the Asus x299 Prime Deluxe and the Gigabyte X299 Designare EX.

The questions are:

- About MSR 0xE2 register: Asus has unlocked MSR 0xE2 register in bios 1401, while gigabyte is unlocked by default, so they should be equivalent.
- About Bluetooth/wi-fi: Asus bluetooh works OOB, while wifi don't. So an add-in card is necessary to obtain fully fuctional wireless functions. How about gigabyte? In case of the add-in card, I'll be able to use bluetooth mouse and keyboard in UEFI bios?
- About TB3: Asus is working with some "tweaks" (windows dual boot etc. in section E.5). How about gigabyte? Will it works OOB?

Thanks again and Best Regards
 
SSDT-9.aml, apparently the one and only key for a complete and successful TB Hackintosh implementation...

In order to demonstrate that I am not yet totally insane with my guesses and ideas, let's demonstrate below that SSDT-9.aml seems to be one of possible cornerstone for reaching full Hackintosh functionality on a iMac Pro Hackintosh system.

However, due to the missing method "_ini" implementation (port and device initialisation/configuration) in SSDT-9.aml and likely also due to other missing Apple iMac Pro SSDT/DSDT ACPI implementations, my modified SSDT-9.aml yet fails in implementing the basic system essentials for a complete TB Hackintosh configuration and results in plenty of ACPI errors, Name Space Lookup failures and variable or argument errors during boot..

ss-1.png


SC-2.png


SC-3.png


Nevertheless, few essential things are added when inspecting IOREG or Apple's system report..

While from the TB-kexts used on a real iMacPro only com.apple.driver.AppleThunderboltNHI.kext is active on our Hackintosh systems, SSDT-9.aml so far also loads at least com.apple.iokit.IOThunderboltFamily.kext.

Screen Shot 2018-08-05 at 12.45.06.png


Screen Shot 2018-08-05 at 12.46.48.png


However, com.apple.driver.AppleThunderboltDPAdapterFamily, com.apple.driver.AppleThunderboltIP.kext, com.apple.driver.AppleThunderboltDPInAdapter, com.apple.driver.AppleThunderboltPCIDownAdapter remain without function due to frequent ACPI errors (Namespace Lookup errors, argument and variable errors, etc.) during boot, which are supposedly due to the yet missing Method "_ini" (port/device implementation/configuration) in my most actual SSDT-9.aml distribution and lacking related ACPI implementations...

Screen Shot 2018-08-05 at 13.01.23.png


Most essentially, with my current SSDT-9.aml, also the "RTPC true" entry adds under AppleThuderboltNHIType3..

Screen Shot 2018-08-05 at 12.47.31.png


One might also find the one or other interesting IOREG add-ons under in all other TB PCI device implementations...

Attached below my current AML Tb-Implementations for use by experts only!!! I also add once more @TheOfficialGypsy 's most recent iMac Pro dump, where you find the original SSDT-9.aml (BTW.. SSDT-10.aml might be noteworthy in addition), besides the iMac Pro DSDT and other iMacPro SSDT implementations... attached as well the IOREG save of the original iMac Pro...

@TheOfficialGypsy 's, any more recent dump under 10.13.6 or 10.14 PB4 available?

I guess, it rapidly might become evident that the complexity of the problem apparently exceeds the capacities and knowledge of one single person... What about active collaborators, here online or maybe also within some small local "insitu" and "hands-on" workgroup in the Berlin/Germany area?

@apfelnico, @nmano or who ever wants and is able to join this endeavour?

I really don't know if there is any valid chance for a successful SSDT-9.aml Hackintosh TB implementation, but I think we should give it a try..

Enjoy and have fun,

kgp.png


P.S: SSDT-9.aml of the iMac Pro dump is broken and impossible to be compiled..

One needs to start with the SSDT-9.dsl and add "\_SB.PC01.BR1A.UPSB.AMPE ()" under:

Code:
        Scope (\_GPE)
        {
            Method (_L32, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
            {
                If (LNot (OSDW ()))
                {
                    If (LEqual (\_SB.PC01.BR1A.POC0, One))
                    {
                        Return (Zero)
                    }

                    Sleep (0x0190)
                    If (LEqual (\_SB.PC01.BR1A.WTLT (), One))
                    {
                        \_SB.PC01.BR1A.ICMS ()
                    }
                    Else
                    {
                    }

                    If (\_SB.PC01.BR1A.UPMB)
                    {
                        Store (Zero, \_SB.PC01.BR1A.UPMB)
                        Sleep (One)
                    }
                    Else
                    {
                    }

                    \_SB.PC01.BR1A.CMPE ()
                }
                ElseIf (LEqual (\_SB.GGII (0x01030012), One))
                {
                    \_SB.SGII (0x01030012, Zero)
                }
                Else
                {
                    \_SB.SGII (0x01030012, One)
                }

                \_SB.PC01.BR1A.UPSB.AMPE ()
            }
        }

It took me weeks and months to discover and fix these stupid errors.. ;)

For the sake of completeness and for simplicity, I also attach a minimal SSDT-9 hot plug injector AML, which pretty does everything for achieving a functional TB and TB HXC USB hot plug workaround on THB-C removed Hackintosh systems..
 

Attachments

  • SSDT-9.aml.zip
    6.7 KB · Views: 168
  • SSDT-DTPG.aml.zip
    852 bytes · Views: 159
  • SSDT-GG:SG-Methods.aml.zip
    865 bytes · Views: 105
  • SSDT-GNVS.aml.zip
    760 bytes · Views: 103
  • SSDT-OSDW.aml.zip
    975 bytes · Views: 103
  • SSDT-SBUS.aml.zip
    1.5 KB · Views: 114
  • iMac Pro Dump 10.13.5 Beta 5 17F70a.zip
    9 MB · Views: 105
  • iMac Pro 10.13.5 Beta 5 17F70a.ioreg.zip
    3.1 MB · Views: 108
  • SSDT-9-minimal-hotlug-injector.aml.zip
    2.6 KB · Views: 156
Last edited:
Did it work natively with kgp's Imac Pro build (the thread that were in)? I was surprised to see that it's made by Asus. I have built in Wifi on my Asus x299 Prime Deluxe. Do you think it's possible to get that working in High Sierra?

The user comments on Amazon say that the previously linked Asus WiFi card + module works in OSX.
I personally only use a wired ethernet connection, so don't use any WiFi or Bluetooth device.
The Atheros WiFi-Bluetooth module that comes included with the Asus x299 Prime Deluxe motherboard: only the Bluetooth functions, per initial post of this thread. AFAIK, the WiFi portion of the Atheros module does not work in macOS, due to lack of drivers. However, this other thread may provide some answers:
https://www.insanelymac.com/forum/t...ess-driver-os-x-101112-for-unsupported-cards/
 
The user comments on Amazon say that the previously linked Asus WiFi card + module works in OSX.
I personally only use a wired ethernet connection, so don't use any WiFi or Bluetooth device.
The Atheros WiFi-Bluetooth module that comes included with the Asus x299 Prime Deluxe motherboard: only the Bluetooth functions, per initial post of this thread. AFAIK, the WiFi portion of the Atheros module does not work in macOS, due to lack of drivers. However, this other thread may provide some answers:
https://www.insanelymac.com/forum/t...ess-driver-os-x-101112-for-unsupported-cards/

Just checked the linked Qualcomm kext approach: it definitely does not work with the Qualcomm Atheros QCNFA364A of the ASUS Prime X299 Deluxe... ;)
 
Launch CSM: Disabled

If I set this setting to disabled in BIOS, the monitor won't start. If I set it to enabled then at least the monitor will start and things seems to work, so why does the guide say it should be disabled?
 
If I set this setting to disabled in BIOS, the monitor won't start. If I set it to enabled then at least the monitor will start and things seems to work, so why does the guide say it should be disabled?

Your GPU seems not fully UEFI compatible.. Thus, it needs legacy support.. that's why you need to enable CSM on our system.
I am aiming at pure UEFI systems, which do not need Legacy support. I won't specify explicitly the disadvantages of the Legacy approach.. you can do some research on Google or find the flaws by yourself.. ;)
 
Status
Not open for further replies.
Back
Top