Contribute
Register

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

Status
Not open for further replies.
@kgp what was the template you used to start building SSDT-X299-iMacPro.aml ? Did you extract it from your system?

As I clearly state in my guide, the SSDT-X299.aml was originally developed by @apfelnico for SMBIOS MacPro6,1. All credits to him! I just adopted the originating SSDT-X299.aml to my system and to SMBIOS iMacPro1,1 by following the very basics and all IOREG information available for my system, as well as by taking profit of @TheOfficialGypsy 's iMac Pro Dump.
 
As I clearly state in my guide, the SSDT-X299.aml was originally developed by @apfelnico for SMBIOS MacPro6,1. All credits to him! I just adopted the originating SSDT-X299.aml to my system and to SMBIOS iMacPro1,1 by following the very basics and all IOREG information available for my system, as well as by taking profit of @TheOfficialGypsy 's iMac Pro Dump.

Thank you sir! Going to attempt the same for my Z170 build :)
 
  • Like
Reactions: kgp
Delidded i9-7980XE @4.8GHz (Sync All Cores) on iMacPro Hackintosh

!! Geekbench CPU Benchmark All-Time Single-CPU Record ! !

:headbang: !! Multi-Score - 65.358 / Single Score - 5.910 !!
:headbang:

View attachment 307219

View attachment 307220

View attachment 307221

max. TEMP: 63 deg C!!!!!

View attachment 307288

@DSM2, world's best delidder ;):lol::headbang:

View attachment 307223

Hi @kgp,

I've been meaning to ask this question for a while, so sorry for rolling back to a somewhat older topic. I know you provide some overclocking guidance in B2.3 of your guide. I was wondering if this was the method you used to achieve your 4.8GHz overclock (and your current 4.6GHz OC) of if you did something else? Did you adjust any other parameters?

Overclocking seems to be a bit of a black art, so I was wondering if you had any other insights you could share.

Thanks!

P.S. I've notice that my build crashes and reboots shortly after login when using the By Core Usage option in the CPU Core Ratio setting (it's fine when using Auto or Sync All Cores). I mention this because this is how the EZ Tuning Wizard attempts to find the best overclock.
 
Hi @kgp,

I've been meaning to ask this question for a while, so sorry for rolling back to a somewhat older topic. I know you provide some overclocking guidance in B2.3 of your guide. I was wondering if this was the method you used to achieve your 4.8GHz overclock (and your current 4.6GHz OC) of if you did something else? Did you adjust any other parameters?

Overclocking seems to be a bit of a black art, so I was wondering if you had any other insights you could share.

Thanks!

P.S. I've notice that my build crashes and reboots shortly after login when using the By Core Usage option in the CPU Core Ratio setting (it's fine when using Auto or Sync All Cores). I mention this because this is how the EZ Tuning Wizard attempts to find the best overclock.

I am currently successfully running my i9-7980XE @ 4.7 GHz (max. Turbo Frequency Ratio of 47) with "CPU Core Ratio" set to "Sync All Cores" and "CPU Core Voltage" set to "AUTO". You can also set the "CPU Core Voltage" manually to 1.220V and save some degrees C at CPU max. load. I clearly advice against running this CPU @ 4.8Ghz! The CPU Core Voltages and Temps would dramatically increase. A severe damage of your CPU or mainboard cannot be excluded. Already 4.7 Ghz require a extended and sophisticated water blocking and a "delidded" i9-7980XE!

Good luck,

KGP
 
Likely a complete n00b question, but is it expected behavior that if I try to compile:

Code:
DefinitionBlock ("", "SSDT", 1, "NICO", "X299", 0x00000000)
{
External (_SB_.PCI0.RP19.ARPT, DeviceObj) // (from opcode)
External (_SB_.PCI0.RP19.PXSX, DeviceObj) // (from opcode)

Scope (_SB.PCI0.RP19.ARPT)
{
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))
}

Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
Store (Package (0x0E)
{
"built-in",
Buffer (One)
{
0x00
},

"device-id",
Buffer (0x04)
{
0xA0, 0x43, 0x00, 0x00
},

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

"device_type",
Buffer (0x13)
{
"AirPort Controller"
},

"model",
Buffer (0x4A)
{
"OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 Controller"
},

"compatible",
Buffer (0x0D)
{
"pci14e4,43a0"
},

"name",
Buffer (0x10)
{
"AirPort Extreme"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Name (_SB.PCI0.RP19.PXSX._STA, Zero) // _STA: Status
}

I get:

Screen Shot 2018-02-09 at 3.49.12 PM.png
 
Likely a complete n00b question, but is it expected behavior that if I try to compile:

DTGP implementation is missing towards the end of your code. Please compare with SSDT-X299-iMacPro.aml;)
 
Thank you sir!

BTW: You also missed the GPRW definition in the definition block of your SSDT.aml!

Code:
 External (GPRW, MethodObj)    // 2 Arguments (from opcode)
 
DTGP implementation is missing towards the end of your code. Please compare with SSDT-X299-iMacPro.aml;)

last time I'll bother you with this (If I can get 1 small SSDT working I can use it as the template for further ones)
I added DTGP at the end but must have a syntax error somewhere as it's giving me the error:
6084 GPRW Does not exist at line 17
Give me one last clue? :)

Code:
DefinitionBlock ("", "SSDT", 1, "NICO", "X299", 0x00000000)
{
External (_SB_.PCI0.RP03.ARPT, DeviceObj) // (from opcode)
External (_SB_.PCI0.RP03.PXSX, DeviceObj) // (from opcode)

Scope (_SB.PCI0.RP03.ARPT)
    {
        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))
        }

        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            Store (Package (0x0E)
                {
                    "built-in", 
                    Buffer (One)
                    {
                         0x00                                          
                    }, 

                    "device-id", 
                    Buffer (0x04)
                    {
                         0xA0, 0x43, 0x00, 0x00                        
                    }, 

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

                    "device_type", 
                    Buffer (0x13)
                    {
                        "AirPort Controller"
                    }, 

                    "model", 
                    Buffer (0x4A)
                    {
                        "OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 Controller"
                    }, 

                    "compatible", 
                    Buffer (0x0D)
                    {
                        "pci14e4,43a0"
                    }, 

                    "name", 
                    Buffer (0x10)
                    {
                        "AirPort Extreme"
                    }
                }, Local0)
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local0)
        }
        }
   
    Name (_SB.PCI0.RP03.PXSX._STA, Zero) // _STA: Status
   
    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)
    }
}
 
BTW: You also missed the GPRW definition in the definition block of your SSDT.aml!

Code:
 External (GPRW, MethodObj)    // 2 Arguments (from opcode)


you answered my question just before I asked it!! (disregard my latest reply)

EDIT: That totally worked. Thank you @kgp !!
 
  • Like
Reactions: kgp
Status
Not open for further replies.
Back
Top