Contribute
Register

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

Status
Not open for further replies.

kgp

Retired
Joined
May 30, 2014
Messages
6,783
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Mobile Phone
  1. iOS
Hey KGP, It's been a while since I'm busy working using my machine. I'm currently using 10.3.2 just fine, but noticed you updated to 10.3.3. Now I'm finding out about the new beta 10.3.4. I saw this link and wanted your thoughts about it:

http://appleinsider.com/articles/18...users-about-32-bit-softwares-impending-demise

Somebody might have shared something on here already about it and if they did, just let me know what post number it is and I'll go and read it. If not, then this might be something to talk about. I haven't looked into it much, but I hope it doesn't affect using apps like Photoshop, Illustrator, InDesign, Premier and like kind apps. Look forward to hearing your response, later...

PS - I see you reached 65,000+ on your GB score - GOOD FOR YOU! How'd you get there? Just curious.

My personal opinion to the topic addressed in the contribution you linked above is the following. As we passed already nearly a decade after introducing the first 64-bit systems, I think it is really time to start discarding 32-bit software for 64-bit systems. Apparently, 10.13.4 is just a first step towards this direction and still seems no to have any further major implications against running likely outdated 32-bit software on 64-bit systems, apart from a first simple warning that you are running 32-bit software instead of 64-bit software on a 64-bit system. I would rather interpret the latter in my opinion yet tiny novel implication as some clear signal of Apple towards all software developers. I just want to stress that all this is really my personal opinion and impression, which might be totally at odd with the opinion of other estimated users.

To your other question. After delidding my i9-7980XE and with my current water blocking system, I am successfully able to run the latter processor on my system @ 4.7GHz with "CPU Core Ratio" set to "Sync all Cores". All other related BIOS settings have been outlined just a few posts ago. However, I want to clearly advice against running the delidded i9-7980XE @ 4.8GHz, as occasionally intended during one of my benchmark runs. The latter might result in an exponential increase of the CPU Core Voltage and might result in a severe damage of either your CPU or mainboard. If at all, always increase the CPU Core Voltage stepwise and manually and take care that it never exceeds 1.25V by far. When running the CPU at @4.7GHz, a manual CPU Core Voltage of 1.22V seems sufficient. When applying OC, always carefully watch your CPU Temps! The CPU Temps might not only strongly depend on your water blocking implementation but also on the processor frequency and especially on the tightly related CPU Core Voltage implementation!

A good hacking and OC,

KGP
 
Last edited:
Joined
Jul 25, 2012
Messages
38
Motherboard
Asus Prime X299 Deluxe
CPU
I9 7900X
Graphics
MSI GeForce GTX 1080 SEA HAWK EK X
1.) AML "Compatible" field: in my understanding, the "Compatible" field provides information about the compatible OSX device/driver for the respective device. Many times the compatible OSX device/driver is also once more reflected under "device ID" or "IOName" (see e.g. again the OSXWIFI example). Usually it is the second entry in the "Compatible" field. Note that the "compatible" device implementation is also not always deemed necessary within each SSDT.aml device implementation. This mainly depends on the particular necessity of the "Compatible" device implementation for each PCI device, which can be simply experimentally confirmed by the successful PCI driver implementation.

2.) I already intended to outline, detail and describe the Apple device naming conventions and necessary ACPI replacements in Section E.9.1). If you feel that some variables are not adequately renamed or implemented, feel free to provide improvements or suggestions. Wherever possible, I also tried to account for the IOREG information of the iMac Pro dump provided by @TheOfficialGypsy. Deviations are e.g. the XHCI and ETH0 implementations, which are rather in line with the usual OSX variable naming conventions.

3.) A config.plist ACPI replacement is only possible, if the respective variable is exclusively used along one articular ACPI path implementation. SL01 or SL05 might be typical examples. The PXSX variable however is used along different device and ACPI path implementations. A PXSX config.plist ACPI replacement would rename all PXSX variables in the same way for all devices and along all ACPI path implementations. This is the last thing we want. Note that e.g. /PCI0/RP01/PXSX, /PCI0/RP05/PXSX, /PCI0/RP07/PXSX addressees and implements different XHC controllers. Thus to particularly rename /PCI0/RP01/PXSX to XHC2, /PCI0/RP05/PXSX to XHC3 and /PCI0/RP07/PXSX to XHC4, we have to directly implement and apply each PXSX variable replacement in the frame of the XHC2, XHC3 and XHC4 device implementation within the SSDT.aml instead of performing a general PXSX variable replacement in the config.plist, which would result in a global replacement of all PXSX variables to either XHC2, XHC3 or XHC4.

4.) The "AAPL,slot-name" device implementation is up to my knowledge indeed of purely cosmetic nature.

For know I could implement a link to your script in my guide with the clear message, that this script is able to provide some basic ACPI/PCI information for a user specific and particular hardware/system configuration, which however yet has to be manually implemented in the original SSDT-X299-iMacPro.aml. The information provided by the script might also be incomplete depending on the PCI device implementation. Thus, the proper SSDT-X299-iMacPro.aml device implementation still needs to be adopted/modified manually for each particular deviating hardware/system/slot configuration with the help of IOREG.

Let me know if this answers your questions and if the current resuming conclusion/idea would be in line with your personal endeavours/ideas.

Kind regards,

