Contribute
Register

Gigabyte X299X - Catalina Support

Joined
Jul 10, 2013
Messages
305
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10900X
Graphics
RX 5500 XT
Mac
iMac, MacBook Pro, Mac Pro
Classic Mac
eMac, iBook, iMac, PowerBook
Mobile Phone
Android
Hello everyone,

As some of you know, I have been lurking around to make the new X299X boards (Gigabyte) work, unsuccessful at it, but trying nevertheless.

On the hardware side these are the specs of the build:

Gigabyte Designare EX 10G
Intel i9 10900X
128GB DDR4 3200 Mhz Crucial Ballistix
1200W BeQuiet! PurePower
PNY 500GB NVMe
And other bits, but the important is here.

Trials have been made with Clover v5100 and Catalina 10.15.2 previously installed, the reason because I have placed a drive with system already installed is simply because as you try to boot clover GUI with a USB drive attached (or any drive) system just reboots without warning o_O.

So in order to be able to get past the "shut down" issue, one must not have anything but the main drive attached (which makes installing in the drive wither impossible or pointless at this stage)

Once we get past this issue, we are presented with the usual clover screen, once you select to boot from a drive, everything looks normal, till you get to this errors.

1-
1.jpg

2-
2.jpg

BIOS configuration has gone from Default, to all sorts of changes, so uploading the setup is a bit pointless, the important bit is related to TB and the error is giving out.

My goal is to be able to create a "not-guide-but-orientation" post for users with Gigabyte boards, since the Asus thread should remain clean and free of other hardware so that anyone can easily find the information they need.

I am going to mention a few users who I know perhaps have some insight in the matter due to having GB boards or are experimenting the same issue @nmano @P1LGRIM @bingoc @Ellybz

I'm hoping we can get to a point where we can get actual working series of the new X299X boards, this will possibly help other users buying other vendors boards.

Hope some brilliant mind can come up with something.

Have a nice weekend guys.

Lets organise this a bit, I will keep updating this guide with whatever comes up.

Notes and remarks: NEWS
1). After much testing, I have discovered that the last two versions of MacproMemoryNotificationDisabler.kext somehow produce an error to the system log (console) and may throw a KP that for some reason relates to RadeonGraphics kext, perhaps the issue is localised for AMD 5000 series GFX but lets not get ahead of ourselves. I have contacted the developer and it seems he pushed the wrong package. He will fix it in the next commit. For now lets use the verison attched and the end of post one, I will update as the new commit comes up and is stable.
To check if your MPMNDisabler.kext is messing around, just open console.app and go to "Crash Reports", you should see MemorySlotNotification @ several instances, one for each boot (if you have a buggy version).

2). For the time being we still need to use the old TSCAdjustReset.kext by @Intereferenc order to correctly sync the TSC on our CPU's, remember to correctly edit the .plist inside the kext (right click, "Show Package Contents" Content/info.plist, open with Xcode or PlistEditor, modify IOKitPersonalities/TSCAdjustReset/IOPropertyMatch/IOCPUNumber to the desired CPU core amount -1, so if you have a 10900X with 20 threads, just remove 1 = 19, if a 10980XE with 36 th remove one = 35 and so on for each CPU), then save and place modified .kext inside C/K/O.

3). NEW! I have extracted the firmware of our on board Thunderbolt Titan Ridge in hopes that the same procedure than @CaseySJ and @Elias64Fr have been able to achive on the Designare Z390 in order to edit the Thunderbolt firmware to achieve achive full Thunderbolt BUS like Thunderbolt Networking capabilities (impossible to achieve so far with just a custom SSDT) and better Thunderbolt functionality overall by flashing back the modified firmware can be achieved on our boards.
The procedure requieres the use of an external SPI Programmer and dissasembling most components on motherboard, VRM and Chipset cooling system (both attached by a copper pipe) have to be removed, including (but not yet confirmed since I removed everything for the sake of it) backplate.

@CaseySJ has a set of patched Firmwares already patched here for everyone to use (be warned to use at your own risk). I have successfully flashed my GC Titan Ridge PCIe card and the results are just awesome :thumbup:
Here is what we get now. (this is my AMD build)
Screenshot 2020-03-27 at 12.29.49.png

Screenshot 2020-03-27 at 12.30.13.png

I will update the procedure once this has been tested on our onboard TB controller! Hopefully soon

Section 1: BIOS configuration file on latest BIOS. (currenlty F3c)
Section 2: DSDT boot patches for correct boot and remove "Thunderbolt 255 PCI" error. (RTC patch deprecated, see latest ACPI table and use RTC0 SSDT instead)
Section 3: Onboard 10G dual Intel X550 ethernet, driver and ACPI patching.
Section 4: Preffered SMBIOS and little Thunderbolt address corrections.
Section 5: ACPI Implementation (SSDT).

Section 1: Doing pictures of every bit in BIOS is a pain, so why not just upload a working BIOS config file :p ? Just see download section at the bottom of post #1. To load, just boot to BIOS (DEL) and move to Load/Save profile in the last tab of the advanced BIOS section (press F2 to move to andvanced BIOS view).
Be mindful that every build is different, and what works for me, may not work for you, have a look at Intel's ARK site to check your CPU properties and what not.

EDIT: I have found F3c to be more stable under intensive CPU tasks like CinebenchR20 than F3b, perhaps the F3c BIOS description is not all BS. We will see with other BIOS in the future. Still BS, some trouble with consistency and stability, going back to F3b, I'll attach BIOS and config for my specific setup, change as you need!

