Contribute
Register

iMac Pro X99 - Live the Future now with macOS 10.14 Mojave [Successful Build/Extended Guide]

Status
Not open for further replies.
Oh! Okay! I thought that the PCI SSDTs were not necessary to run! I've applied all of them (Except the 6950x ssdt) and config.plist ACPI enabled.

Is everything ok now?

EDIT: bluetooth audio still stops, I think I will buy your recommenden card @izo1 What is the different compared with my combo wifi+bt? https://www.amazon.es/gp/product/B00MBP25UK/?tag=tonymacx86c03-21 Both are connected to USB 2.0 in MOBO and same chipset.

I upload again the ioreg file, PCI screenshot and EFI folder.

I really thought that SSDT were not neccesary to run drivers of devices!!

Well your ACPI table (IOREG) now looks more complete than your attached PCI snapshot.

Remaining inconsistencies: Your GPU shows up under Slot-6 in Section "PCI", while HDAU shows "PCI Slot 4". The latter also still shows up as pci10de,10f0 and not as e.g. "Nvidia GeForce GTX 1080 HDMI/DP" although the HDAU driver seems successfully loaded likely due to Whatevergreen.kext but not due to the respective Nvidia-SSDT. Please apply necessary modifications in the Nvidia-SSDT, which apparently still implement flaws. For the initial Nvidia-SSDT you might also temporarily remove Whatevergreen.kext to see if the Nvidia SSDT does what it is supposed to do.

Good luck,

KGP
 
Looks like the same card.

You don’t need ssdt for airport
You will need to set your USB ports to see the Bluetooth module. (Bt is usb and wifi uses pcie)

ARPT-SSDT recommended though. The same states for all other SSDTs. The SSDTs are not just for fun or cosmetics.. ;)
 
