Contribute
Register

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

Status
Not open for further replies.
Is there something especially funny in using VoodooHDA?

You can upload your HDMI SSDT, to help also others, instead of just making a short comment accompanied by a smily.

If you can also explain in detail how you managed to run alternatively analogue audio without VoodooHDA, please add a detailed description, which I can implement in my guide in addition.

Thanks in advance!
Code:
DefinitionBlock ("", "SSDT", 1, "lan", "ami", 0x00003000)
{
    External (_SB_.PC02.BR2A, DeviceObj)    // (from opcode)
    External (_SB_.PC02.BR2A.PEGP._ADR, UnknownObj)    // (from opcode)

    Scope (\_SB.PC02.BR2A)
    {
        Device (GFX0)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Name (_SUN, One)  // _SUN: Slot User Number
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                Store (0x0F, \_SB.PC02.BR2A.PEGP._ADR)
            }

            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                          
                    })
                }

                Return (Package (0x0E)
                {
                    "@0,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                        
                    },

                    "@1,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                        
                    },

                    "@2,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                        
                    },

                    "@3,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                        
                    },

                    "@4,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                        
                    },

                    "@5,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                        
                    },

                    "hda-gfx",
                    Buffer (0x0A)
                    {
                        "onboard-2"
                    }
                })
            }
        }

        Device (HDAU)
        {
            Name (_ADR, One)  // _ADR: Address
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                          
                    })
                }

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

                    "hda-gfx",
                    Buffer (0x0A)
                    {
                        "onboard-2"
                    }
                })
            }
        }
    }

    Store ("ssdt-ami-R6A_nvidia_hdmi_audio_v3.0 github.com/toleda", Debug)
}
 
Code:
DefinitionBlock ("", "SSDT", 1, "lan", "ami", 0x00003000)
{
    External (_SB_.PC02.BR2A, DeviceObj)    // (from opcode)
    External (_SB_.PC02.BR2A.PEGP._ADR, UnknownObj)    // (from opcode)

    Scope (\_SB.PC02.BR2A)
    {
        Device (GFX0)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Name (_SUN, One)  // _SUN: Slot User Number
            Method (_INI, 0, NotSerialized)  // _INI: Initialize
            {
                Store (0x0F, \_SB.PC02.BR2A.PEGP._ADR)
            }

            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                         
                    })
                }

                Return (Package (0x0E)
                {
                    "@0,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                       
                    },

                    "@1,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                       
                    },

                    "@2,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                       
                    },

                    "@3,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                       
                    },

                    "@4,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                       
                    },

                    "@5,connector-type",
                    Buffer (0x04)
                    {
                         0x00, 0x08, 0x00, 0x00                       
                    },

                    "hda-gfx",
                    Buffer (0x0A)
                    {
                        "onboard-2"
                    }
                })
            }
        }

        Device (HDAU)
        {
            Name (_ADR, One)  // _ADR: Address
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                         
                    })
                }

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

                    "hda-gfx",
                    Buffer (0x0A)
                    {
                        "onboard-2"
                    }
                })
            }
        }
    }

    Store ("ssdt-ami-R6A_nvidia_hdmi_audio_v3.0 github.com/toleda", Debug)
}

o.k. cool! Thanks! :thumbup:

And which approach do you use for analogue audio?
 
o.k. cool! Thanks! :thumbup:

And which approach do you use for analogue audio?
Still upset about fixed DSDT files, unable to boot up with modified one.
 
Still upset about fixed DSDT files, unable to boot up with modified one.

Which means you have no analogue audio?

I will implement your HDMI SSDT as an optional audio configuration as soon you can also provide an alternative analogue audio configuration to VoodooHDA :thumbup:
 
Can you try to use a USB3.1 Flash Drive Installer? You are the first one with the intention to create a non-ASUS Prime X299 Deluxe XHC USB Kext. I want to support your courage at all costs and with all efforts!

We have to rock it together! Just continue asking and writing! :thumbup:

Ah I should of mentioned that, the only time I was able to successfully boot the installer was when using a usb 3.1 port. Everything else failed.
 
Ah I should of mentioned that, the only time I was able to successfully boot the installer was when using a usb 3.1 port. Everything else failed.

That's expected! The USB3.1 ports are independent from the XHC Controller! They are assigned to different controllers which are natively implemented by OS X!

If you are able to boot the USB3.1 Flash Drive Installer, you now can install macOS.

Subsequently you can start immediately with the XHC USB Kext creation for the Asus TUF X299 Mark I. If you succeed, all your USB2.0 and USB3.0 Ports will become fully functional, now and forever.

