Contribute
Register

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

Status
Not open for further replies.
I finally got the TB3 card working with my Caldigit T4 drive and replaced my counterfeit apple wifi card with a real one that works. While getting 10.13.3 running, I've experienced several random black screens during boot and waking up. I'm not sure if a KP happened since the screen is black. It doesn't happen consistently. It'll happen about once out of every 5 boots/wake up. Most of the time the machine will wake up/boot no problem. Anyone have any suggestions on where to start looking to troubleshoot?

System Specs:
i9 7900x @4.8Ghz
Asus Prime X299 Deluxe mobo w/patched bios
1tb Samsung 960 Evo NVME (windows 10)
500gb Samsung SM951 NVME (macOS 10.13.3)
Evga ftw3 1080ti
OSXWifi card
Areca 1882 raid card
Asus Thunderbolt 3 card

OS: 10.13.3
Nvidia Web Driver: 106
All DSDT patches applied.

Haven't implemented SSDT-X299-iMacPro.aml yet.

Thanks!

When facing a black screen during boot, a KP can be exclude due to error prevention C.11).

To clearly get kernel panic images with a call trace in case of kernel panics, I implemented (checked) boot flags "debug=0x100" and "keepsyms=1" in the config.plist off the distributed EFI-Folder Section "Boot" of Clover Configurator under "Arguments".

To see if the black screen an wake is due to a KP, try to remotely access your system. If you system is still responsive, the black screen also can be reduced to your graphics configuration. Do you use Shiki.kext? If so, remove it. Do you use the sensor kexts of @interferenc? If so, remove the GPUSensor.kext.

Did you adopt the ACPI patches where necessary before implementing? You might also want to try to adopt and subsequently implemented the SSDT-X299-iMacPro.aml. It might help with your wake issues..

Else, it is difficult to further investigate or further comment on your problem, as your bug report is very tight. A detailed description of your system configuration is missing. I just see that you run the i9 7900x @4.8Ghz, which is max. OC with the latter processor... No idea if your problems are related with this latter fact..

In any case, happy bug fixing.. :thumbup:

KGP
 
Last edited:
Here's a benchmark of the same drive plugged in via sata. That's what I see on any of my other systems as well. The benchmark on this board is consistent with my other systems including real macs. I just wanted to let you know for your first page build and testing that the USB ports themselves are much faster than you're reporting, it's limited by the drives you're plugging in and not the usb port itself. It had me a bit concerned at first spending a considerable amount of money and knowing that all my other builds the ports are much faster. I figured it was due to only testing with the Lacie Rugged, which I'm familiar with their speed, and while decent, it's not like what you will get with a g-raid or faster which I regularly work with.

True, if I properly remember, I also clearly state that the USB benchmarks depend on the USB Drive used for the Blackmagic benchmark. I just do have the LaCie HDD.. It is obvious that the USB transfer rates will be higher when using a SSD..

Thanks for the remark..

KGP
 
Hi

I am having issues with the thunderbolt configuration on my hackintosh build.

I have:
ASUS Prime X299 Deluxe motherboard,
Intel i9-7900X CPU
EVGA Geforce GTX 1080 Ti graphics card
OSX wifi adapter w/ bluetooth
ASUS ThunderboltEX 3 card
512GB NVMe M.2 SSD
64GB DDR4 RAM

The slots are populated as follows:

PCI slot 1: graphics card
PCI slot 4: ThunderboltEX 3 card
PCI slot 5: OSX wifi adapter

I am having problems with: E.9.2) SSDT-X299-iMacPro.aml PCI Implementation

The first screenshot in that shows what the PCI section in "System Information" should look like when this section has been implemented. Mine doesn't look any like that.

Here is a screenshot of what my PCI section looks like:
"Screen Shot 2018-02-23 at 14.37.14.png"

Given that I have the SAME motherboard and thunderbolt card as the ones in this guide, I should have had the same results.

I have also attached screenshots of IORegistryExplorer before and after DSDT Patches have been enabled. The screenshots show the path for the thunderbolt card.

FYI: I know the card basically works because the PCI section in "System Information" shows that the driver is installed. Also I have plugged in a "Apple thunderbolt to gigabit ethernet adapter" into a "Apple thunderbolt 3 (USB-C) to thunderbolt adapter", then into the thunderbolt port of the ASUS ThunderboltEX 3 card. This gives me working ethernet over thunderbolt. The Network Prefpane shows a thunderbolt ethernet device, connected, with an IP address.

I believe there must be either an error in config.plist file, the SSDT-X299-iMacPro.aml file or both.

Can anyone help?

