Contribute
Register

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

Status
Not open for further replies.
Joined
Feb 5, 2013
Messages
1,054
Motherboard
Asus X299 WS Sage
CPU
i9-7980XE
Graphics
Radeon VII
Mac
iMac, Mac Pro
So, I don't want to go too off topic, but one more thought ss it relates to the Synology "clone", @pastrychef has discussed his (yes, he's built one) over on the 10G Ethernet thread: https://www.tonymacx86.com/threads/high-sierra-native-support-for-10gb-ethernet.239690/, discussion starts around Post #100. The speed you get relates to what you put into your "clone", the motherboard and processor, the speed of the drives, the Ethernet card you use, etc. He has several threads on this board and is pretty responsive, so perhaps you can dialogue with him.

And also, thanks for sharing your 7940x EFI! Greatly appreciated!
Hey, @4min, in reviewing your EFI for the 7940x, am I correct that when you changed PR0-PR27 core values, you did that in config.plist?
 

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, @4min, in reviewing your EFI for the 7940x, am I correct that when you changed PR0-PR27 core values, you did that in config.plist?
Yes.. simple ACPI replacements.. 56 in total ;)
 
Joined
Feb 5, 2013
Messages
1,054
Motherboard
Asus X299 WS Sage
CPU
i9-7980XE
Graphics
Radeon VII
Mac
iMac, Mac Pro
Yes.. simple ACPI replacements.. 56 in total ;)
Okay, I hate to show my ignorance, but I'm not a programmer, so I don't fully understand how you get those numbers. First of all, do you need to boot the system with those entries that relate to the cpu assignments in config.plist turned off, then search the values in IOReg?

And secondly, based on your very first post, here's an example I don't understand:

Comment: Find*[Hex] Replace [Hex]
CP00 -> PR00 43503030 50523030

Based on the jpg posted, where does those numbers come from? The graphic you post is AFTER implementing the new values, isn't it? How do you determine where 43503030 comes from? How is it derived? And where does the 50523030 come from? How is it derived? I see some cryptic hex numbers, but nothing that would relate to 43503030 or 50523030. What am I missing?

My apologies for my not understanding......
 
Joined
Aug 24, 2013
Messages
30
Motherboard
ASUS X299 PRIME DELUXE
CPU
i7-7820X
Graphics
ZOTAC GTX1080 AMP Extreme 8GB
Mac
MacBook Pro
Hi guys, when I wake my computer from sleep I notice that every USB device connected has been ejected then reconnected.
If I connect my iPad to any rear USB 2/3 port it charges nicely at 2.1A and continues to do so during sleep, which is great.
However when I wake from sleep, I can see in IOReg all USB devices were disconnected.

I have read somewhere to disable XMP, I have tried that with no luck.
I have also tried with and without KGP's USB kext, no luck either.
I have tried various darkwake values with no luck

When I connect a USB HDD or USB flash drive to the iMac Pro, there is no disconnection after sleep.

Does anyone have any solution? I've been experimenting and just can't figure it out.
Does anyone experience this too?
Hi @TheOfficialGypsy,
did you find a solution for this problem meanwhile?

Testing a lot here but still no luck.
Found your rather old posting...
 

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
Okay, I hate to show my ignorance, but I'm not a programmer, so I don't fully understand how you get those numbers. First of all, do you need to boot the system with those entries that relate to the cpu assignments in config.plist turned off, then search the values in IOReg?

And secondly, based on your very first post, here's an example I don't understand:

Comment: Find*[Hex] Replace [Hex]
CP00 -> PR00 43503030 50523030

Based on the jpg posted, where does those numbers come from? The graphic you post is AFTER implementing the new values, isn't it? How do you determine where 43503030 comes from? How is it derived? And where does the 50523030 come from? How is it derived? I see some cryptic hex numbers, but nothing that would relate to 43503030 or 50523030. What am I missing?

My apologies for my not understanding......
43503030 is simply the Hex equivalent of Text CP00 (find) and 50523030 is simply the Hex equivalent of Text PR00 (replace)

In Clover Configurator you find a Text to Hex converter:

Screen Shot 2018-08-14 at 21.10.55.png


Well, now...

All you do is inspecting your initial IOREG CPxx thread distribution

With the ACPI replacement you will assign CPxx@0 to PR00, CPxx@1 to PR01, etc..

