Contribute
Register

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

Status
Not open for further replies.
Yes. I only have problem to inject HDMI audio without ssdt.

To inject anything, what is needed to know? PCI address from bootlog and what else?
If I wanted to inject my nvidia card, what would I look for besides PCI Addr?
This is so exciting!
(thanks!)
 
To inject anything, what is needed to know? PCI address from bootlog and what else?
If I wanted to inject my nvidia card, what would I look for besides PCI Addr?
This is so exciting!
(thanks!)
Just copy information from ssdt or from ioreg. For exemple injecting Audio card:
Begin with this and you will learn the pattern.
Code:
<dict>
                <key>Comment</key>
                <string>HDA Audio</string>
                <key>CustomProperties</key>
                <array>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>hda-gfx</string>
                        <key>Value</key>
                        <string>onboard-1</string>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>AAPL,slot-name</string>
                        <key>Value</key>
                        <string>Built In</string>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>model</string>
                        <key>Value</key>
                        <string>Realtek ALC S1220A</string>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>name</string>
                        <key>Value</key>
                        <string>ALC S1220A HD Audio Controller</string>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>device_type</string>
                        <key>Value</key>
                        <string>HD-Audio-Controller</string>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>layout-id</string>
                        <key>Value</key>
                        <integer>7</integer>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>AFGLowPowerState</string>
                        <key>Value</key>
                        <data>
                        AwAAAA==
                        </data>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>CodecID</string>
                        <key>Value</key>
                        <integer>283906408</integer>
                    </dict>
                </array>
                <key>PciAddr</key>
                <string>00:1f:03</string>
 
Just copy information from ssdt or from ioreg. For exemple injecting Audio card:
Begin with this and you will learn the pattern.
Code:
<dict>
                <key>Comment</key>
                <string>HDA Audio</string>
                <key>CustomProperties</key>
                <array>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>hda-gfx</string>
                        <key>Value</key>
                        <string>onboard-1</string>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>AAPL,slot-name</string>
                        <key>Value</key>
                        <string>Built In</string>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>model</string>
                        <key>Value</key>
                        <string>Realtek ALC S1220A</string>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>name</string>
                        <key>Value</key>
                        <string>ALC S1220A HD Audio Controller</string>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>device_type</string>
                        <key>Value</key>
                        <string>HD-Audio-Controller</string>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>layout-id</string>
                        <key>Value</key>
                        <integer>7</integer>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>AFGLowPowerState</string>
                        <key>Value</key>
                        <data>
                        AwAAAA==
                        </data>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>CodecID</string>
                        <key>Value</key>
                        <integer>283906408</integer>
                    </dict>
                </array>
                <key>PciAddr</key>
                <string>00:1f:03</string>


What is the minimum amount of info necessary? PciAddr, Name, device ID?
 
Find your Thunderbolt PCI adres in boot log and create arbitrary for TB3 device (1578 device id)
You can apply this for all your device. So there are no need for using ssdt. Everything can by concentrate in one config.plist.
View attachment 318363 View attachment 318360
But I thing this technic is not compatible with your guide.

is PCI-Thunderbolt arbitrary or a name found in SSDT/IOREG?
 
Last edited:
When you find out, let me know.
I haven't been able to get that part going, a press of F1 just turn off the screen.
Auto brightness no longer work either...

I just noticed something and it may not be something new for people here....

