Contribute
Register

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

Status
Not open for further replies.
Joined
May 23, 2018
Messages
5
Motherboard
Gigabyte x299 Ultra Gaming
CPU
i9 7900x
Graphics
GTX 1080
Okay Okay another question that i might be totally missing in the write up but whats the minimum flashdrive size you can use for the install?
 
Joined
Apr 18, 2011
Messages
493
Motherboard
ASUS WS X299 SAGE/10G
CPU
i9-10980XE
Graphics
RX 5700 XT
Mac
MacBook Pro
Mobile Phone
iOS
Okay Okay another question that i might be totally missing in the write up but whats the minimum flashdrive size you can use for the install?
8gb+ is recommended
 
Joined
Mar 5, 2011
Messages
191
Motherboard
ASUS Prime X299 Deluxe
CPU
i9 7920X
Graphics
Radeon VII
Mac
MacBook Pro
Mobile Phone
iOS
The CP-PR replacements for i9-7920X:


Code:
<dict>
                   <key>Comment</key>
                   <string>CP00 -&gt; PR00</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AwMA==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIwMA==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP01 -&gt; PR01</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AwMQ==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIwMQ==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP02 -&gt; PR02</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AwMg==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIwMg==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP03 -&gt; PR03</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AwMw==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIwMw==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP04 -&gt; PR04</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AwNA==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIwNA==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP05 -&gt; PR05</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AwNQ==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIwNQ==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP06 -&gt; PR06</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AwNg==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIwNg==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP07 -&gt; PR07</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AwNw==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIwNw==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP08 -&gt; PR08</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AwOA==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIwOA==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP09 -&gt; PR09</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AwOQ==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIwOQ==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP0A -&gt; PR10</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AwQQ==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIxMA==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP0B -&gt; PR11</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AwQg==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIxMQ==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP10 -&gt; PR12</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AxMA==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIxMg==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP11-&gt; PR13</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AxMQ==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIxMw==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP12 -&gt; PR14</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AxMg==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIxNA==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP13 -&gt; PR15</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AxMw==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIxNQ==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP14 -&gt; PR16</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AxNA==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIxNg==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP15 -&gt; PR17</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AxNQ==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIxNw==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP16 -&gt; PR18</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AxQw==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIxOA==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP17 -&gt; PR19</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AxRA==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIxOQ==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP18 -&gt; PR20</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AxRQ==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIyMA==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP19 -&gt; PR21</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AxRg==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIyMQ==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP1A -&gt; PR22</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyMA==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIyMg==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP1B -&gt; PR23</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyMQ==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIyMw==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP0C -&gt; PR24</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyMg==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIyNA==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP0D -&gt;PR25</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyMw==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIyNQ==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP0E -&gt; PR26</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyNA==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIyNg==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP0F -&gt; PR27</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyNQ==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIyNw==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP1C -&gt; PR28</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AxQw==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIyOA==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP1D -&gt; PR29</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AxRA==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIyOQ==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP1E -&gt; PR30</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AxRQ==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIzMA==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP1F -&gt; PR31</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AxRg==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIzMQ==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP20 -&gt; PR32</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyMA==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIzMg==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP21 -&gt; PR33</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyMQ==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIzMw==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP22 -&gt; PR34</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyMg==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIzNA==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP23 -&gt; PR35</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyMw==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIzNQ==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP24 -&gt; PR36</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyNA==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIzNg==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP25 -&gt; PR37</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyNQ==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIzNw==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP26 -&gt; PR38</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyNg==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIzOA==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP27 -&gt; PR39</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyNw==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFIzOQ==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP28 -&gt; PR40</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyOA==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFI0MA==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP29 -&gt; PR41</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyOQ==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFI0MQ==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP2A -&gt; PR42</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyQQ==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFI0Mg==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP2B -&gt; PR43</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyQg==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFI0Mw==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP2C -&gt; PR44</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyQw==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFI0NA==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP2D -&gt; PR45</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyRA==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFI0NQ==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP2E -&gt; PR46</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyRQ==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFI0Ng==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP2F -&gt; PR47</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AyRg==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFI0Nw==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP30 -&gt; PR48</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AzMA==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFI0OA==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP31 -&gt; PR49</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AzMQ==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFI0OQ==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP32 -&gt; PR50</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AzMg==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFI1MA==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP33 -&gt; PR51</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AzMw==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFI1MQ==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP34 -&gt; PR52</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AzNA==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFI1Mg==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP35 -&gt; PR53</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AzNQ==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFI1Mw==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP36 -&gt; PR54</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AzNg==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFI1NA==
                   </data>
               </dict>
               <dict>
                   <key>Comment</key>
                   <string>CP37 -&gt; PR55</string>
                   <key>Disabled</key>
                   <false/>
                   <key>Find</key>
                   <data>
                   Q1AzNw==
                   </data>
                   <key>Replace</key>
                   <data>
                   UFI1NQ==
                   </data>
               </dict>

