Contribute
Register

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

Status
Not open for further replies.
Joined
Dec 11, 2010
Messages
105
Motherboard
DELL 9560
CPU
I7-7700HQ
Graphics
HD 630, GTX 1050, 4k
Mobile Phone
Android
@apfelnico I tried to replicate your ideas on my machine. ACPI patches are fully implemented using the hotpatch method described by the guide. But even with an additional unedited DSDT my machine doesn´t boot anymore.
It´s actually the first time I´m trying the hotpatching method via clover and SSDT plus an additional DSDT on a desktop machine.
Do you have an idea what I miss?
 
Joined
Jan 26, 2018
Messages
919
Motherboard
ASRock X299 Professional Gaming XE
CPU
i9-7980xe
Graphics
Vega
Mac
Mac Pro
Mobile Phone
Android
I have it working !!!!!
Both my 5K (5120x2880) and my 27" Apple Thunderbolt screen (2560x1440) with SMBIOS set to iMacPro,1

@NWSnowBum gave me a good hint on where to look.
I used https://github.com/aerror2/NGFixLG5K which is a patched NvidiaGraphicsFixup

Actually, looking more closely at the code, the only reason that works is a side effect of this kext injecting a model number MacPro,6...
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?
 
Last edited:
Joined
Jan 26, 2018
Messages
919
Motherboard
ASRock X299 Professional Gaming XE
CPU
i9-7980xe
Graphics
Vega
Mac
Mac Pro
Mobile Phone
Android
You must be a very happy man after weeks of frustration with this!
I certainly am....
When I can't solve a problem I just can't stop trying, been totally unproductive those past two weeks as this issue was nagging me...

Going to adapt @apfelnico DSDT patch for the Gigabyte now...
Starting to understand what I'm doing :)
 

kgp

Retired
Joined
May 30, 2014
Messages
6,902
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
Hey,
I installed the latest supplement update using iMac17,1 in the config file,
now, when i change the SMBIOS to MacPro1,1 it won't boot,
what do i need to do in order to use MacPro1,1 again?

also, what should i use, iMac18,3 or iMac17,1 ?
You should neither use SMBIOS iMac18,3 nor SMBIOS iMac17,1...

You should use SMBIOS MacPro1,1 and follow section D.5)

Good luck,

KGP
 

kgp

Retired
Joined
May 30, 2014
Messages
6,902
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
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?
Does this kernel patch just apply for Vegas or for all Radeon GPUs?

What about Nvidia GPUs in multi-monitor configuration?

As soon these two last questions are clarified, I will of course implement your important finding in the guide.
 
Joined
Jan 26, 2018
Messages
919
Motherboard
ASRock X299 Professional Gaming XE
CPU
i9-7980xe
Graphics
Vega
Mac
Mac Pro
Mobile Phone
Android
Does this kernel patch just apply for Vegas or for all Radeon GPUs?

What about Nvidia GPUs in multi-monitor configuration?

As soon these two last questions are clarified, I will of course implement your important finding in the guide.
This patch is what's the NvidiaGraphicsFixup.kext
does, so it can't hurt to have it enabled on all platforms.
I've never had issue with my 5K monitor with the nvidia cards though...
 

kgp

Retired
Joined
May 30, 2014
Messages
6,902
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
Finally found a way how to download the full Installer.app for beta‘s.
Public beta full package installer? Else, see post #308 ...
 
Last edited:

kgp

Retired
Joined
May 30, 2014
Messages
6,902
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
This patch is what's the NvidiaGraphicsFixup.kext
does, so it can't hurt to have it enabled on all platforms.
I've never had issue with my 5K monitor with the nvidia cards though...
As the NvidiaGraphicsFixup.kext is absolete with SMBIOS iMacPro1,1, I don't know if the kernel patch would be really necessary for Nvidia GPUs.. Can somebody with a Nvidia GPU in multi-monitor configuration can confirm any advantage when implementing this Kernel patch? I direct the same request to all users with Radeon GPUs different from Vegas..
 
Joined
Aug 2, 2011
Messages
871
Motherboard
X299 Designare EX
CPU
i9-7980XE
Graphics
Vega 64
Mac
MacBook Air, MacBook Pro, Mac Pro
Classic Mac
512K, Plus
Mobile Phone
iOS
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
 
Joined
Feb 24, 2013
Messages
2,310
Motherboard
ASUS WS X299 SAGE/10G
CPU
i9-9980XE
Graphics
Radeon VII
Mac
MacBook Pro
Mobile Phone
iOS
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

Last edited:
Status
Not open for further replies.
Top