Hmm, @kgp @izo1 if I turn off the bluetooth in System Preferences, and turn it on again, it seems that the bluetooth audio is OK. But, if I mac goes to sleep, after wake up, the audio is again crapy. So weird :(
 
Hmm, @kgp @izo1 if I turn off the bluetooth in System Preferences, and turn it on again, it seems that the bluetooth audio is OK. But, if I mac goes to sleep, after wake up, the audio is again crapy. So weird :(

Maybe you need codeccommander.kext?
Your ARPT SSDT and BT/Wifi controller else seem properly implemented. I don’t use your BT/Wifi adapter. Impossible to provide further help and support on this topic from my side, sorry.
 
Before all, thank you very much KGP for this great guide!
It was very useful to upgrade my X99 from El Capitan to Mojave (clean install on a new drive).

My system is an Asus X99 DELUXE with Haswell-E CPU and NVidia GTX-960.
All seems to be working fine. Did not try sleep yet.

Here are my comments:

- I had many problems to install at first. All was from the need to use a 32Gb max USB2 thumbdrive. I first used a 64Gb USB3 and it did not boot properly to the installer. Please, can you add this info in your tuto (helps prevent future readers in the same situation).

- I had to use a different OsxAptioFix driver as the one provided does not work. I had the same problem under El Capitan and Yosemite before that, and only an alternative AptioFix works for me (I just copied the specific one I used on my El Capitan EFI setup and it worked).

- To be able to go through the installation process, I had to disconnect all drives (HD and SSD) but the one on which I was installing, just for the time of the installation (if not, the installation would stop saying that my computer was not compatible). Please consider adding this in your already well detailed tutorial as it might help others.

- Despite proper USB kext injection and SSDTs, bluetooth would not work (no bluetooth device recognized even if the broadcom is visible in IOReg under XHCI HS06), same problem I had in the past and I used the same working solution). Like for my El Capitan install, the solution was to follow that tutorial: https://www.tonymacx86.com/threads/broadcom-wifi-bluetooth-guide.242423/

- Audio would not work without that procedure (ALC1150) like for my El Capitan setup: https://www.tonymacx86.com/threads/mojave-applehda-audio.260004/


I will in the future submit on the right places my SSDTs and XHCI USB kexts specific to my motherboard which is very close to the Asus X99 A-II but not similar.

Thank you again and Kind Regards
 
Last edited:
@kgp Thanks for this incredible tutorial, that helped me build my first ever Hackintosh from Scracth on my Asus X99 - i7 5820K - GTX 970 set-up !

I still haven't managed to properly set-up XCPM with my i7 5820K, but CPU performance seems alright according to Geekbench.

However, the lack of Nvidia driver is very frustrating, and I am considering buying a low end AMD card to improve this.

I saw an affordable RX 570, but you mentionned that it was not recommended. What do I risk updating my Hack with it?
 
@kgp Thanks for this incredible tutorial, that helped me build my first ever Hackintosh from Scracth on my Asus X99 - i7 5820K - GTX 970 set-up !

I still haven't managed to properly set-up XCPM with my i7 5820K, but CPU performance seems alright according to Geekbench.

However, the lack of Nvidia driver is very frustrating, and I am considering buying a low end AMD card to improve this.

I saw an affordable RX 570, but you mentionned that it was not recommended. What do I risk updating my Hack with it?

SMBIOS iMacPro1,1 does not support iGPU. Thus, GPUs like RX 570 and RX 580 will not be fully supported. You might face possible issues with e.g. video coding. I therefore encourage to opt for a Vega 56 /64 instead.
 
As I want to edit video in Adobe Premiere, this could be a serious issue. I'll try to find a Vega 56 instead then :)
 
For my GPU, IORegistryExplorer says the path is

Code:
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/BR3A@3/IOPP/H000@0/IOPP/pci-bridge@0/IOPP/GFX0@0

How would I adopt the Vega 64 SSDT to this? The SSDT assumes the path is PCI0.BR3C/PEGP/EGP0/GFX0

I see no PEGP or EGP0 anywhere in IORegistryExplorer.

Am I just doing something wrong with IORegistryExplorer?

I've tried modifying it as follows and it doesn't seem to work.

Code:
DefinitionBlock ("", "SSDT", 1, "KGP", "X99VEGA", 0x00000000)
{
    External (_SB_.PCI0.BR3A, DeviceObj)    // (from opcode)
    External (_SB_.PCI0.BR3A.D077, DeviceObj)    // (from opcode)
    External (_SB_.PCI0.BR3A.H000, DeviceObj)    // (from opcode)
    External (_SB_.PCI0.BR3A.H001, DeviceObj)    // (from opcode)
    External (_SB_.PNLF.BSET, MethodObj)    // 1 Arguments (from opcode)
    External (BRTL, IntObj)    // (from opcode)
    External (DTGP, MethodObj)    // 5 Arguments (from opcode)
    External (EGPS, IntObj)    // (from opcode)

    Scope (\_SB.PCI0.BR3A)
    {
        Name (_ADR, 0x00030000)  // _ADR: Address
        Scope (H000)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Device (PEGP)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Device (GFX0)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Name (ATIB, Buffer (0x0100){})
...
 
Last edited:
For my GPU, IORegistryExplorer says the path is

IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/BR3A@3/IOPP/H000@0/IOPP/pci-bridge@0/IOPP/GFX0@0

How would I adopt the Vega 64 SSDT to this? The SSDT assumes the path is PCI0.BR3C/PEGP/EGP0/GFX0

I see no PEGP or EGP0 anywhere in IORegistryExplorer.

Am I just doing something wrong with IORegistryExplorer?

Did you catch the general idea of ACPI replacements and new device creation? Seems not to be the case.

This small guide might help, as outlined in the originating post of this thread.

Could you be more explicit with your system specs in your profile? "Lion" (motherboard) and "Core i5" (CPU) does not say much to me. Radeon 6850 (GPU) is not a Vega.

In any case, with respect to a Vega in Slot 1 of the ASUS X99-A II, one easily derives the above information under IOACPIPlane of IOREGExplorer. H000 is replaced by H001, after nulling the primer. H001 is replaced by D077, after nulling the primer. Finally PEGP is a new device, defined within the SSDT. It replaces D077, after nulling the latter. EGP0 also is a new Device, defined within the SSDT to replace pci-bridge@0. Thus, the resulting path PCI0.BR3C.PEGP.EGP0.GFX0 is absolutely correct. BTW.. GFX0 usually is also a new device defined within the SSDT and does not exist in the original DSDT of your motherboard! It is just already implemented such in the ACPi table of your system thanks to Whatevergreen. Without the latter, you would find "display" instead of GFX0 in IOREGExplorer!

Assuming that in your case H001 also replaces H000 and D077 also replaces H001 (inspect IOACPIPlane of IOREGExplorer), the correct ACPI path would be PCI0.BR3A.PEGP.EGP0.GFX0.

Good luck,

KGP
 
Status
Not open for further replies.
Back
Top