Captura de pantalla 2018-08-23 a la(s) 10.16.32 p. m..png
 
Last edited:
  • Like
Reactions: 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
For those who have the Asus X299 Prime Deluxe:

Has anyone ever gotten the built-in wireless to work? I understand the built-in bluetooth works, but without wifi, it's not terribly useful, given you often end up purchasing a combo card that almost always has both wifi and bluetooth.

Seems a shame that it goes to waste, but I've seen little that indicates anyone has gotten it working.
Apparently there is no way to make the ASUS Prime X299 Deluxe onboard WIFI work under macOS..
 
Joined
Dec 7, 2017
Messages
133
Motherboard
MSI H81M-P33
CPU
i5-4670
Graphics
GTX 750
Mobile Phone
Android
@ kgp:
Your "personal details" and "build signature" sections still list "Graphics: GTX 1080 TI-X".
Didn't you switch to: now using an AMD video card?
 
Joined
Jan 26, 2018
Messages
915
Motherboard
ASRock X299 Professional Gaming XE
CPU
i9-7980xe
Graphics
Vega
Mac
Mac Pro
Mobile Phone
Android
Has anyone ever gotten the built-in wireless to work? I understand the built-in bluetooth works, but without wifi, it's not terribly useful, given you often end up purchasing a combo card that almost always has both wifi and bluetooth.
No one got the intel wifi to work, and no one will unless Apple release the drivers. Unlike the Ethernet drivers, Apple has never published the source code nor released docs on how to make a wifi driver.
 

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
@ kgp:
Your "personal details" and "build signature" sections still list "Graphics: GTX 1080 TI-X".
Didn't you switch to: now using an AMD video card?
Thanks for the reminder :lol:;)..
 
Joined
Jan 26, 2018
Messages
915
Motherboard
ASRock X299 Professional Gaming XE
CPU
i9-7980xe
Graphics
Vega
Mac
Mac Pro
Mobile Phone
Android
If you do get these antennas (theres others but this one was Gigabyte so I went with it) make sure the antenna cables don't touch other cables or are near other cables like USB3.0 or power cables in the rear.
Ok, I made a massive improvement to the quality of BT, and my BT headset works perfectly well now.

I played with the antennas, attempting to determine which one was used for BT.
The BCM943602CS has 3 connectors: J0, J1 and J2. J1 serves for 2.4GHz (both wifi and BT).
I connected the original antenna cable of the motherboard to the J1 connector, connecting the original 6dBi gain antenna to it. BT works great now, no interruption of any kind and distance isn't too bad either, it's perfectly fine over 5m away.

I'm guessing that with the wifi/bt card in the connector which has shielding and the super small antenna cable (less than 5cm long), also shielded (as within the metal enclosure) was enough to make it work.
When using the 30cm cables (to go from the wifi card to the OSXWifi plate with the antenna) introduced too much noise.

The motherboard only has two SMA connector though, so I still need to add another antenna, but that one is only for wifi anyway...
 
Joined
Jan 27, 2018
Messages
55
Motherboard
ASUS x299 Deluxe
CPU
i9-7940x
Graphics
Vega 64
Mac
iMac, MacBook Pro
Concerning the Logic Pro multithreading topic:

If I understand correctly, the current BIOS 1401 as uploaded by @kgp is not patched, since this is not needed anymore with unlocked MSR registers.
What is needed is implementing the TSCAdjustReset.kext for the processor (in my case 7940x with 28 threads).

This should fix the multithreading issue in Logic Pro X, right?

Cause at the moment I'm using an RME interface which is renowned for its drivers and at 1024 samples of buffer size I'm getting a system overload warning when trying out the Logic File provided.

Could someone possibly provide some steps to troubleshoot this?

I have checked that SpeedShift is working correctly in accordance to Section E.1 of the guide.

Thank you in advance.
 
Last edited:
Status
Not open for further replies.
Top