Contribute
Register

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

Status
Not open for further replies.
I'm a sound editor and built my system to be quiet, and I can vouch for the non-window Define S as being a very quiet case, with a lot of room for radiators and pumps. It's on the bigger side though. I keep mine under the desk :)

Thanks. putting together a leftover z77 & GA-Z77-wifi in a Define S NANO today... big case for an ITX board
 
I would not see any direct relation with a DSDT. @izo1 might be able to provide support in your issues.

Good luck,

KGP
Hi there,

I have a similar issue with this module and most likely it has to do with the USB Power Delivery SSDT. There is a good thread from the great RehabMan regarding this and I'm trying to figure it out there. I ordered a few new antennas (I found out that they are MMCX, which are super tiny compared to the SP-SMA ones which are more mainstream) will see if that helps at all.

Hope this helps.

Hey all

As I had some free time, just to update everyone who is interested on the original modification of the Designare EX WiFi/BT module, the proper SSDT for USB Power Distribution seems to have helped immensely. Bluetooth is now completely showing under System Information > USB.

Thanks to @RehabMan's beautiful guide on this. By using IORegistry to make a separate .aml just for mapping the proper USB ports, the Bluetooth now 100% works with no issues whatsoever. Handoff, AirDrop, Hotspot, and no audio dropouts with any Bluetooth headphone (including ones with aptX and AAC support). Works just like a real Mac.

Originally I had an OSXWifi PCIe card but wanted something much cleaner that takes up less PCIe space and is as close to a real Mac as possible, especially after following this great guide by @kgp. Also OSXWifi was a much older chipset (even though it works OOB and requires no kexts etc) it was too slow for me.

With Bluetooth Explorer, even though the RSSI is around -45/-50 (through Wifi/BT Coexist option), using the Gigabyte antenna (as seen attached) works well at I would say about 30+ feet for headphones. That includes AirPods which connect very quickly now.

Also a note regarding the antennas (which I want to boost) on the Gigabyte Designare EX— they use MCXX (when I spoke to Gigabyte) ports and I noticed my previous Gaming 9 x299 board used the same. Really good antennas are hard to find for these like RP-SMAs as you need to get adapters to go to RP-SMA. I finally found one (model OARDSBX-DUAL25) but not sure if it will stick out properly and if they will be too tight next to each other, but I should be receiving these next week and will post a follow up.

I've attached the kexts required for this NGFF module (BCM94352Z) and my own (modified from RehabMan) .aml that matches my USB ports. You need to use IOReg to find your own and you can base it off this or start from scratch.

Please note this SHOULD work with any motherboard that has an NGFF module that is not supported natively on Hackintoshes. Most motheboard manufacturers put in Intel or the Killer line of NGFF modules as they are more popular than Broadcom. Swapping these out is very easy and cost effective (~$28 compared to $100+ on OSXWifi or some others which cost less). I felt this was a very clean solution to the WiFi/BT issue which takes less PCIe slots.

Hope this helps people and if @kgp sees fit, he can add it to the original post, that is only if he wants to :wave::thumbup:
 

Attachments

  • gigabyte_antenna.jpg
    gigabyte_antenna.jpg
    1 MB · Views: 90
  • BRCM_kexts.zip
    2.2 MB · Views: 65
  • SSDT-UIAC.aml
    1 KB · Views: 121
  • MMCX_antenna.png
    MMCX_antenna.png
    54.4 KB · Views: 111
Last edited:
Ok, I spent some time this evening looking at this particular kext, and why somehow it made my 5K screen works, and solved all my other screen display problem

Analysing the source code, and after a bit of test&trials, I found that the most important part to make it work was this code:
https://github.com/aerror2/NGFixLG5K/blob/master/NvidiaGraphicsFixup/kern_ngfx.cpp#L149