For subsequent macOS updates, you can then directly use your board-specific XHC USB Kext in the EFI-Folder of your USB 2.0 or 3.0 Flash Drive. No need to further boot with the USB3.1 Installer. All your USB 2.0, 3.0 and 3.1 ports shall be fully functional, once you established and successfully implemented the XHC USB Kext for your specific mainboard ,i.e. the Asus TUF X299 Mark I.

No further pain granted!
 
Last edited:
I read your guide almost 50 times and still don't know what I did wrong and got that message, lol

Anyway, I decided to recording the video of the Verbo boost, and, when you got a chance, pls tell me what could be the reason. It's a 4 min video, not sure if TonyMac allow me to post, if not, I will upload it to either my Google Drive and send you the link or YouTube, whichever easy for you to look at, thanks again!
It might take a while for Google Drive let you view the Video, but that I think would be the best way to share my issue,

https://drive.google.com/open?id=0B8Ji3c2Y8boNNlNkTGptc2YzaTQ

I suddenly face the same problem like you on my own system!... that's totally weird!

On Monday, everything went fine. Update to macOS High Sierra 10.13 Final Release without any issue... Everything as described in my guide.

a.) One problem could be related to the second Lan-controller. You have to disable the controller in the BIOS or use the Lan.kext attached to me guide in the EFI-Folder of the USB flash drive installer. However, this does not resolve the issue either.

b.) If I boot the USB Flash Drive Installer with the EFI on the System Disk, the USB Flash Drive Installer successfully boots. Don't ask me why. Can you try?

Just for testing I copied the EFI-folder of my System Disk to the USB Flash Drive Installer and surprise, it does not boot either. Always a reboot at the final step of the boot procedure...

The USB Flash Drive Installer just boots when I previously select on boot in the BIOS boot menu (F8) to boot from the system disk, although afterwards I select in the clover boot menu to boot with the USB Flash Drive Installer.

This behaviour is totally new to me. I am currently searching for solutions.

Let me know if you find the reason before.

Cheers,

KGP
 
That's expected! The USB3.1 ports are independent from the XHC Controller! They are assigned to different controllers which are natively implemented by OS X!

If you are able to boot the USB3.1 Flash Drive Installer, you now can install macOS.

Subsequently you can start immediately with the XHC USB Kext creation for the Asus TUF X299 Mark I. If you succeed, all your USB2.0 and USB3.0 Ports will become fully functional, now and forever.

For subsequent macOS updates, you can then directly use your board-specific XHC USB Kext in the EFI-Folder of your USB 2.0 or 3.0 Flash Drive. No need to further boot with the USB3.1 Installer. All your USB 2.0, 3.0 and 3.1 ports shall be fully functional, once you established and successfully implemented the XHC USB Kext for your specific mainboard ,i.e. the Asus TUF X299 Mark I.

No further pain granted!

Yeah my primary issue is getting past the runtime errors. I’m not exaggerating when I say 1 in 50 reboots is successful. Is there anything else I can try to get around the error? My method thus far has been to boot -> select usb clover -> hits the runtime error -> ctrl + alt + delete -> repeat. Should I be doing something differently?
 
Yeah my primary issue is getting past the runtime errors. I’m not exaggerating when I say 1 in 50 reboots is successful. Is there anything else I can try to get around the error? My method thus far has been to boot -> select usb clover -> hits the runtime error -> ctrl + alt + delete -> repeat. Should I be doing something differently?

Do you use the actual BIOS version for your board? 50 reboots for one successful boot is absolutely not normal. In my case I sometimes occasionally just need one or two reboots.

You can try to use the most actual Clover OsxAptioFixDrv.efi + Test2.efi instead of OsxAptioFix2Drv-free2000.efi for the install. However, I did not check about the stability of the primer configuration. It might result in random reboots, which are totally avoided by using OsxAptioFix2Drv-free2000.efi.
 

Attachments

  • Test2.efi.zip
    1.9 KB · Views: 80
Do you use the actual BIOS version for your board? 50 reboots for one successful boot is absolutely not normal. In my case I sometimes occasionally just need one or two reboots.

You can try to use the most actual Clover OsxAptioFixDrv.efi + Test2.efi instead of OsxAptioFix2Drv-free2000.efi for the install. However, I did not check about the stability of the primer configuration. It might result in random reboots, which are totally avoided by using OsxAptioFix2Drv-free2000.efi.
Thanks I will try that tomorrow night. I’m unfortunately traveling for most the day today. I am using the latest bios available for the board. I believe it is 802.
 
Status
Not open for further replies.
Back
Top