but on a real Mac keyboard (white wired with numpad) and real Mac display (27" Apple LED Cinema Display via miniDisplayPort>DisplayPort) F14 and F15 are now brightness controls. This is without any applications running.
 
For some reason I started getting slide errors from AptioMemoryFix on my MSI board, and noticed there's a couple of recent fixes which aren't in the version in the EFI folder of this guide. Therefore I downloaded and built the release version of the head of the Github repository which works fine. Attached here.
 

Attachments

  • AptioMemoryFix.efi
    25.3 KB · Views: 143
Hey there,
I'm having a little trouble debugging a kernel panic that I've been getting on my system. i9-7920x running on an Asus X299-A mobo. Nvidia 1080 Ti running on 378.10.10.10.25.106.

I performed the "patched" bios and confirmed that MSR 0xE2 is unlocked. I performed a clean install of 10.13.3 on an 1TB SSD and only installed Chrome, VLC, Clover Config and Nvidia drivers via this script: https://www.tonymacx86.com/threads/nvidia-update-simple-way-to-install-nvidia-web-drivers.244987/

I can create the KP by playing two videos from a local file at the same time. After a while it will completely freeze. One in VLC, one in Quicktime. But the machine will lock up randomly at other times, while idling or under load. While writing this I had the machine lock up on me. This is the same issue I was running into on a previous install so I figured I'd try to start fresh on another SSD.

Here's what the Apple Error report produced when I rebooted. I'm not very advanced and any help would be appreciated in figuring out what's happening. The report is the same each crash.
Code:
Anonymous UUID:       A9E17871-9308-C99F-B41F-F0E3E3CA1000



Sat Mar 10 18:41:40 2018



*** Panic Report ***

Machine-check capabilities: 0x0000000000000c14

family: 6 model: 85 stepping: 4 microcode: 33554490

signature: 0x50654

Intel(R) Core(TM) i9-7920X CPU @ 2.90GHz

20 error-reporting banks

Processor 1: IA32_MCG_STATUS: 0x0000000000000005

IA32_MC0_STATUS(0x401): 0xf200004000000005

panic(cpu 0 caller 0xffffff800816ed7a): "Double fault at 0xffffff80080019a8, registers:\n" "CR0: 0x0000000080010033, CR2: 0x0000020588a63fa8, CR3: 0x0000000c3d8ba032, CR4: 0x00000000003627e0\n" "RAX: 0xffffff8007d06020, RBX: 0x0000000000000012, RCX: 0xffffff807bd43030, RDX: 0x0000000000000008\n" "RSP: 0x0000020588a63fb0, RBP: 0x0000000000000000, RSI: 0x000000000000002b, RDI: 0x0000020085d309c0\n" "R8:  0x0000000000000001, R9:  0x0000000000000000, R10: 0x000000010f64b000, R11: 0x00007ff6fb31c080\n" "R12: 0x0000020588a63fb0, R13: 0x000000000012eb40, R14: 0x00007ff81003a600, R15: 0x0000020085d309c0\n" "RFL: 0x0000000000010002, RIP: 0xffffff80080019a8, CS:  0x0000000000000008, SS:  0x0000000000000000\n" "Error code: 0x0000000000000000\n"@/BuildRoot/Library/Caches/com.apple.xbs/Sources/xnu/xnu-4570.47.16/osfmk/i386/trap_native.c:168

Backtrace (CPU 0), Frame : Return Address

0xffffff8007d4c010 : 0xffffff800804f606 mach_kernel : _handle_debugger_trap + 0x506

0xffffff8007d4c060 : 0xffffff800817c744 mach_kernel : _kdp_i386_trap + 0x114

0xffffff8007d4c0a0 : 0xffffff800816e159 mach_kernel : _kernel_trap + 0x5e9

0xffffff8007d4c120 : 0xffffff8008001120 mach_kernel : _return_from_trap + 0xe0

0xffffff8007d4c140 : 0xffffff800804f03c mach_kernel : _panic_trap_to_debugger + 0x25c

0xffffff8007d4c270 : 0xffffff800804edbc mach_kernel : _panic + 0x5c

0xffffff8007d4c2d0 : 0xffffff8008179e08 mach_kernel : _mp_kdp_enter + 0x468

0xffffff8007d4c320 : 0xffffff800804f16a mach_kernel : _handle_debugger_trap + 0x6a

0xffffff8007d4c370 : 0xffffff800817c744 mach_kernel : _kdp_i386_trap + 0x114

0xffffff8007d4c3b0 : 0xffffff800816e159 mach_kernel : _kernel_trap + 0x5e9

0xffffff8007d4c430 : 0xffffff8008001120 mach_kernel : _return_from_trap + 0xe0

0xffffff8007d4c450 : 0xffffff800804f03c mach_kernel : _panic_trap_to_debugger + 0x25c

0xffffff8007d4c580 : 0xffffff800804edbc mach_kernel : _panic + 0x5c

0xffffff8007d4c5e0 : 0xffffff800816ed7a mach_kernel : _panic_64 + 0xda

0xffffff8007d4c6d0 : 0xffffff80080019dd mach_kernel : _hndl_double_fault + 0x1d



BSD process name corresponding to current thread: helpd

Boot args: -v darkwake=0 keepsyms=1 debug=0x100



Mac OS version:

17D2104



Kernel version:

Darwin Kernel Version 17.4.0: Tue Dec 19 10:52:05 PST 2017; root:xnu-4570.47.16~1/RELEASE_X86_64

Kernel UUID: 29EF1F85-10C5-3F25-AED6-5529E5948D42

Kernel slide:     0x0000000007c00000

Kernel text base: 0xffffff8007e00000

__HIB  text base: 0xffffff8007d00000

System model name: iMacPro1,1 (Mac-7BA5B2D9E42DDD94)



System uptime in nanoseconds: 362307642279

last loaded kext at 249892193195: com.apple.filesystems.msdosfs    1.10 (addr 0xffffff7f8908e000, size 69632)

loaded kexts:

com.nvidia.web.GeForceWeb    10.2.9

com.nvidia.web.NVDAGP100HalWeb    10.2.9

com.nvidia.web.NVDAResmanWeb    10.2.9

com.nvidia.NVDAStartupWeb    10.2.9

com.insanelymac.IntelMausiEthernet    2.3.0

org.netkas.driver.FakeSMC    1448

com.apple.filesystems.msdosfs    1.10

com.apple.filesystems.smbfs    3.2.1

com.apple.filesystems.exfat    1.4

com.apple.filesystems.autofs    3.0

com.apple.driver.AppleUpstreamUserClient    3.6.4

com.apple.driver.AppleMCCSControl    1.5.3

com.apple.driver.AGPM    110.23.31

com.apple.driver.ApplePlatformEnabler    2.7.0d0

com.apple.driver.X86PlatformShim    1.0.0

com.apple.driver.AppleGraphicsDevicePolicy    3.16.21

com.apple.driver.ACPI_SMC_PlatformPlugin    1.0.0

com.apple.AGDCPluginDisplayMetrics    3.16.2

com.apple.driver.AppleIntelPCHPMC    2.0.1

com.apple.nvidia.NVDAStartup    10.2.8

com.apple.driver.AppleHV    1

com.apple.iokit.IOUserEthernet    1.0.1

com.apple.iokit.IOBluetoothSerialManager    6.0.4f1

com.apple.driver.pmtelemetry    1

com.apple.Dont_Steal_Mac_OS_X    7.0.0

com.apple.driver.AppleIntelSlowAdaptiveClocking    4.0.0

com.apple.driver.AppleFIVRDriver    4.1.0

com.apple.driver.Apple16X50ACPI    3.2

com.apple.driver.AppleOSXWatchdog    1

com.apple.iokit.SCSITaskUserClient    404.30.2

com.apple.driver.AppleFileSystemDriver    3.0.1

com.apple.filesystems.apfs    748.47.11

com.apple.filesystems.hfs.kext    407.30.1

com.apple.AppleFSCompression.AppleFSCompressionTypeDataless    1.0.0d1

com.apple.BootCache    40

com.apple.AppleFSCompression.AppleFSCompressionTypeZlib    1.0.0

com.apple.driver.AppleAHCIPort    329

com.apple.driver.AppleACPIEC    6.1

com.apple.driver.AppleHPET    1.8

com.apple.driver.AppleRTC    2.0

com.apple.driver.AppleACPIButtons    6.1

com.apple.driver.AppleSMBIOS    2.1

com.apple.driver.AppleAPIC    1.7

com.apple.nke.applicationfirewall    183

com.apple.security.TMSafetyNet    8

com.apple.security.quarantine    3

com.apple.IOBufferCopyEngineTest    1

com.apple.kext.triggers    1.0

com.apple.driver.AppleSMBusController    1.0.18d1

com.apple.iokit.IOAcceleratorFamily2    376.6

com.apple.driver.AppleGraphicsControl    3.16.21

com.apple.driver.IOPlatformPluginLegacy    1.0.0

com.apple.iokit.IONDRVSupport    517.22

com.apple.driver.AppleSMBusPCI    1.0.14d1

com.apple.driver.AppleHDAController    280.12

com.apple.iokit.IOHDAFamily    280.12

com.apple.iokit.IOAudioFamily    206.5

com.apple.vecLib.kext    1.2.0

com.apple.driver.AppleSSE    1.0

com.apple.iokit.IOSurface    209.2.2

com.apple.iokit.IOBluetoothFamily    6.0.4f1

com.apple.AppleGPUWrangler    3.16.2

com.apple.AppleGraphicsDeviceControl    3.16.21

com.apple.iokit.IOGraphicsFamily    517.22

com.apple.iokit.IOSlowAdaptiveClockingFamily    1.0.0

com.apple.driver.Apple16X50Serial    3.2

com.apple.iokit.IOSerialFamily    11

com.apple.driver.X86PlatformPlugin    1.0.0

com.apple.driver.IOPlatformPluginFamily    6.0.0d8

com.apple.driver.AppleHIDKeyboard    203

com.apple.driver.AppleUSBHostMergeProperties    1.2

com.apple.driver.usb.IOUSBHostHIDDevice    1.2

com.apple.driver.usb.AppleUSBHub    1.2

com.apple.driver.usb.cdc    5.0.0

com.apple.driver.usb.networking    5.0.0

com.apple.driver.usb.AppleUSBHostCompositeDevice    1.2

com.apple.filesystems.hfs.encodings.kext    1

com.apple.driver.usb.AppleUSBHostPacketFilter    1.0

com.apple.iokit.IOUSBFamily    900.4.1

com.apple.driver.AppleXsanScheme    3

com.apple.iokit.IOAHCIBlockStorage    301.40.2

com.apple.iokit.IOAHCIFamily    288

com.apple.driver.usb.AppleUSBXHCIPCI    1.2

com.apple.driver.usb.AppleUSBXHCI    1.2

com.apple.driver.AppleEFINVRAM    2.1

com.apple.driver.AppleEFIRuntime    2.1

com.apple.iokit.IOSMBusFamily    1.1

com.apple.iokit.IOHIDFamily    2.0.0

com.apple.security.sandbox    300.0

com.apple.kext.AppleMatch    1.0.0d1

com.apple.iokit.IOBufferCopyEngineFamily    1

com.apple.driver.DiskImages    480.30.2

com.apple.driver.AppleFDEKeyStore    28.30

com.apple.driver.AppleEffaceableStorage    1.0

com.apple.driver.AppleKeyStore    2

com.apple.driver.AppleUSBTDM    439.47.2

com.apple.driver.AppleMobileFileIntegrity    1.0.5

com.apple.iokit.IOUSBMassStorageDriver    140.30.1

com.apple.iokit.IOSCSIBlockCommandsDevice    404.30.2

com.apple.iokit.IOSCSIArchitectureModelFamily    404.30.2

com.apple.iokit.IOStorageFamily    2.1

com.apple.driver.AppleCredentialManager    1.0

com.apple.driver.KernelRelayHost    1

com.apple.iokit.IOUSBHostFamily    1.2

com.apple.driver.usb.AppleUSBCommon    1.0

com.apple.driver.AppleBusPowerController    1.0

com.apple.driver.AppleSEPManager    1.0.1

com.apple.driver.IOSlaveProcessor    1

com.apple.iokit.IOReportFamily    31

com.apple.iokit.IOTimeSyncFamily    653.2

com.apple.iokit.IONetworkingFamily    3.4

com.apple.driver.AppleACPIPlatform    6.1

com.apple.driver.AppleSMC    3.1.9

com.apple.iokit.IOPCIFamily    2.9

com.apple.iokit.IOACPIFamily    1.4

com.apple.kec.pthread    1

com.apple.kec.Libm    1

com.apple.kec.corecrypto    1.0



EOF

Model: iMacPro1,1, BootROM IMP11.0064.B30, 12 processors, 2.90 GHz, 48 GB, SMC 2.41f1

Graphics: NVIDIA GeForce GTX 1080 Ti, NVIDIA GeForce GTX 1080 Ti, PCIe, 11 GB

Memory Module: BANK 0/DIMM0, 8 GB, DDR4, 3200 MHz, G-Skill, F4-3200C16-8GTZB

Memory Module: BANK 1/DIMM0, 8 GB, DDR4, 3200 MHz, G-Skill, F4-3200C16-8GTZB

Memory Module: BANK 2/DIMM0, 8 GB, DDR4, 3200 MHz, G-Skill, F4-3200C16-8GTZB

Memory Module: BANK 1/DIMM1, 8 GB, DDR4, 3200 MHz, G-Skill, F4-3200C16-8GTZB

Memory Module: BANK 2/DIMM1, 8 GB, DDR4, 3200 MHz, G-Skill, F4-3200C16-8GTZB

Memory Module: BANK 0/DIMM2, 8 GB, DDR4, 3200 MHz, G-Skill, F4-3200C16-8GTZB

Network Service: Ethernet, Ethernet, en0

PCI Card: NVIDIA GeForce GTX 1080 Ti, Display Controller, PCI Slot 6@101,0,0

PCI Card: pci10de,10ef, Audio Device, PCI Slot 6@101,0,1

Serial ATA Device: SAMSUNG MZ7LN1T0HMJP-00000, 1.02 TB

USB Device: USB 3.0 Bus

USB Device: Ultra Fit

USB Device: USB2.0 Hub

USB Device: Intuos5 touch S

USB Device: Keyboard Hub

USB Device: Apple Keyboard

USB Device: Razer DeathAdder Chroma

USB Device: USB 3.1 Bus

USB Device: USB 3.1 Bus

Thunderbolt Bus:
 
Find your Thunderbolt PCI adres in boot log and create arbitrary for TB3 device (1578 device id)
You can apply this for all your device. So there are no need for using ssdt. Everything can by concentrate in one config.plist.
View attachment 318363 View attachment 318360
But I thing this technic is not compatible with your guide.

This is awesome @borysbass !! I followed your instructions and was able to rename the PCI Devices from my OWC Thunderbolt 3 Dock. Following @kgp 's awesome guide, I removed the SSDT entries for my Thunderbolt 3 Add-In card and then added those entries to my config.plist using their PCI Address. Major success!!!

PCI.png



I've attached the complete devices section snippet from my config.plist.

Code:
<dict>
                <key>Comment</key>
                <string>PCI Thunderbolt 3 NHI</string>
                <key>CustomProperties</key>
                <array>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>device_type</string>
                        <key>Value</key>
                        <string>Thunderbolt 3 Controller</string>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>name</string>
                        <key>Value</key>
                        <string>Intel JHL6540 Thunderbolt 3 Controller</string>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>AAPL,slot-name</string>
                        <key>Value</key>
                        <string>Slot 4</string>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>model</string>
                        <key>Value</key>
                        <string>Intel JHL6540 Thunderbolt 3 NHI</string>
                    </dict>
                </array>
                <key>PciAddr</key>
                <string>4a:00.00</string>
            </dict>
            <dict>
                <key>Comment</key>
                <string>PCI Thunderbolt 3 USB 3.1 Type-C</string>
                <key>CustomProperties</key>
                <array>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>name</string>
                        <key>Value</key>
                        <string>Intel JHL6540 USB 3.1 Type-C Controller</string>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>AAPL,slot-name</string>
                        <key>Value</key>
                        <string>Thunderbolt 3</string>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>model</string>
                        <key>Value</key>
                        <string>Intel JHL6540 USB 3.1 Type-C</string>
                    </dict>
                </array>
                <key>PciAddr</key>
                <string>66:00.00</string>
            </dict>
            <dict>
                <key>Comment</key>
                <string>PCI Thunderbolt 3 Bridge (15d3)</string>
                <key>CustomProperties</key>
                <array>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>PCI-Thunderbolt</string>
                        <key>Value</key>
                        <integer>1</integer>
                    </dict>
                    <dict>
                        <key>Disabled</key>
                        <false/>
                        <key>Key</key>
                        <string>IOName</string>
                        <key>Value</key>
                        <string>pci-bridge</string>
                    </dict>
                </array>
                <key>PciAddr</key>
                <string>48:00.00</string>
            </dict>
            ...
            ...
            ...

Thanks again!!

-Mike
 

Attachments

  • config-snippet.plist
    10.8 KB · Views: 172
Find your Thunderbolt PCI adres in boot log and create arbitrary for TB3 device (1578 device id)
You can apply this for all your device. So there are no need for using ssdt. Everything can by concentrate in one config.plist.
View attachment 318363 View attachment 318360
But I thing this technic is not compatible with your guide.

That really works :mrgreen: ! Full Thunderbolt hot plug with this three tiny entries and my SSDT. :headbang:
 
Status
Not open for further replies.
Back
Top