Contribute
Register

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

Status
Not open for further replies.
No, I'm using a Gigabyte Alpine Ridge rev.2 on Z370 chipset and the device is 15d3 (which corresponds to Intel JHL6540, the same as iMac Pro) with address 07:00.00.
Also I do not understand why the hotplug works only with the PCI-Thunderbolt One method on DSB1.
I was wrong/neglected something maybe?
View attachment 327348

address 07:00:00?

BTW.. are you sure that the TB SSDT implementation for the TBEX 3 with 1x TB port is also valid for the Alpine Ridge with 2x TB ports?
 
Last edited:
address 07:00:00?

These are my devices in the bootlog, am I using the wrong address?
Code:
0:103  0:000  PCI (00|00:00.00) : 8086 3EC2 class=060000
0:103  0:000  PCI (00|00:01.00) : 8086 1901 class=060400
0:103  0:000  PCI (00|01:00.00) : 10DE 13C2 class=030000
0:103  0:000   - GFX: Model=Asus GeForce GTX 970 family 124 (Nvidia)
0:103  0:000  PCI (00|01:00.01) : 10DE 0FBB class=040300
0:103  0:000   - HDMI Audio:
0:103  0:000  PCI (00|00:08.00) : 8086 1911 class=088000
0:103  0:000  PCI (00|00:14.00) : 8086 A2AF class=0C0330
0:103  0:000  PCI (00|00:16.00) : 8086 A2BA class=078000
0:103  0:000  PCI (00|00:17.00) : 8086 A282 class=010601
0:103  0:000  PCI (00|00:1B.00) : 8086 A2E7 class=060400
0:103  0:000  PCI (00|00:1B.02) : 8086 A2E9 class=060400
0:103  0:000  PCI (00|03:00.00) : 1B21 2142 class=0C0330
0:103  0:000  PCI (00|00:1B.04) : 8086 A2EB class=060400
0:103  0:000  PCI (00|00:1C.00) : 8086 A290 class=060400
0:103  0:000  PCI (00|00:1C.02) : 8086 A292 class=060400
0:103  0:000  PCI (00|00:1C.04) : 8086 A294 class=060400
0:103  0:000  PCI (00|07:00.00) : 8086 15D3 class=060400
0:103  0:000  PCI (00|08:00.00) : 8086 15D3 class=060400
0:103  0:000  PCI (00|09:00.00) : 8086 15D2 class=088000
0:103  0:000  PCI (00|08:01.00) : 8086 15D3 class=060400
0:103  0:000  PCI (00|0A:00.00) : 8086 156D class=060400
0:103  0:000  PCI (00|0B:03.00) : 8086 156D class=060400
0:103  0:000  PCI (00|0C:00.00) : 1A00 0002 class=048000
0:103  0:000  PCI (00|0B:04.00) : 8086 156D class=060400
0:103  0:000  PCI (00|0B:05.00) : 8086 156D class=060400
0:103  0:000  PCI (00|0E:00.00) : 8086 1549 class=060400
0:103  0:000  PCI (00|0F:00.00) : 8086 1549 class=060400
0:104  0:000  PCI (00|10:00.00) : 1A00 0002 class=048000
0:104  0:000  PCI (00|0F:01.00) : 8086 1549 class=060400
0:104  0:000  PCI (00|08:02.00) : 8086 15D3 class=060400
0:104  0:000  PCI (00|3D:00.00) : 8086 15D4 class=0C0330
0:104  0:000  PCI (00|08:04.00) : 8086 15D3 class=060400
0:104  0:000  PCI (00|00:1C.05) : 8086 A295 class=060400
0:104  0:000  PCI (00|00:1C.06) : 8086 A296 class=060400
0:104  0:000  PCI (00|00:1C.07) : 8086 A297 class=060400
0:104  0:000  PCI (00|74:00.00) : 14E4 43BA class=028000
0:104  0:000   - WIFI: Vendor=Broadcom
0:104  0:000  PCI (00|00:1D.00) : 8086 A298 class=060400
0:104  0:000  PCI (00|00:1F.00) : 8086 A2C9 class=060100
0:104  0:000  PCI (00|00:1F.02) : 8086 A2A1 class=058000
0:104  0:000  PCI (00|00:1F.03) : 8086 A2F0 class=040300
0:104  0:000  PCI (00|00:1F.04) : 8086 A2A3 class=0C0500
0:104  0:000  PCI (00|00:1F.06) : 8086 15B8 class=020000
 