Please properly adopt the ACPI patches and SSDT-X299-iMacPro.aml, before implementing on your system! If one of the SSDT-X299-iMacPro.aml PCI device implementations fails, all SSDT-X299-iMacPro.aml PCI device implementations will fail. Start with the SSDT-X299-iMacPro.aml device implementation of HDEF, GPU and HDAU. It the latter work start adding PCI device implementations. From your screenshot it is obvious that some of your ACPI patches are wrong and that the SSDT-X299-iMacPro.aml PCI device implementation totally fails, e.g. also your GPU lists in PCIe Slot 6 under 'PCI'!

You TBXE 3 seems to be functional.. that Thunderbolt driver do not show up under 'PCI' might not be related with some erroneous TBXE 3 SSDT-X299-iMacPro.aml implementation. Any other SSDT-X299-iMacPro.aml PCI device implementation could collapse the entire SSDT-X299-iMacPro.aml implementation, i.e. also the else likely correct TBXE 3 SSDT-X299-iMacPro.aml implementation...

Check the ACPI path for all ACPI replacements and the proper SSDT-X299-iMacPro.aml PCI device implementations and adopt all details with the help of IOREG!

Happy bug fixing,

KGP
 
Playing with DSDT injection.
Could anyone confirm if I'm doing the right thing?

With this injection, the Vega is properly described in About You Mac, though my 2nd screen is no longer working.