Section 2: In order to correctly boot, this boards require a DSDT hot patch in .plist ACPI/DSDT Patches section. (I'm not the author of this patch, user 紫米 from the other forum should be credited for it). Also included all the renames I currently use in check with a real MacPro7,1 SMBIOS, some would require ACPI patching in order to correctly work like _OSI - XOSI rename.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>ACPI</key>
    <dict>
        <key>DSDT</key>
        <dict>
            <key>Patches</key>
            <array>
                <dict>
                    <key>Comment</key>
                    <string>X299X - RTC</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>oAuTU1RBUwo=</data>
                    <key>Replace</key>
                    <data>oAqRCv8L//8=</data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>PC00 - PCI0</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>UEMwMA==</data>
                    <key>Replace</key>
                    <data>UENJMA==</data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>H_EC - EC__</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>SF9FQw==</data>
                    <key>Replace</key>
                    <data>RUNfXw==</data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>_OSI - XOSI</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>X09TSQ==</data>
                    <key>Replace</key>
                    <data>WE9TSQ==</data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>IDER - MEID</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>SURFUg==</data>
                    <key>Replace</key>
                    <data>TUVJRA==</data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>LPC0 - LPCB</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>TFBDMA==</data>
                    <key>Replace</key>
                    <data>TFBDQg==</data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>FPU_ - MATH</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>RlBVXw==</data>
                    <key>Replace</key>
                    <data>TUFUSA==</data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>TMR_ - TIMR</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>VE1SXw==</data>
                    <key>Replace</key>
                    <data>VElNUg==</data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>SPIC - XSPI</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>U1BJQw==</data>
                    <key>Replace</key>
                    <data>WFNQSQ==</data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>PIC_ - IPIC</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>UElDXw==</data>
                    <key>Replace</key>
                    <data>SVBJQw==</data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>SMBS._ADR - XSBU.XADR</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>U01CUwhfQURS</data>
                    <key>Replace</key>
                    <data>WFNCVQhYQURS</data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>_DSM - XDSM</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>X0RTTQ==</data>
                    <key>Replace</key>
                    <data>WERTTQ==</data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>PMC1 - PMCR</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>UE1DMQ==</data>
                    <key>Replace</key>
                    <data>UE1DUg==</data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>AWAC - ARTC</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>QVdBQw==</data>
                    <key>Replace</key>
                    <data>QVJUQw==</data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>IOTR - LDRC</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>SU9UUg==</data>
                    <key>Replace</key>
                    <data>TERSQw==</data>
                </dict>
            </array>
        </dict>
    </dict>
</dict>
</plist>
Moving forward, we are currently awaiting for SmallTree to release a set of drivers that are compatible with 10.15 in order to get the two X550T 10Gb Ethernet ports working, I will update asap on this matter!

Section 3: (Deprecated) So far no SmallTree drivers released for us to use with our X550T, but I must say that the usual method of swapping SubsystemID in Ubuntu is currently not working, ethtool does nothing when used with the correct patch, thus the only approach is as @AlBeast pointed out to me, using a combo of FakePCIID_Intel_GbX.kext, FakePCIID.kext and SmallTreeIntel8259x.kext in EFI partition.

I have updated SmallTree driver to the latest version downloadable from SmallTree site and removed all other ID's from FakePCIID_Intel_GbX.kext just to match these of the X550T that we need for our boards (there might be a slight gain by placing SmallTree.kext in C/K/15 and the rest of .kext in C/K/O (boot priorities) not proven entirely tho).

Here is the ACPI table to be used:
C++:
DefinitionBlock ("", "SSDT", 1, "DRENAN", "DSGN10G", 0x00000000)
{
    External (_SB_.PCI0.RP21, DeviceObj)
    External (_SB_.PCI0.RP21.PXSX, DeviceObj)
    External (DTGP, MethodObj)

    Scope (_SB.PCI0.RP21)
    {
        Scope (PXSX)
        {
            Name (_STA, Zero)
        }

        Device (XGBE)
        {
            Name (_ADR, One)
            Method (_DSM, 4, NotSerialized)
            {
                Local0 = Package ()
                    {
                        "AAPL,slot-name",
                        Buffer ()
                        {
                            "Internal"
                        },

                        "built-in",
                        Buffer ()
                        {
                             0x00
                        },

                        "model",
                        Buffer ()
                        {
                            "Intel X550T 10G Ethernet 2"
                        },

                        "name",
                        Buffer ()
                        {
                            "Intel(R) X550T Ethernet Controller"
                        },

                        "location",
                        Buffer ()
                        {
                            "2"
                        }
                    }
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }

        Device (XGBF)
        {
            Name (_ADR, Zero)
            Method (_DSM, 4, NotSerialized)
            {
                Local0 = Package ()
                    {
                        "AAPL,slot-name",
                        Buffer ()
                        {
                            "Internal"
                        },

                        "built-in",
                        Buffer ()
                        {
                             0x00
                        },

                        "model",
                        Buffer ()
                        {
                            "Intel X550T 10G Ethernet 1"
                        },

                        "name",
                        Buffer ()
                        {
                            "Intel(R) X550T Ethernet Controller"
                        },

                        "location",
                        Buffer ()
                        {
                            "1"
                        }
                    }
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
    }
}
Not as fast as we would expect but not bad.
Screenshot 2020-01-30 at 10.00.42.png

This is on a 5 HDD's RAID on a 10G Qnap NAS over a Cat8e cable.

This is the code I used in Ubuntu, if anyone wants to give it a try:
Code:
sudo ethtool -E enp2s0f0 magic 0x15638086 offset 0x242 value 0x0a
sudo ethtool -E enp2s0f0 magic 0x15638086 offset 0x243 value 0x00

sudo ethtool -E enp2s0f1 magic 0x15638086 offset 0x242 value 0x0a
sudo ethtool -E enp2s0f1 magic 0x15638086 offset 0x243 value 0x00
Section 3.2: No need to use multiple kext to load the two Intel X550T 10GbE ports! Please find in attachments a modified version of the latest SmallTreeIntel8259x.kext to work with our cards :). Remove all other kexts from C/K/O and install the modified version under /L/E using KextBeast or Hackintool, then rebuild kext cache with terminal command, KextUtility or Hackintool.
Code:
sudo kextcache -i /
Slightly better results with SmallTree kext in correct location.
Screenshot 2020-01-31 at 12.42.06.png

Section 4: in order to achieve most device compatibility and full TB functionality I had to move to MacPro7,1 SMBIOS. Changes have been subtle but the functionality of the board has started to shine.

Both TB ports work HP on cold boot and recognize devices attached prior to boot (previously I suffered from KP every time I connected my UAD Apollo 8X on HP or even from cold boot, to which I found that setting "Boot from thunderbolt devices" in BIOS to enable solved the issue, but rendered the machine without proper HP functionality), so I had to come up with some changes. A new SSDT with implementations from a realo MacPro7,1 Dump and few BIOS changes has made this machine so far to be stable with TB devices, HP cold boot, you name it :thumbup:.

Obviously there are certain "cosmetic" things to improve in order to have a clean "PCI list section" in about this mac.
Add this to your .plist device properties.
Code:
<key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
            <dict>
                <key>AAPL,slot-name</key>
                <string>Thunderbolt</string>
                <key>device_type</key>
                <string>Thunderbolt</string>
                <key>model</key>
                <string>Thunderbolt Drive</string>
            </dict>
            <key>PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)</key>
            <dict>
                <key>AAPL,slot-name</key>
                <string>Thunderbolt</string>
            </dict>
            <key>PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)/Pci(0x4,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
            <dict>
                <key>AAPL,slot-name</key>
                <string>Thunderbolt</string>
                <key>device_type</key>
                <string>Thunderbolt</string>
                <key>model</key>
                <string>Thunderbolt Drive</string>
            </dict>
            <key>PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)/Pci(0x4,0x0)/Pci(0x0,0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)</key>
            <dict>
                <key>AAPL,slot-name</key>
                <string>Thunderbolt</string>
            </dict>
        </dict>
The address used is based on my Apollo 8X and a TB drive I have around, perhaps other devices would use different device paths.
Captura de pantalla 2020-02-12 a las 12.00.32.png

For those of you who would like to use the provided Aorus PCIe RAID card I'll also attach the SSDT.

MacPro7,1 SMBIOS has an issue with memory modules, so an annoying message comes up every time you boot, there is MacProMemoryNotificationDisabler.kext, that solves the issue :)