KGP
Thanks for the clarification. I think the script in its current state should provide at least rudimentary information to new users. Any enhancements to it I’ll start in a new branch. Any work with PXSX entries is going to be a bit complicated so it might take some time to parse these out of ioreg. Feel free to include it in your guide, I would just of course caution that the script is WIP and should be tested by others as it may not account for all use cases. Currently the script works fine on the Asus X299 Deluxe, I have no idea how it works on other boards.
 
Joined
Jul 21, 2011
Messages
154
Motherboard
MSI X299 Xpower Gaming AC
CPU
Intel Core i9-7980XE
Graphics
AMD RX Vega 64
Mac
  1. MacBook Air
  2. MacBook Pro
Classic Mac
  1. 128K
Mobile Phone
  1. iOS
Well I don't understand why you want to have FakeSMC in /L/E instead of /EFI/Clover/kexts/Other....

In any case, did you perform the following steps after installing FakeSMC in /L/E with admin permission?

Code:
sudo chmod -R 755 /Library/Extensions/FakeSMC.kext
sudo chown -R root:wheel /Library/Extensions/FakeSMC.kext
sudo touch /Library/Extensions && sudo kextcache -u /

@kgp - I did yeah.

For the FakeSMC with plugins, do I just install that into /EFI/Clover/kexts/Other where they're embedded inside the FakeSMC.kext? Or do I install the sensor plugins separately?
 

kgp

Retired
Joined
May 30, 2014
Messages
6,783
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Mobile Phone
  1. iOS
@kgp - I did yeah.

For the FakeSMC with plugins, do I just install that into /EFI/Clover/kexts/Other where they're embedded inside the FakeSMC.kext? Or do I install the sensor plugins separately?

Yes, you have to add the sensor kexts also to /EFI/Clover/kexts/Other. Note however, that up to my knowledge there is no FakeSMC.kext and HWSensor.kext distribution that is 100% compatible with Skylake-X/X299. Also the HWMonitor.app yet can cause severe problems. I just use iStat Menus instead.
 
Joined
Jul 21, 2011
Messages
154
Motherboard
MSI X299 Xpower Gaming AC
CPU
Intel Core i9-7980XE
Graphics
AMD RX Vega 64
Mac
  1. MacBook Air
  2. MacBook Pro
Classic Mac
  1. 128K
Mobile Phone
  1. iOS
Yes, you have to add the sensor kexts also to /EFI/Clover/kexts/Other. Note however, that up to my knowledge there is no FakeSMC.kext and HWSensor.kext distribution that is 100% compatible with Skylake-X/X299. Also the HWMonitor.app yet can cause severe problems. I just use iStat Menus instead.

@kgp: Ah. Thanks for that tip. :)

So, I can confirm that the MSI X299 Xpower Gaming AC works great with your build setup. All devices, power management, etc.

Can't seem to get all the USB ports on the rear working properly though. Some do, some don't.
 
Joined
Jul 21, 2011
Messages
154
Motherboard
MSI X299 Xpower Gaming AC
CPU
Intel Core i9-7980XE
Graphics
AMD RX Vega 64
Mac
  1. MacBook Air
  2. MacBook Pro
Classic Mac
  1. 128K
Mobile Phone
  1. iOS
@kgp: do you mind attaching the FakeSMC kext and sensors you're using?

Thank you!
 

kgp

Retired
Joined
May 30, 2014
Messages
6,783
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Mobile Phone
  1. iOS
@kgp: Ah. Thanks for that tip. :)

So, I can confirm that the MSI X299 Xpower Gaming AC works great with your build setup. All devices, power management, etc.

Can't seem to get all the USB ports on the rear working properly though. Some do, some don't.

Nice, thanks for the confirmation, which might be also interesting for other users :thumbup:

Are we talking about 10.13.3 (17D2047)?

Do you use the correct USB port limit patch?

Are we talking about a malfunction of some XHC USB2.0 and USB3.0 ports or about a malfunction of some USB3.1 Type-A and Type-C ports on different controllers?

Are you using any USB ACPI replacements?

Do you use some appropriate adaptation of the SSDT-X299-iMacPro.aml? If so, are all USB related PCI drivers properly implemented in section "PCI" of Apple's system report?

Cheers, man!

KGP
 

kgp

Retired
Joined
May 30, 2014
Messages
6,783
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Mobile Phone
  1. iOS
Joined
Jul 21, 2011
Messages
154
Motherboard
MSI X299 Xpower Gaming AC
CPU
Intel Core i9-7980XE
Graphics
AMD RX Vega 64
Mac
  1. MacBook Air
  2. MacBook Pro
Classic Mac
  1. 128K
Mobile Phone
  1. iOS
@kgp -

Yep! 10.13.3 (17D2047).

I did enable the port limit patch.
I believe XHC USB2.0 and USB.3.0.

I haven't tried any USB ACPI replacements, etc.
I just basically used your SSDT amls the way you set them up to see if the system would work at all—and it did!

What's working:
Intel dual LAN (same as your Asus X299 Prime Deluxe)
Bluetooth
All SATA
Full power management
Audio

Thanks again!

/ gx
 
Joined
Jul 21, 2011
Messages
154
Motherboard
MSI X299 Xpower Gaming AC
CPU
Intel Core i9-7980XE
Graphics
AMD RX Vega 64
Mac
  1. MacBook Air
  2. MacBook Pro
Classic Mac
  1. 128K
Mobile Phone
  1. iOS
@kgp -

Here's my rear I/O layout.
The stack of 4 USB ports some work some don't. Sam with the other ports under the LAN ports.

Screen Shot 2018-02-12 at 9.34.57 AM.png
 
Status
Not open for further replies.
Top