Code:
DefinitionBlock ("", "SSDT", 2, "hack", "Wake", 0x00000000)
{
    External (_SB_.PC02.BR2A, DeviceObj)    // (from opcode)
    External (_SB_.PC02.BR2A.GFX0, DeviceObj)    // (from opcode)
    External (GPRW, MethodObj)    // 2 Arguments (from opcode)

    Scope (_SB.PC02.BR2A.GFX0)
    {
        OperationRegion (PCIS, PCI_Config, Zero, 0x0100)
        Field (PCIS, AnyAcc, NoLock, Preserve)
        {
            PVID,   16,
            PDID,   16
        }

        Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
        {
            Return (GPRW (0x69, 0x04))
        }

        Device (GFXA)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Device (GFX0)
            {
                Name (_ADR, Zero)  // _ADR: Address
                OperationRegion (PCIB, PCI_Config, Zero, 0x0100)
                Field (PCIB, AnyAcc, NoLock, Preserve)
                {
                    Offset (0x10),
                    BAR0,   32,
                    BAR1,   32,
                    BAR2,   64,
                    BAR4,   32,
                    BAR5,   32
                }

                Method (_INI, 0, NotSerialized)  // _INI: Initialize
                {
                    If (LEqual (BAR5, Zero))
                    {
                        Store (BAR2, Local0)
                    }
                    Else
                    {
                        Store (BAR5, Local0)
                    }

                    OperationRegion (GREG, SystemMemory, And (Local0, 0xFFFFFFF0), 0x8000)
                    Field (GREG, AnyAcc, NoLock, Preserve)
                    {
                        Offset (0x6800),
                        GENA,   32,
                        GCTL,   32,
                        LTBC,   32,
                        Offset (0x6810),
                        PSBL,   32,
                        SSBL,   32,
                        PTCH,   32,
                        PSBH,   32,
                        SSBH,   32,
                        Offset (0x6848),
                        FCTL,   32,
                        Offset (0x6EF8),
                        MUMD,   32
                    }

                    Store (Zero, FCTL)
                    Store (Zero, PSBH)
                    Store (Zero, SSBH)
                    Store (Zero, LTBC)
                    Store (One, GENA)
                    Store (Zero, MUMD)
                }

                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    Store (Package (0x16)
                        {
                            "AAPL,slot-name",
                            Buffer (0x07)
                            {
                                "Slot-1"
                            },

                            "CFG,CFG_USE_AGDC",
                            Buffer (One)
                            {
                                 0x00
                            },

                            "PP,PP_DisableAutoWattman",
                            Buffer (One)
                            {
                                 0x00
                            },

                            "ATY,Part#",
                            Buffer (0x0C)
                            {
                                "113-3E366DU"
                            },

                            "@0,AAPL,boot-display",
                            Buffer (One)
                            {
                                 0x00
                            },

                            "@0,name",
                            Buffer (0x0D)
                            {
                                "ATY,Kamarang"
                            },

                            "@1,name",
                            Buffer (0x0D)
                            {
                                "ATY,Kamarang"
                            },

                            "@2,name",
                            Buffer (0x0D)
                            {
                                "ATY,Kamarang"
                            },

                            "@3,name",
                            Buffer (0x0D)
                            {
                                "ATY,Kamarang"
                            },

                            "model",
                            Buffer (0x13)
                            {
                                "AMD Radeon Vega 64"
                            },

                            "hda-gfx",
                            Buffer (0x0A)
                            {
                                "onboard-2"
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

            Device (HDAU)
            {
                Name (_ADR, One)  // _ADR: Address
                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    Store (Package (0x0C)
                        {
                            "built-in",
                            Buffer (One)
                            {
                                 0x00
                            },

                            "AAPL,slot-name",
                            Buffer (0x07)
                            {
                                "Slot-1"
                            },

                            "layout-id",
                            Buffer (0x04)
                            {
                                 0x01, 0x00, 0x00, 0x00
                            },

                            "name",
                            Buffer (0x0D)
                            {
                                "AMD HD-Audio"
                            },

                            "model",
                            Buffer (0x0D)
                            {
                                "AMD HD-Audio"
                            },

                            "hda-gfx",
                            Buffer (0x0A)
                            {
                                "onboard-2"
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }
        }
    }

    Method (DTGP, 5, NotSerialized)
    {
        If (LEqual (Arg0, ToUUID ("a0b5b7c6-1318-441c-b0c9-fe695eaf949b")))
        {
            If (LEqual (Arg1, One))
            {
                If (LEqual (Arg2, Zero))
                {
                    Store (Buffer (One)
                        {
                             0x03                                         
                        }, Arg4)
                    Return (One)
                }

                If (LEqual (Arg2, One))
                {
                    Return (One)
                }
            }
        }

        Store (Buffer (One)
            {
                 0x00                                         
            }, Arg4)
        Return (Zero)
    }
}

with this, in the PCI section of the "AMD Radeon Vega 64" appears as:
ATY,Kamarang

While without it it would show as:
ATY,AMD,RadeonFramebuffer

No idea if one is preferred over the other.
In IORegistryExplorer the GFXO card will now show in:
PCI02.BR2A.GFX0.GFXA.GFX0

sounds rather complicated to me, would make sense in dual GPU setup, but not single one...

Hi, I have the same GPU as you and have to monitors. Two monitors work fine without any additional kext and dsdt modification. but can not display the right name under About This Mac.
I am also trying to inject the right framebuffer for VEGA64 and get the right Card name a under About This Mac.
Did you set some DSDT patches in clover config file? In my IORegistryExplorer, It shows a bit different from you.
PCI02.BR2A.SL05.pci-bridge

Could you share your EFI folder with me, thank you so much!

WX20180224-091731@2x.png
 
Dear kgp,

Thank you so much for this nice tutorial.

I have a working 10.13.3 system with smbios (iMac 18,3). I did successfully change to iMacpro 1,1 by modifying /System/Library/CoreServices/PlatformSupport.plist. However, with the iMacPro smbios, I cannot get the 10.13.3 SA update information in App Store. Even I downloaded the update file from apple official website, it didnot allow me to install. It says this can only be installed on an APFS file system, but I do have the APFS file system.

When I switch back to smbios (iMac 18,3), I can get the 10.13.3 SA update notification from the App Store.

Could you give me some suggestions?

another issue is that I used the HWMonitoring kexts from you poster#5537, my cpu has 10 cores and 20 threads, but the sensor can only see 8 of 10 cpus.

I appreciate very much if you can help me.
 

Attachments

Dear kgp,

Thank you so much for this nice tutorial.

I have a working 10.13.3 system with smbios (iMac 18,3). I did successfully change to iMacpro 1,1 by modifying /System/Library/CoreServices/PlatformSupport.plist. However, with the iMacPro smbios, I cannot get the 10.13.3 SA update information in App Store. Even I downloaded the update file from apple official website, it didnot allow me to install. It says this can only be installed on an APFS file system, but I do have the APFS file system.

When I switch back to smbios (iMac 18,3), I can get the 10.13.3 SA update notification from the App Store.

Could you give me some suggestions?

another issue is that I used the HWMonitoring kexts from you poster#5537, my cpu has 10 cores and 20 threads, but the sensor can only see 8 of 10 cpus.

I appreciate very much if you can help me.

1.) did you complete ALL SMBIOS iMacPro1,1 details?

2.) do you use istatmenus beta and the sensor kexts snd fakesmc.kext of @interferenc linked in the post?

Seems you don’t!
 
Hi after updating my Hackintosh to HighSierra 10.13.3 and installing the new released Nvidia Web Drivers i have lots of problems with my graphics. The UI is very slow and stucks sometimes. Also i can't play youtube videos and, for example do some word stuff. Everything is very slow and sticky.

My system is: asus x299 delux cpui9 7900X vga 2x nvidia 1080ti
 
For some reason my sensors show temperatures around 75 to 100 deg in idle state. I really hope it is in F and not in C. Does anyone know how to check it and change to C.
 

Attachments

  • Screen Shot 2018-02-24 at 11.14.52.png
    Screen Shot 2018-02-24 at 11.14.52.png
    44.9 KB · Views: 249
Hi
, after updating my Hackintosh
to the new released HighSierra 10.13.3 and installing the new released Nvidia Web Drivers i have lots of problems with my graphics. The UI is very slow and stucks sometimes. Also i can't play youtube videos and, for example do some word stuff. Everything is very slow and sticky.

My system is: asus x299 prim delux cpu i9-7800 asus 1080ti 2X
 
Status
Not open for further replies.
Back
Top