Contribute
Register

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

Status
Not open for further replies.
Joined
Sep 4, 2010
Messages
81
Motherboard
ASUS X299 WS SAGE
CPU
INTEL CORE I9 7940X
Graphics
EVGA GTX 1080 Ti
Mac
MacBook Pro
Mobile Phone
Android
The CP-PR replacements for i9-7940X:
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>CP0C -&gt; PR12</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwQw==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxMg==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP0D -&gt; PR13</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwRA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxMw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP0E -&gt; PR28</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwRQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyOA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP0F -&gt; PR29</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AwRg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyOQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP10 -&gt; PR14</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxMA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxNA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP11 -&gt; PR15</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxMQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxNQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP12 -&gt; PR16</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxMg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxNg==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP13 -&gt; PR17</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxMw==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxNw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP14 -&gt; PR18</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxNA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxOA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP15 -&gt; PR19</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxNQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIxOQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP16 -&gt; PR20</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxNg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyMA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP17 -&gt; PR21</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxNw==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyMQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP18 -&gt; PR22</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxOA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyMg==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP19 -&gt; PR23</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxOQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyMw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP1A -&gt; PR24</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxQQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyNA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP1B -&gt; PR25</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxQg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyNQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP1C -&gt; PR26</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxQw==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyNg==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP1D -&gt; PR27</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AxRA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIyNw==
                    </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; PR46</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyNg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0Ng==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP27 -&gt; PR47</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyNw==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0Nw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP28 -&gt; PR48</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyOA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0OA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP29 -&gt; PR49</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyOQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0OQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP2A -&gt; PR38</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyQQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIzOA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP2B -&gt; PR39</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyQg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFIzOQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP2C -&gt; PR40</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyQw==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0MA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP2D -&gt; PR41</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyRA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0MQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP2E -&gt; PR42</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyRQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0Mg==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP2F -&gt; PR43</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AyRg==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0Mw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP30 -&gt; PR44</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AzMA==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0NA==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>CP31 -&gt; PR45</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    Q1AzMQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    UFI0NQ==
                    </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>
IOreg screenshot:
Can you please tell me how I can implement this for my 7940X?
 

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
Back to work ;)...

Apparently, we are still missing a i9-7920X code snipped for respective CPxx->PRxx ACPI replacements.

Anybody with a i9-7920X willing to contribute?

Thanks in advance,

KGP
 
Joined
Jun 13, 2018
Messages
369
Motherboard
Prime X299-A
CPU
i9-9980XE
Graphics
Radeon VII
Mac
iMac, MacBook Pro
Classic Mac
iMac, Power Mac
Mobile Phone
Android, iOS
Back to work ;)...

Apparently, we are still missing a i9-7920X code snipped for respective CPxx->PRxx ACPI replacements.

Anybody with a i9-7920X willing to contribute?

Thanks in advance,

KGP
Can you please explain me the purpose of these ACPI replacements for CPUs? Thanks.
 
Joined
Sep 23, 2012
Messages
1
Motherboard
GA-X299-UD4
CPU
i9-7920X
Graphics
8GB Quadro P4000
Mac
iMac
Back to work ;)...

Apparently, we are still missing a i9-7920X code snipped for respective CPxx->PRxx ACPI replacements.

Anybody with a i9-7920X willing to contribute?

Thanks in advance,

KGP
My machine has this CPU in question on a Gigabyte X299 UD4 (built April 2018)

10.13.6_17G65.png


But I don't know how to create such a snippet.

* should it be a terminal command line like ioreg -option -option > CPU_ACPI.info ??
* on the other hand: latest Xcode for 10.13 is installed...

That is because I didn't all these elaborated things described here in this thread.
And above all I didn't any ACPI replacement & nor even by hand.
So, these snippet values (if I would be able to generate them) are probably not useful for you?

Despite of that this machine does it very well in my opinion:

geekbench.png

opencl.png


However: It would be nice if I can help you...
 
Last edited:
  • Like
Reactions: kgp
Joined
May 23, 2018
Messages
5
Motherboard
Gigabyte x299 Ultra Gaming
CPU
i9 7900x
Graphics
GTX 1080
Sorry.. I am on holidays.. cannot look to it before Wednesday next week..
Hi again @kgp, Just following up. I still am stuck at productbuild --distribution ./091-94326/091-94326.English.dist --package-path ./091-94326/ installer.pkg. Am i missing some step possibly? thanks!
 

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
New EFI-Folder distribution attached to originating post of this thread (guide)

EFI-Folder related changes:
  • Implementation of Clover_v2.4k_r4657
  • Adding AptioInputFix-64.efi, AppleImageLoader-64.efi and AppleUISupport-64.efi
Enjoy and have fun,

kgp.png
 

Attachments

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
Hi again @kgp, Just following up. I still am stuck at productbuild --distribution ./091-94326/091-94326.English.dist --package-path ./091-94326/ installer.pkg. Am i missing some step possibly? thanks!
One simple and stupid question? :rolleyes:

Did you change back to desktop in the terminal before executing the "productbuild" command? o_O

Note the "cd .." above "productbuild --distribution ./091-94326/091-94326.English.dist --package-path ./091-94326/ installer.pkg" !!!!!

Just verified once more the entire procedure and it works 100%!
 
Joined
Jan 26, 2018
Messages
916
Motherboard
ASRock X299 Professional Gaming XE
CPU
i9-7980xe
Graphics
Vega
Mac
Mac Pro
Mobile Phone
Android
@izo1 Did you try the airport card with a BCM94360CD , the one that has 4 antenna connectors?
Seems that on this card the J3 connector is dedicated to BT

The newer BCM943602CS has only 3, and while I read that BT radio is shared with the wifi one, Im starting to wonder if that is really the case, or does that card use a built-in antenna like a lot of BT chipset...
That would explain why range sucks so bad when used inside a PC case.
 
Status
Not open for further replies.
Top