Attachments

  • bootlog.log.txt
    24.7 KB · Views: 173
These are my devices in the bootlog, am I using the wrong address?
Code:
0:103  0:000  PCI (00|00:00.00) : 8086 3EC2 class=060000
0:103  0:000  PCI (00|00:01.00) : 8086 1901 class=060400
0:103  0:000  PCI (00|01:00.00) : 10DE 13C2 class=030000
0:103  0:000   - GFX: Model=Asus GeForce GTX 970 family 124 (Nvidia)
0:103  0:000  PCI (00|01:00.01) : 10DE 0FBB class=040300
0:103  0:000   - HDMI Audio:
0:103  0:000  PCI (00|00:08.00) : 8086 1911 class=088000
0:103  0:000  PCI (00|00:14.00) : 8086 A2AF class=0C0330
0:103  0:000  PCI (00|00:16.00) : 8086 A2BA class=078000
0:103  0:000  PCI (00|00:17.00) : 8086 A282 class=010601
0:103  0:000  PCI (00|00:1B.00) : 8086 A2E7 class=060400
0:103  0:000  PCI (00|00:1B.02) : 8086 A2E9 class=060400
0:103  0:000  PCI (00|03:00.00) : 1B21 2142 class=0C0330
0:103  0:000  PCI (00|00:1B.04) : 8086 A2EB class=060400
0:103  0:000  PCI (00|00:1C.00) : 8086 A290 class=060400
0:103  0:000  PCI (00|00:1C.02) : 8086 A292 class=060400
0:103  0:000  PCI (00|00:1C.04) : 8086 A294 class=060400
0:103  0:000  PCI (00|07:00.00) : 8086 15D3 class=060400
0:103  0:000  PCI (00|08:00.00) : 8086 15D3 class=060400
0:103  0:000  PCI (00|09:00.00) : 8086 15D2 class=088000
0:103  0:000  PCI (00|08:01.00) : 8086 15D3 class=060400
0:103  0:000  PCI (00|0A:00.00) : 8086 156D class=060400
0:103  0:000  PCI (00|0B:03.00) : 8086 156D class=060400
0:103  0:000  PCI (00|0C:00.00) : 1A00 0002 class=048000
0:103  0:000  PCI (00|0B:04.00) : 8086 156D class=060400
0:103  0:000  PCI (00|0B:05.00) : 8086 156D class=060400
0:103  0:000  PCI (00|0E:00.00) : 8086 1549 class=060400
0:103  0:000  PCI (00|0F:00.00) : 8086 1549 class=060400
0:104  0:000  PCI (00|10:00.00) : 1A00 0002 class=048000
0:104  0:000  PCI (00|0F:01.00) : 8086 1549 class=060400
0:104  0:000  PCI (00|08:02.00) : 8086 15D3 class=060400
0:104  0:000  PCI (00|3D:00.00) : 8086 15D4 class=0C0330
0:104  0:000  PCI (00|08:04.00) : 8086 15D3 class=060400
0:104  0:000  PCI (00|00:1C.05) : 8086 A295 class=060400
0:104  0:000  PCI (00|00:1C.06) : 8086 A296 class=060400
0:104  0:000  PCI (00|00:1C.07) : 8086 A297 class=060400
0:104  0:000  PCI (00|74:00.00) : 14E4 43BA class=028000
0:104  0:000   - WIFI: Vendor=Broadcom
0:104  0:000  PCI (00|00:1D.00) : 8086 A298 class=060400
0:104  0:000  PCI (00|00:1F.00) : 8086 A2C9 class=060100
0:104  0:000  PCI (00|00:1F.02) : 8086 A2A1 class=058000
0:104  0:000  PCI (00|00:1F.03) : 8086 A2F0 class=040300
0:104  0:000  PCI (00|00:1F.04) : 8086 A2A3 class=0C0500
0:104  0:000  PCI (00|00:1F.06) : 8086 15B8 class=020000