Section 5: Lets share some SSDT for the used devices :).

Graphics: Based on a 5500 XT 8GB, remember to adopt as you need for your specific card. 5000 series are much similar to VEGA than Polaris, this there is some "extra devices" (EGP0 and EGP1) that did not appear in previous builds, also there is no "LCD" device in device tree of SMBIOS MacPro7,1, that must be esclusive to devices with Internal display like all iMac.
C++:
DefinitionBlock ("", "SSDT", 1, "DRENAN", "DSGNEX", 0x00000000)
{
    External (_SB_.PC02.BR2A, DeviceObj)
    External (_SB_.PC02.BR2A.PEGP, DeviceObj)
    External (_SB_.PC02.BR2A.SL05, DeviceObj)
    External (_SB_.PNLF.BSET, MethodObj)
    External (BRTL, IntObj)
    External (DTGP, MethodObj)
    External (EGPS, IntObj)

    Scope (_SB.PC02.BR2A)
    {
        Scope (SL05)
        {
            Name (_STA, Zero)
        }

        Scope (PEGP)
        {
            Name (_STA, Zero)
        }

        Device (EGP0)
        {
            Name (_ADR, Zero)
            Method (_STA, 0, NotSerialized)
            {
                Return (One)
            }

            Device (EGP1)
            {
                Name (_ADR, Zero)
                Device (GFX0)
                {
                    Name (_ADR, Zero)
                    Name (ATIB, Buffer (0x0100){})
                    Method (ATIF, 2, Serialized)
                    {
                        If ((Arg0 == Zero))
                        {
                            Return (AF00 ())
                        }

                        If ((Arg0 == One))
                        {
                            Return (AF01 ())
                        }

                        If ((Arg0 == 0x02))
                        {
                            Return (AF02 ())
                        }
                        Else
                        {
                            CreateWordField (ATIB, Zero, SSZE)
                            CreateWordField (ATIB, 0x02, VERN)
                            CreateDWordField (ATIB, 0x04, NMSK)
                            CreateDWordField (ATIB, 0x08, SFUN)
                            SSZE = Zero
                            VERN = Zero
                            NMSK = Zero
                            SFUN = Zero
                            Return (ATIB)
                        }
                    }

                    Method (AF00, 0, NotSerialized)
                    {
                        CreateWordField (ATIB, Zero, SSZE)
                        CreateWordField (ATIB, 0x02, VERN)
                        CreateDWordField (ATIB, 0x04, NMSK)
                        CreateDWordField (ATIB, 0x08, SFUN)
                        SSZE = 0x0C
                        VERN = One
                        NMSK = 0x0C
                        SFUN = 0x03
                        Return (ATIB)
                    }

                    Method (AF01, 0, NotSerialized)
                    {
                        CreateWordField (ATIB, Zero, SSZE)
                        CreateDWordField (ATIB, 0x02, VMSK)
                        CreateDWordField (ATIB, 0x06, FLGS)
                        SSZE = 0x0A
                        VMSK = 0x03
                        FLGS = One
                        Return (ATIB)
                    }

                    Method (AF02, 0, NotSerialized)
                    {
                        CreateWordField (ATIB, Zero, SSZE)
                        CreateDWordField (ATIB, 0x02, PSBI)
                        CreateByteField (ATIB, 0x09, FPWR)
                        CreateByteField (ATIB, 0x0A, FPID)
                        SSZE = 0x0D
                        PSBI = 0x08
                        FPWR = Zero
                        FPID = EGPS
                        Return (ATIB)
                    }

                    Method (_PRW, 0, NotSerialized)
                    {
                        Return (Package (0x02)
                        {
                            0x69,
                            0x03
                        })
                    }

                    OperationRegion (PEGH, PCI_Config, Zero, 0x40)
                    Field (PEGH, ByteAcc, NoLock, Preserve)
                    {
                        VID0,   16,
                        DID0,   16,
                        GCMD,   8,
                        Offset (0x24),
                        BAR4,   32
                    }

                    Method (_DSM, 4, NotSerialized)
                    {
                        Local0 = Package ()
                            {
                                "built-in",
                                Buffer ()
                                {
                                     0x00
                                },

                                "AAPL,slot-name",
                                Buffer ()
                                {
                                    "Slot-1"
                                },
                                                                               
                                "model",
                                Buffer ()
                                {
                                    "AMD Radeon Pro 5500 XT"
                                },
               
                                "name",
                                Buffer ()
                                {
                                    "AMD(R) Radeon Pro Graphics Controller"
                                },

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

                    Return (0x80000002)
                }

                Device (HDAU)
                {
                    Name (_ADR, One)
                    OperationRegion (HDAH, PCI_Config, Zero, 0x40)
                    Field (HDAH, ByteAcc, NoLock, Preserve)
                    {
                        VID0,   16,
                        DID0,   16
                    }

                    Method (_DSM, 4, NotSerialized)
                    {
                        Local0 = Package ()
                            {
                                "built-in",
                                Buffer ()
                                {
                                     0x00
                                },

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

                                "model",
                                Buffer ()
                                {
                                    "AMD Radeon Pro Audio"
                                },

                                "name",
                                Buffer ()
                                {
                                    "AMD(R) Radeon Pro Audio Controller"
                                },

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

                    Return (0x80000002)
                }
            }
        }
    }
}
M.2: There are three locations to cover, all use the same method.
C++:
DefinitionBlock ("", "SSDT", 1, "DRENAN", "DSGN10G", 0x00000000)
{
    External (_SB_.PC03.BR3D, DeviceObj)
    External (_SB_.PC03.BR3D.PEGP, DeviceObj)
    External (_SB_.PC03.BR3D.SL0C, DeviceObj)
    External (_SB_.PCI0.RP09, DeviceObj)
    External (_SB_.PCI0.RP09.PXSX, DeviceObj)
    External (_SB_.PCI0.RP17, DeviceObj)
    External (_SB_.PCI0.RP17.PXSX, DeviceObj)
    External (DTGP, MethodObj)

    Scope (\_SB.PC03.BR3D)
    {
        Scope (SL0C)
        {
            Name (_STA, Zero)
        }

        Scope (PEGP)
        {
            Name (_STA, Zero)
        }

        Device (ANS2)
        {
            Name (_ADR, Zero)
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }

                Local0 = Package ()
                    {
                        "AAPL,slot-name",
                        Buffer ()
                        {
                            "Internal"
                        },

                        "built-in",
                        Buffer ()
                        {
                             0x00
                        },

                        "model",
                        Buffer ()
                        {
                            "Apple NVMe SSD 2"
                        },

                        "name",
                        Buffer ()
                        {
                            "Apple(R) NVMe SSD Controller"
                        }
                    }
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
    }

    Scope (\_SB.PCI0.RP09)
    {
        Scope (PXSX)
        {
            Name (_STA, Zero)
        }

        Device (ANS1)
        {
            Name (_ADR, Zero)
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }

                Local0 = Package ()
                    {
                        "AAPL,slot-name",
                        Buffer ()
                        {
                            "Internal"
                        },

                        "built-in",
                        Buffer ()
                        {
                             0x00
                        },

                        "model",
                        Buffer ()
                        {
                            "Apple NVMe SSD 1"
                        },

                        "name",
                        Buffer ()
                        {
                            "Apple(R) NVMe SSD Controller"
                        }
                    }
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
    }

    Scope (\_SB.PCI0.RP17)
    {
        Scope (PXSX)
        {
            Name (_STA, Zero)
        }

        Device (ANS3)
        {
            Name (_ADR, Zero)
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }

                Local0 = Package ()
                    {
                        "AAPL,slot-name",
                        Buffer ()
                        {
                            "Internal"
                        },

                        "built-in",
                        Buffer ()
                        {
                             0x00
                        },

                        "model",
                        Buffer ()
                        {
                            "Apple NVMe SSD 3"
                        },

                        "name",
                        Buffer ()
                        {
                            "Apple(R) NVMe SSD Controller"
                        }
                    }
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
    }
}
AirPort: In order to use this SSDT you need to have installed a DW1820A which is the module I am using and the one this SSDT was made for, otherwise just ignore and don't use. .kext to use aloing the DW1820A attached at the end of post #1 copy to C/K/O.
C++:
DefinitionBlock ("", "SSDT", 1, "DRENAN", "DSGN10G", 0x00000000)
{
    External (_SB_.PCI0.RP01, DeviceObj)
    External (_SB_.PCI0.RP01.PXSX, DeviceObj)
    External (DTGP, MethodObj)

    Scope (\_SB.PCI0.RP01)
    {
        Scope (PXSX)
        {
            Name (_STA, Zero)
        }

        Device (ARPT)
        {
            Name (_ADR, Zero)
            Method (_DSM, 4, NotSerialized)
            {
                Local0 = Package ()
                    {
                        "built-in",
                        Buffer ()
                        {
                             0x00
                        },

                        "AAPL,slot-name",
                        Buffer ()
                        {
                            "Internal"
                        },

                        "device_type",
                        Buffer ()
                        {
                            "AirPort"
                        },

                        "model",
                        Buffer ()
                        {
                            "AirPort Extreme 802.11ac + Bluetooth"
                        },

                        "name",
                        Buffer ()
                        {
                            "Apple(R) AirPort Extreme 802.11ac + Bluetooth Controller"
                        },
       
                        "compatible",
                        Buffer ()
                        {
                            "pci14e4,4331"
                        },
       
                        "pci-aspm-default",
                        Buffer ()
                        {
                            0x00
                        }
                    }
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
    }
}
SATA: One of the two chipset is made by ASMedia, which should work just as fine since the OS already includes drivers and simply works.
C++:
DefinitionBlock ("", "SSDT", 1, "ICLONS", "DSGN10G", 0x00000000)
{
    External (_SB_.PCI0, DeviceObj)
    External (_SB_.PCI0.RP02, DeviceObj)
    External (_SB_.PCI0.RP02.PXSX, DeviceObj)
    External (_SB_.PCI0.SAT1, DeviceObj)
    External (DTGP, MethodObj)

    Scope (\_SB.PCI0.RP02)
    {
        Scope (PXSX)
        {
            Name (_STA, Zero)
        }

        Device (SAT0)
        {
            Name (_ADR, Zero)
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }

                Local0 = Package ()
                    {
                        "AAPL,slot-name",
                        Buffer ()
                        {
                            "Internal"
                        },

                        "built-in",
                        Buffer ()
                        {
                             0x00
                        },

                        "model",
                        Buffer ()
                        {
                            "ASMedia ASM1062 Serial ATA Chipset"
                        },

                        "name",
                        Buffer ()
                        {
                            "ASMedia(R) ASM1062 SATA AHCI Controller"
                        },

                        "subsystem-id",
                        Buffer ()
                        {
                             0x62, 0x10, 0x00, 0x00
                        },

                        "device-id",
                        Buffer ()
                        {
                             0x12, 0x06, 0x00, 0x00
                        },

                        "subsystem-vendor-id",
                        Buffer ()
                        {
                             0x21, 0x1b, 0x00, 0x00
                        }
                    }
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
    }

    Scope (\_SB.PCI0)
    {
        Scope (SAT1)
        {
            Method (_DSM, 4, NotSerialized)
            {
                Local0 = Package ()
                    {
                        "AAPL,slot-name",
                        Buffer ()
                        {
                            "Internal"
                        },

                        "built-in",
                        Buffer ()
                        {
                             0x00
                        },

                        "model",
                        Buffer ()
                        {
                            "Intel X299X Series SATA AHCI Chipset"
                        },

                        "name",
                        Buffer ()
                        {
                            "Intel(R) Series SATA AHCI Controller"
                        },

                        "device-id",
                        Buffer ()
                        {
                             0x82, 0xa2, 0x00, 0x00
                        }
                    }
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
    }
}
Audio: using a Realtek ALC1220 whihc should work with the selected ID's on the SSDT, no need to fill device ID in .plist since has already been implemented in this ACPi table. (NOTE: Audio device in MacPro7,1 SMBIOS is "ADIO" not "HDEF" but for some reason it automatically loads HDEF or just ignores the ACPI table if trying to implement "ADIO" and loads no audio, my guess it has something to do with AppleALC.kext hardcoding device HDEF by the compiler or something, perhaps someone has an idea about this??)
C++:
DefinitionBlock ("", "SSDT", 1, "ICLONS", "DSGEX10G", 0x00000000)
{
    External (_SB_.PCI0, DeviceObj)
    External (_SB_.PCI0.CAVS, DeviceObj)
    External (DTGP, MethodObj)

    Scope (\_SB.PCI0)
    {
        Scope (CAVS)
        {
            Name (_STA, Zero)
        }

        Device (HDEF)
        {
            Name (_ADR, 0x001F0003)
            Method (_DSM, 4, NotSerialized)
            {
                Local0 = Package ()
                    {
                        "AAPL,slot-name",
                        Buffer ()
                        {
                            "Internal"
                        },

                        "model",
                        Buffer ()
                        {
                            "Realtek ALC1220-VB 7.1 Audio"
                        },

                        "name",
                        Buffer ()
                        {
                            "Realtek(R) ALC1220-VB Audio Controller"
                        },

                        "device-id",
                        Buffer ()
                        {
                             0xf0, 0xa2, 0x00, 0x00
                        },
       
                        "layout-id",
                        Buffer ()
                        {
                            0x07, 0x00, 0x00, 0x00
                        },
       
                        "alc-layout-id",
                        Buffer ()
                        {
                            0x07, 0x00, 0x00, 0x00
                        },

                        "compatible",
                        Buffer ()
                        {
                            "pci8086,a2f0"
                        },

                        "MaximumBootBeepVolume",
                        Buffer ()
                        {
                             0xee
                        },

                        "MaximumBootBeepVolumeAlt",
                        Buffer ()
                        {
                             0xee
                        },

                        "PinConfigurations",
                        Buffer (Zero){}
                    }
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
    }
}
SBUS: This one has always been evasive, but its finally done, no need to "Fix SBUS" in .plist no more, correctly loading.
C++:
DefinitionBlock ("", "SSDT", 1, "DRENAN", "DSGNEX", 0x00000000)
{
    External (_SB_.PCI0, DeviceObj)
    External (_SB_.PCI0.SBUS, DeviceObj)
    External (DTGP, MethodObj)

    Scope (_SB.PCI0)
    {
        Scope (SBUS)
        {
            OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
            Field (SMBP, DWordAcc, NoLock, Preserve)
            {
                    ,   2,
                I2CE,   1
            }

            OperationRegion (SMPB, PCI_Config, 0x20, 0x04)
            Field (SMPB, DWordAcc, NoLock, Preserve)
            {
                    ,   5,
                SBAR,   11
            }

            OperationRegion (SMBI, SystemIO, (SBAR << 0x05), 0x10)
            Field (SMBI, ByteAcc, NoLock, Preserve)
            {
                HSTS,   8,
                Offset (0x02),
                HCON,   8,
                HCOM,   8,
                TXSA,   8,
                DAT0,   8,
                DAT1,   8,
                HBDR,   8,
                PECR,   8,
                RXSA,   8,
                SDAT,   16
            }
     
            Method (_DSM, 4, NotSerialized)
            {
                Local0 = Package ()
                    {
                        "AAPL,slot-name",
                        Buffer ()
                        {
                            "Internal"
                        },

                        "built-in",
                        Buffer ()
                        {
                             0x00
                        },

                        "model",
                        Buffer ()
                        {
                            "Intel X299X Series SMBus Chipset"
                        },

                        "name",
                        Buffer ()
                        {
                            "Intel(R) Series SMBus Controller"
                        },
             
                        "device_type",
                        Buffer ()
                        {
                            "SMBus"
                        },

                        "subsystem-id",
                        Buffer ()
                        {
                             0x01, 0x50, 0x00, 0x00
                        },

                        "device-id",
                        Buffer ()
                        {
                             0xa3, 0xa2, 0x00, 0x00
                        },

                        "subsystem-vendor-id",
                        Buffer ()
                        {
                             0x58, 0x14, 0x00, 0x00
                        }
                    }
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
 
            Device (BUS0)
            {
                Name (_CID, "smbus")
                Name (_ADR, Zero)
                Device (BLC0)
                {
                    Name (_ADR, Zero)
                    Name (_CID, "smbus-blc")
                    Method (_DSM, 4, NotSerialized)
                    {
                        Local0 = Package ()
                            {
                                "refnum",
                                Zero,
                                "version",
                                0x03,
                                "fault-off",
                                0x03,
                                "fault-len",
                                0x04,
                                "skey",
                                0x4C445342,
                                "smask",
                                0xFF
                            }
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }
            }
 
            Device (BUS1)
            {
                Name (_CID, "smbus")
                Name (_ADR, One)
            }
        }
    }
}
XHCI: Correct port and power properties in corcondance to Board defaults and MacPro7,1 properties, use along the XHCI port patch.
Code:
Name.
com.apple.iokit.IOUSBHostFamily
com.apple.driver.usb.AppleUSBXHCI
Find.
83FB0F0F
83F90F0F
Replace.
83FB3F0F
83F93F0F
Comment.
USB Port limit patch #1/2 10.15.x (credit DalianSky)
USB Port limit patch #2/2 10.15.x (credit DalianSky)
C++:
DefinitionBlock ("", "SSDT", 1, "DRENAN", "DSGN10G", 0x00000000)
{
    External (_SB_.PCI0.RP13, DeviceObj)
    External (_SB_.PCI0.RP13.PXSX, DeviceObj)
    External (_SB_.PCI0.XHCI, DeviceObj)
    External (DTGP, MethodObj)

    Scope (\_SB.PCI0.RP13)
    {
        Scope (PXSX)
        {
            Name (_STA, Zero)
        }

        Device (XHC2)
        {
            Name (_ADR, Zero)
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }

                Local0 = Package ()
                    {
                        "AAPL,slot-name",
                        Buffer ()
                        {
                            "Internal"
                        },

                        "built-in",
                        Buffer ()
                        {
                             0x00
                        },

                        "model",
                        Buffer ()
                        {
                            "ASMedia ASM2142 Internal USB 3.2 Gen 2 Type-C Chipset"
                        },

                        "name",
                        Buffer ()
                        {
                            "ASMedia(R) ASM2142 USB 3.2 Gen 2 Type-C Controller"
                        },

                        "device-id",
                        Buffer ()
                        {
                             0x42, 0x21, 0x00, 0x00
                        },

                        "AAPL,clock-id",
                        0x02,
                        "AAPL,current-available",
                        0x0834,
                        "AAPL,current-extra",
                        0x0c80,
                        "AAPL,current-in-sleep",
                        0x03e8,
                        "AAPL,max-port-current-in-sleep",
                        0x0834
                    }
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }

            Method (_PRW, 0, NotSerialized)
            {
                Return (Package ()
                {
                    0x69,
                    0x04
                })
            }

            Device (RHUB)
            {
                Name (_ADR, Zero)
                Method (_RMV, 0, NotSerialized)
                {
                    Return (Zero)
                }

                Device (SSP1)
                {
                    Name (_ADR, One)
                    Name (_UPC, Package ()
                    {
                        0xFF,
                        0x09,
                        Zero,
                        Zero
                    })
                    Name (_PLD, Package ()
                    {
                        Buffer ()
                        {
                            0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                            0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                        }
                    })
                    Method (_DSM, 4, NotSerialized)
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer ()
                            {
                                 0x03
                            })
                        }

                        Return (Package ()
                        {
                            "UsbCPortNumber",
                            One
                        })
                    }
                }

                Device (SSP2)
                {
                    Name (_ADR, 0x02)
                    Name (_UPC, Package ()
                    {
                        0xFF,
                        0x09,
                        Zero,
                        Zero
                    })
                    Name (_PLD, Package ()
                    {
                        Buffer ()
                        {
                            0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                            0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                        }
                    })
                    Method (_DSM, 4, NotSerialized)
                    {
                        If ((Arg2 == Zero))
                        {
                            Return (Buffer ()
                            {
                                 0x03
                            })
                        }

                        Return (Package ()
                        {
                            "UsbCPortNumber",
                            0x02
                        })
                    }
                }

                Device (HS01)
                {
                    Name (_ADR, 0x03)
                    Name (_UPC, Package ()
                    {
                        0xFF,
                        0x09,
                        Zero,
                        Zero
                    })
                    Name (_PLD, Package ()
                    {
                        Buffer ()
                        {
                            0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                            0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                        }
                    })
                }

                Device (HS02)
                {
                    Name (_ADR, 0x04)
                    Name (_UPC, Package ()
                    {
                        0xFF,
                        0x09,
                        Zero,
                        Zero
                    })
                    Name (_PLD, Package ()
                    {
                        Buffer ()
                        {
                            0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                            0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                        }
                    })
                }
            }
        }
    }

    Scope (\_SB.PCI0.XHCI)
    {
        Method (_DSM, 4, NotSerialized)
        {
            If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }

            Local0 = Package ()
                {
                    "AAPL,slot-name",
                    Buffer ()
                    {
                        "Internal"
                    },

                    "built-in",
                    Buffer ()
                    {
                         0x00
                    },

                    "model",
                    Buffer ()
                    {
                        "Intel X299X Series USB 3.2 Chipset"
                    },

                    "name",
                    Buffer ()
                    {
                        "Intel(R) Series Chipset USB 3.2 Controller"
                    },

                    "device-id",
                    Buffer ()
                    {
                         0xaf, 0xa2, 0x00, 0x00
                    },

                    "AAPL,clock-id",
                    Zero,
                    "AAPL,current-available",
                    0x0834,
                    "AAPL,current-extra",
                    0x0c80,
                    "AAPL,current-in-sleep",
                    0x03e8,
                    "AAPL,max-port-current-in-sleep",
                    0x0834
                }
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local0)
        }
    }
}
Aorus RAID Card: Note this is for PC01, if you have the card installed on a different PCI than mine just adopt as needed.
C++:
DefinitionBlock ("", "SSDT", 1, "ICLONS", "DSGN10G", 0x00000000)
{
    External (_SB_.PC01.BR1A, DeviceObj)
    External (_SB_.PC01.BR1A.SL01, DeviceObj)
    External (_SB_.PC01.BR1A.PEGP, DeviceObj)
    External (_SB_.PC01.BR1B, DeviceObj)
    External (_SB_.PC01.BR1B.SL02, DeviceObj)
    External (_SB_.PC01.BR1C, DeviceObj)
    External (_SB_.PC01.BR1C.SL03, DeviceObj)
    External (_SB_.PC01.BR1D, DeviceObj)
    External (_SB_.PC01.BR1D.SL04, DeviceObj)
    External (DTGP, MethodObj)

    Scope (\_SB.PC01.BR1A)
    {
        Scope (SL01)
        {
            Name (_STA, Zero)
        }
 
        Scope (PEGP)
        {
            Name (_STA, Zero)
        }
 
        Device (RAD0)
        {
            Name (_ADR, Zero)
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }

                Local0 = Package ()
                    {
                        "AAPL,slot-name",
                        Buffer ()
                        {
                            "Slot-4"
                        },

                        "built-in",
                        Buffer ()
                        {
                             0x00
                        },

                        "model",
                        Buffer ()
                        {
                            "Aorus PCIe RAID NVMe 1"
                        },

                        "name",
                        Buffer ()
                        {
                            "Gigabyte(R) Aorus Gen 4 AIC Controller"
                        }
                    }
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
    }

    Scope (\_SB.PC01.BR1B)
    {
        Scope (SL02)
        {
            Name (_STA, Zero)
        }
 
        Device (RAD1)
        {
            Name (_ADR, Zero)
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }

                Local0 = Package ()
                    {
                        "AAPL,slot-name",
                        Buffer ()
                        {
                            "Slot-4"
                        },

                        "built-in",
                        Buffer ()
                        {
                             0x00
                        },

                        "model",
                        Buffer ()
                        {
                            "Aorus PCIe RAID NVMe 2"
                        },

                        "name",
                        Buffer ()
                        {
                            "Gigabyte(R) Aorus Gen 4 AIC Controller"
                        }
                    }
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
    }

    Scope (\_SB.PC01.BR1C)
    {
        Scope (SL03)
        {
            Name (_STA, Zero)
        }
 
        Device (RAD2)
        {
            Name (_ADR, Zero)
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }

                Local0 = Package ()
                    {
                        "AAPL,slot-name",
                        Buffer ()
                        {
                            "Slot-4"
                        },

                        "built-in",
                        Buffer ()
                        {
                             0x00
                        },

                        "model",
                        Buffer ()
                        {
                            "Aorus PCIe RAID NVMe 3"
                        },

                        "name",
                        Buffer ()
                        {
                            "Gigabyte(R) Aorus Gen 4 AIC Controller"
                        }
                    }
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
    }

    Scope (\_SB.PC01.BR1D)
    {
        Scope (SL04)
        {
            Name (_STA, Zero)
        }
 
        Device (RAD3)
        {
            Name (_ADR, Zero)
            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }

                Local0 = Package ()
                    {
                        "AAPL,slot-name",
                        Buffer ()
                        {
                            "Slot-4"
                        },

                        "built-in",
                        Buffer ()
                        {
                             0x00
                        },

                        "model",
                        Buffer ()
                        {
                            "Aorus PCIe RAID NVMe 4"
                        },

                        "name",
                        Buffer ()
                        {
                            "Gigabyte(R) Aorus Gen 4 AIC Controller"
                        }
                    }
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
    }
}
RTC0: Finally an ACPI table to avoid using DSDT HotPatch! Tested on Designare 10G and possibly on ASRock X299 Creator too. (Credits over to the OpenCore Project for their great understanding of ACPI :clap: )
C++:
DefinitionBlock ("", "SSDT", 2, "RTC0", "DESG10G", 0x00000000)
{
    External (_SB_.PCI0.LPCB, DeviceObj)

    Scope (_SB.PCI0.LPCB)
    {
        Device (RTC0)
        {
            Name (_HID, EisaId ("PNP0B00"))
            Name (_CRS, ResourceTemplate ()
            {
                IO (Decode16,
                    0x0070,
                    0x0070,
                    0x01,
                    0x08,
                    )
                IRQNoFlags ()
                    {8}
            })
            Method (_STA, 0, NotSerialized)
            {
                If (_OSI ("Darwin")) {
                    Return (0x0F)
                } Else {
                    Return (0);
                }
            }
        }
    }
}
 

Attachments

Last edited:
Joined
Mar 18, 2017
Messages
724
Motherboard
Asus Prime X299 Deluxe
CPU
i9-7940X
Graphics
2x Vega 56
Mac
iMac, Mac mini
Mobile Phone
iOS
Unfortunately I don't have a X299X motherboard, but I still have a working build with Gigabyte X299UD4 PRO , so I could provide help from this configuration , past year, in 2018 we made extensive research with @nmano and Kgp for the Thunderbolt SSDT.aml.
 
Last edited:
Joined
Oct 12, 2010
Messages
700
Motherboard
X299-WU8
CPU
i9-9880XE
Graphics
Vega 64
Mac
iMac, Mac Pro
Did you try X99 5960X patch for X299X?

Find Data<-> 483D0000 0040
MatchOS String <-> 10.14.x,10.15.x
Name String<-> IOPCIFamily
Replace Data<-> 483D0000 0080
 
Joined
Jan 15, 2018
Messages
51
Motherboard
ASUS Rampage VI Apex X299
CPU
i9-7900X
Graphics
Radeon VII
Mac
MacBook Pro
Mobile Phone
iOS
I also have this issue with asus r6a board and 7900x when trying to do a 10.15.2 fresh install. EFI works totally fine with 10.15.1. But will encounter this issue when boot from 10.15.2 usb installer. After turn on the Above 4g Decoding in BIOS, everything seems fine. You can try it.
 
Joined
Jul 10, 2013
Messages
305
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10900X
Graphics
RX 5500 XT
Mac
iMac, MacBook Pro, Mac Pro
Classic Mac
eMac, iBook, iMac, PowerBook
Mobile Phone
Android
Did you try X99 5960X patch for X299X?

Find Data<-> 483D0000 0040
MatchOS String <-> 10.14.x,10.15.x
Name String<-> IOPCIFamily
Replace Data<-> 483D0000 0080
Hello @nmano, I will certainly try in a bit, at the office.

EDIT: Tried with no changes, TB error is persistent and shows no progress beyond the captures attached. Something is off with TB.
 
Last edited:
Joined
Jul 10, 2013
Messages
305
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10900X
Graphics
RX 5500 XT
Mac
iMac, MacBook Pro, Mac Pro
Classic Mac
eMac, iBook, iMac, PowerBook
Mobile Phone
Android
I also have this issue with asus r6a board and 7900x when trying to do a 10.15.2 fresh install. EFI works totally fine with 10.15.1. But will encounter this issue when boot from 10.15.2 usb installer. After turn on the Above 4g Decoding in BIOS, everything seems fine. You can try it.
I have tried with and without 4G enabled, no changes
 
Joined
Mar 29, 2011
Messages
621
Motherboard
ASRock X99 Extreme6
CPU
E5-2690 v4
Graphics
Radeon VII
What are the Thunderbolt settings in your BIOS, and what are they set to? Somewhere in the @kgp guides, it's mentioned that in order to install the Thunderbolt AIC you have to either have an SSDT in place at install, or install without the card present and then implement it afterwards. You'll notice that in his X299 Mojave guide it's done as a postinstall step. So for your motherboard, this means the practical thing to do is to disable Thunderbolt in the BIOS until you have OS X installed.

It also says: "you will not be able to configure your Thunderbolt 3 Adapter in the mainboard BIOS, until the Adapter has been successfully recognised and initialised by the UEFI Windows System." Yeah, Thunderbolt stuff is weird. So if you don't see anything for Thunderbolt in your BIOS, that's probably the culprit. Likely you'll need to install Windows for other things anyway: BIOS mods, firmware updates, etc.
 
Joined
Jul 10, 2013
Messages
305
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10900X
Graphics
RX 5500 XT
Mac
iMac, MacBook Pro, Mac Pro
Classic Mac
eMac, iBook, iMac, PowerBook
Mobile Phone
Android
Thanks for the comment, but KGP's guide is not related to GB boards since X299X Designare EX 10G has a built-in TitanRidge controller with two ports, so even if I load windows (which I have) and disable TB in BIOS or change settings to TB configuration, the exact same thing happens.

No idea what this is.
 
Joined
Mar 29, 2011
Messages
621
Motherboard
ASRock X99 Extreme6
CPU
E5-2690 v4
Graphics
Radeon VII
It's surprising that you still get it with the thunderbolt disabled. You never stated that.

Perhaps there's something weird going on with the console (I think it gets relocated around this point), and your error has nothing to do with thunderbolt. Please post a complete photo of verbose log and your config.plist.

Disable thunderbolt in BIOS before taking photo.
 
Joined
Oct 12, 2010
Messages
700
Motherboard
X299-WU8
CPU
i9-9880XE
Graphics
Vega 64
Mac
iMac, Mac Pro
@dolgarrenan
Check in your Bios setting make sure
Sata=AHCI
CSM=Disable

TRY to disable thunderbolt in bios
Sent your DSDT files from windows.
 
Top