It loads AppleGraphicsDevicePolicy.kext and rename "board-id" into "board-ix" (my guess is that any replacements would do, so long as it's no longer "board-id")

So rather than making a custom kernel extension, I attempted to do the same using clover kernel patch:
Code:
Name*                          Find*[Hex]                  Replace* [Hex]             Comment
AppleGraphicsDevicePolicy      626F6172 642D6964           626F6172 642D6978          AppleGraphicsDevicePolicy board-id -> board-ix

Reboot, and it all works....
All 3 DP ports working on my AMD Vega, and the 5K works at native resolution.
Hardware decoding *and* encoding works...

Funny on how it's always the most trivial solution that works the best..

@kgp may want to include this to your guide ...

@NWSnowBum can you try this on your side (after removing Lilu and the Nvidia kext) and see if things work better for you?
This did not work for me. I removed lilu and NvidiaGraphicsFixup and put this in place and rebooted and only came up with 2 displays.
 
the Bluetooth now 100% works with no issues whatsoever. Handoff, AirDrop, Hotspot, and no audio dropouts with any Bluetooth headphone (including ones with aptX and AAC support). Works just like a real Mac.
FWIW, Bluetooth on the Designare works perfectly here with no modifications of any kind.

What issues were you seeing before you made your mods?
 
FWIW, Bluetooth on the Designare works perfectly here with no modifications of any kind.

What issues were you seeing before you made your mods?

Intel works on macOS? maybe Bluetooth since it runs through USB but not WiFi which is through PCIe.

The point of it was to get as close to OEM as possible by putting in a module where the WiFi/BT work well already.

The proper USB SSDT allows power distribution and the right amount of amperage, mostly 500 mA to the Bluetooth portion of the module. For my module specifically I was getting audio stutters and handoff and airdrop weren’t working correctly. But after proper ssdt it works perfect. :thumbup:
 
Last edited:
Hey @kgp - My favorite local computer shop (MicroCenter) had the ASUS PRIME X299-A board in stock at a pretty good price. I still have my ThuderboltEX II - Dual card, so I'm not without Thunderbolt going this route (and all my devices are TB2). BUT, according to this link, it looks like there are a few small hardware & feature differences on the -A board including (but not limited to): no CPU RAID support, only 1 GigE controller/port, less USB ports, a handful fewer options in internal I/O connections including onboard buttons for power, MemOK, etc., and fewer "special features."

IMHO, I didn't see any show-stopper red flags that would keep me from following your detailed instructions to get this system up & running (except skipping certain instructions for things not on the X299-A board...like 2nd NIC). Would you concur?
 
I specifically stated BT...
As you mentioned wifi doesn't work.

View attachment 317310

Yeah that’s normal and it worked for me too.

In your case if you do want to keep it that way I still recommend a ssdt for usb so power is distributed properly and bt will work better.

Bt was never really an issue with macos since even cheap $9 usb bt adapters worked as well oob . It’s always been the wifi/bt that was issue when on a single card.

Don’t forget in your case since only bt is being operated, the WiFi portion is off and bt is not sharing the 2.4Ghz antenna with WiFi so you will get better performance by default.
 
Hey @kgp - My favorite local computer shop (MicroCenter) had the ASUS PRIME X299-A board in stock at a pretty good price. I still have my ThuderboltEX II - Dual card, so I'm not without Thunderbolt going this route (and all my devices are TB2). BUT, according to this link, it looks like there are a few small hardware & feature differences on the -A board including (but not limited to): no CPU RAID support, only 1 GigE controller/port, less USB ports, a handful fewer options in internal I/O connections including onboard buttons for power, MemOK, etc., and fewer "special features."

IMHO, I didn't see any show-stopper red flags that would keep me from following your detailed instructions to get this system up & running (except skipping certain instructions for things not on the X299-A board...like 2nd NIC). Would you concur?

Yes, I concur.. I don't see any show-stopper red flags for guide compatibility. What you might miss on the ASUS PRIME X299-A though is the Live Dash Display. In my opinion it provides very useful information. Also you have one 16x PCIe slot less. The missing second Gigabit Lan port ist no issue at all.. I will anyway come up the next days with a 10 GB LAN solution (including a 10GB NAS RAID 5 implementation). Your ThunderboltEX II - dual card has two TB2 ports? Alternatively you might also be able to use the Gigabyte TB3 Alpine Ridge v2.0 with ASUS boards, which also features two TB3 ports. With the TBEX 3 we already reached XHCI USB3.1 Type-A/Type-C hot plug functionality. Currently we are intending to add TB HDD/SDD and Ethernet hot plug functionality. This might be some reason to opt for the ASUS Prime X299 Deluxe, although you would be left with a single TB3 port in this case. Up to my knowledge, Mork vom Ork already has a fully functional SSDT for the Gigabyte TB3 Alpine Ridge v2.0, which might be your preferred option in any case, if you would ever think on selling your ThunderboltEX II - dual card for a reasonable price. For further details see this thread.

In any case, as stated above I see no other major restrictions when opting for the ASUS PRIME X299-A.

Edit:
One more thing. The Gigabyte X299 Designare EX also seems fully compatible with my guide. I recently also implemented all necessary BIOS settings for this board. My EFI-Folder just needs one additional npci=0x2000 boot flag. As you know, this board features onboard TB3.. I don't know if the latter feature would be interesting for you, although the Gigabyte X299 Designare EX means at least twice the price of an ASUS PRIME X299-A.
 
Last edited:
Your ThunderboltEX II - dual card has two TB2 ports? Alternatively you might also be able to use the Gigabyte TB3 Alpine Ridge v2.0 with ASUS boards, which also features two TB3 ports. With the TBEX 3 we already reached XHCI USB3.1 Type-A/Type-C hot plug functionality. Currently we are intending to add TB HDD/SDD and Ethernet hot plug functionality. This might be some reason to opt for the ASUS Prime X299 Deluxe, although you would be left with a single TB3 port in this case. Up to my knowledge, @mark vom Ork already has a fully functional SSDT for the Gigabyte TB3 Alpine Ridge v2.0, which might be your preferred option in any case, if you would ever think on selling your ThunderboltEX II - dual card for a reasonable price.

In any case, as stated above I see no other major restrictions when opting for the ASUS PRIME X299-A.

Edit:
One more thing. The Gigabyte X299 Designare EX also seems fully compatible with my guide. I recently also implemented all necessary BIOS settings for this board. My EFI-Folder just needs one additional npci=0x2000 boot flag. As you know, this board features onboard TB3.. I don't know if the latter feature would be interesting for you, although the Gigabyte X299 Designare EX means at least twice the price of an ASUS PRIME X299-A.
Just to confirm, ThunderboltEX II Dual is dual TB2 ports, and since all my significant TB devices are TB2, it made sense to save some $$, and pray for good luck and compatibility with your guide. Having said that...

I am EXTREMELY intrigued by the ability to use Gigabyte Alpine Ridge TB3 card with x299-A. I can pick up one of those here locally on close -out for less than $60US. Im hoping that m-v-o posted his SSDT here :wave:

And also good to know about your build instructions also being valid for X299 Desinare EX (with the additional boot flag you cite). I'm having such fun reading all the posts from everyone. . Sadly, I still have LOTS of catching up to do (I'm only on page 35)!!!
 
Status
Not open for further replies.
Back
Top