Looks fine.. did you see the edit in my previous reply? Why don't you try to use the original TB SSDT implementation from Mork vom Ork for the Alpine Ridge: 323540-thunderbolt-drivers?
 
Last edited:
So, I have the OWC dock station TB3 (https://www.owcdigital.com/products/thunderbolt-3-dock).
But, when I'm using the Yhunderbolt display (TB2) with adapter for (TB3) and connect it to the docking station,
all other ports (USB/ SD card reader/ audio interface) are dropped and disconnect.

Any idea how can I resolved that issue ?
 
Is anyone having problems with random freezing ? It’s almost like a guessing game of which apps to avoid for fear of a system freeze.
 
BTW.. are you sure that the TB SSDT implementation for the TBEX 3 with 1x TB port is also valid for the Alpine Ridge with 2x TB ports?
I also obtained similar results with an SSDT created specifically for me, based on the information gathered by an SSDT of an original iMac18.3 (basically very similar to my original ACPI paths): Download

This is what I created: SSDT-TB3

However I have noticed that apple uses many variables. Could this be the reason why the hotplug does not work on multiple devices?

EDIT:
Why don't you try to use the original TB SSDT implementation from Mork vom Ork for the Alpine Ridge: 323540-thunderbolt-drivers?
Tried, it seems like the methods like this:
Code:
Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (OSDW ())
                {
                    If (Arg0 == ToUUID ("a0b5b7c6-1318-441c-b0c9-fe695eaf949b"))
                    {
                        Local0 = Package (0x02)
                            {
                                "PCI-Thunderbolt",
                                One
                            }
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }

                Return (Zero)
            }
they do not work properly, as in the SSDT I created based on a real iMac18.3. Unfortunately this goes beyond my skills...
 

Attachments

  • SSDT- Original iMac18,3 Thunderbolt.dsl
    143 KB · Views: 139
  • SSDT-TB3.aml.zip
    2 KB · Views: 78
Last edited:
You know guys, while this thread is fantastic, I think we need to pull together some cohesion as far as a solid and fully functional build goes. @kgp have you thought about creating a much less moderated thread that's effectively just a hardware spec list that fully works with certain steps? There's a lot of variations going on here and questions about these variations, and that's really great that you're really digging in and helping so many folks... yet some of us would like a solid 100% workable and REPRODUCIBLE build thread that just stays focused and anyone else that wants to tweak it out can come to this or another thread...
 
You know guys, while this thread is fantastic, I think we need to pull together some cohesion as far as a solid and fully functional build goes. @kgp have you thought about creating a much less moderated thread that's effectively just a hardware spec list that fully works with certain steps? There's a lot of variations going on here and questions about these variations, and that's really great that you're really digging in and helping so many folks... yet some of us would like a solid 100% workable and REPRODUCIBLE build thread that just stays focused and anyone else that wants to tweak it out can come to this or another thread...

Just follow in 100% my guide and hardware configuration and you will have a 100% workable and reproduceable build. ;)

BTW.. please add your Skylake-X/X299 system specs (mobo, cpu, gpu) to either your profile or signature.

Thanks in advance.
 
@kgp, could you help me, please?
I’m assembling a very similar computer to that kgp explains on the first post of this thread. The only differences are:

Corsaire Vengeance LPX DDR4 2666 MHz 128 GB [CMK128GX4M8A2666C16] instead of Tridentz DDR-4 3200 Mhz 128 GB [F4-3200C14Q2-128GTZSW];

2 x Samsung 960 PRO NVMe M.2 1TB [MZ-V6P1T0BW] instead of 2 x Samsung 960 EVO NVMe M.2 1TB [MZ-V6E1T0BW];

NVIDIA (PNY) Quadro P4000 instead of AORUS GeForce® GTX 1080 Ti Waterforce WB Xtreme Edition 11G.

I think the first two differences are negligible.

For now I’m trying to setup the BIOS configuration: all changes went OK, except “Launch CSM: Disabled”. With this option the BIOS don’t recognize the VGA and beeps three times with no image on monitor. Is this option mandatory for a successful macOS High Sierra installation? Thank you!
 
Status
Not open for further replies.
Back
Top