All CPxx@y must be assigned at first place, as populated.. "y" stays for the populated thread number and ranges for a 10 core CPU from 0 to 19..

Then you assign all remaining unpopulated CPxx again in chronological order to PRzz.. where zz strictly chronologically ranges from 00 to 55..

That's all ..Clear enough? ;)
 
Last edited:
Joined
Feb 5, 2013
Messages
1,054
Motherboard
Asus X299 WS Sage
CPU
i9-7980XE
Graphics
Radeon VII
Mac
iMac, Mac Pro
43503030 is simply the Hex equivalent of Text CP00 (find) and 50523030 is simply the Hex equivalent of Text PR00 (replace)

In Clover Configurator you find a Text to Hex converter:

View attachment 346241

Well, now...

All you do is inspecting your initial IOREG CPxx thread distribution

With the ACPI replacement you will assign CPxx@0 to PR00, CPxx@1 to PR01, etc..

All CPxx@y must be assigned at first place, as populated.. "y" stays for the populated thread number and ranges for a 10 core CPU from 0 to 19..

Then you assign all remaining unpopulated CPxx again in chronological order to PRzz.. where zz strictly chronologically ranges from 00 to 55..

That's all ..Clear enough? ;)
As usual, you are the star.....:headbang:.......Thanks so much!
 
  • Like
Reactions: kgp
Joined
Jun 2, 2018
Messages
25
Motherboard
Asus Prime X299 Deluxe
CPU
i9-7940X
Graphics
RX Vega 64
Mac
MacBook Pro
Mobile Phone
Android
FYI: Samsung 970 Pro 1TB SSD (+ Asus x299 Deluxe) benchmark results:

Samsung 970 Pro 1TB.png
 
  • Like
Reactions: kgp
Joined
Aug 4, 2018
Messages
47
Motherboard
ASUS Prime X299 Deluxe
CPU
i9-7940X
Graphics
GTX 1070 + GTX 1080 + RX 580
Attached is a simple script I wrote to perform CP-PR replacements in a source config.plist

As a bonus it also generates SmUUID for you.

It already has pre-generated configs in /build folder

It uses Jinja2 templating engine and can be easily extended to support more variables / files.

What's needed:
- XML CP-PR values for these CPUs: 7640X, 7740X, 7800X, 7920X
- Some QA please
- Feedback / feature requests :)

upload_2018-8-14_15-37-49.png
 

Attachments

Last edited:
Joined
Aug 4, 2018
Messages
47
Motherboard
ASUS Prime X299 Deluxe
CPU
i9-7940X
Graphics
GTX 1070 + GTX 1080 + RX 580
I would love to get a version for the 7960x! I tried to do it myself but it gets a bit out of order as I went down the line based on the 7980x - this led to it not booting so I just left them blank.
Sorry for the delay, please see my announcement in post #9888

7960X config as well as source XML replacement values are included in the release
 

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
Attached is a simple script I wrote to perform CP-PR replacements in a source config.plist

As a bonus it also generates SmUUID for you.

It already has pre-generated configs in /build folder

It uses Jinja2 templating engine and can be easily extended to support more variables / files.

What's needed:
- XML CP-PR values for these CPUs: 7640X, 7740X, 7800X, 7920X
- Some QA please
- Feedback / feature requests :)

View attachment 346267
Valuable work, man :thumbup:

But.. now we have a config.plist containing all CPxx->PRxx replacements but unfortunately nothing else... :p

Thus.. how we get now the CPxx->PRxx replacements to the system config.plist of my EFI-Folder distribution? :rolleyes:

With a text editor and a copy & paste of the CPxx->PRxx replacements snippet? :p

Your program should to the following:

1.) Automatically mount the correct EFI-partition (which will be already a problem when using APFS file format)
2.) Make a backup of the original config.plist to config.bak
3.) Check for already persistent CPxx->PRxx replacements and remove them if present
4.) Check if there are other ACPI replacements and add the new CPxx->PRxx replacements at the end
5.) Save the modified config.plist and unmount the EFI-partition

Guess there is some work left, right?

Can you provide in the meanwhile a text code snippet with the CPxx->PRxx replacements for the i9-7940X together with a screenshot of the new IOREG PRxx CPU thread distribution?
 

Attachments

Last edited:
Status
Not open for further replies.
Top