Jump to content

[Guide] Mac OSX 10.12 and 10.13 with X99 Broadwell-E family and Haswell-E family


nmano
 Share

1,954 posts in this topic

Recommended Posts

1. Download WebDriver-367.15.10.25f02.pkg

2. Mount your drive and open up your config.plist in Clover Configurator.

3. Under Boot-> Boot arguments, I added this: nvda_drv=1

<key>Arguments</key>
		<string>-v darkwake=0 npci=0x3000 nvda_drv=1</string>

4. Under "System Parameters" tab, I set "NvidiaWeb" to true. 

        <dict>
		<key>InjectKexts</key>
		<string>Yes</string>
		<key>InjectSystemID</key>
		<true/>
		<key>NvidiaWeb</key>
		<true/>
	</dict>

5. Save your config.plist. Then, run this command in the terminal:

sudo nvram nvda_drv=1

6. Run the web driver installer.

 

7. Reboot and viola!

 

Note: This assumes your board supports NVRAM variables. If not, you'll need EmuVariableUefi.efi inside "drivers64" and you'll have to run Clover EFI v2's "Patch RC Scripts" on the target EFI folder (this will create a nvram.plist at the EFI root that then allows NVRAM variables to persist across boots):

wYEQzyM.png

kozFejv.png

Link to comment
Share on other sites

Fixed. 

..sorry for my humble question, I have been following Yours for a while, 'cause I would like to build something similar to You, instead of a z170 board.

So, are You're running on a Xeon or with the cpu in your signature? :blush:

 

Thanks.

Link to comment
Share on other sites

Core i7 5930k
 

 

By the way, the Nvidia web driver is super sketchy. If you change the resolution/refresh rate, it'll black screen. If you change Nvidiaweb=true, it'll either black screen at boot or load up an "unsupported" gfx card @ 1280x1024p with terrible performance. Recommend anyone looking to upgrade to 10.12.2, to hold off until the web drivers becomes more stable.

post-1874416-0-98026500-1483902833_thumb.png

Link to comment
Share on other sites

Here's my EFI folder for any random lurkers/registered (intermediate/advanced) users who share the same setup as me and who want a 100% functional set up for their Asus PRO 3.1 USB board running 10.12.2!
 
***If you run anything higher than 10.12.2, the patches inside the "Kernel and Ktext Patches" config.plist may not work.
 
 
What this EFI folder currently has:
-  Should automatically boot into your default volume (if it's named "Mac OS") after a 3-second countdown when at the Clover screen; if not, edit the config.plist with Clover Configurator-> under Boot tab -> under Default Boot Volume, type the name of your harddrive with OS installed, save and restart
-  Generated SSDT (speed step/power management) for a Mac Pro 6,1 SMBIOS with injected 14,2 frequency vectors for an i7 5930K***
-  Included CPU, GPU, APCI and LPC sensors for the HWsensor/Intel Power Gadget apps
-  IntelMausiEthernet for internet
-  OsxAptioFix2Drv-free2000.efi for stability (wasn't able to track down the random reboots I was getting with OsxAptioFixDrv.efi)
- Supports:

  • Bluetooth devices (100% functional!)
  • Audio over HDMI/DP
  • USB 2.0, 3.0 and 3.1 ports all functional
  • Wifi patches (100% functional! -- supports 2.4ghz and 5ghz)
  • Sleep

Other Setup:
3402 Patched BIOS (may not be needed with OsxAptioFix2Drv-free2000.efi) -- use at your own risk -- if you decide to use these BIOS via Asus Flashback, rename the file to the following before placing it on a USB stick: X99PU31.CAP
 
My BIOS Setup:
- Under Advanced:
/USB Configuration:

  • Intel XHCI Mode - Smart Auto
  • EHCI Legacy Support - Enable
  • XHCI Hand-off - Enable
  • EHCI Hand-off - Disabled

- In Ai Tweaker:

  • AI Overclock Tuner - Auto (just make sure your CPU is set to: Sync All Cores, otherwise, you may different turbo boosts for each core)
  • Internal CPU Power Management (EIST) - Disable

-In Boot 
/ Secure Boot:

  • Os Type - Other OS

/ CSM:

  • UEFI and legacy support (the rest of the options are set to: Legacy only)

***Special notes:
- If you're using a Corsair H100i GTX AIO cooler (or similar Corsair AIO cooler) that connects to an internal USB device, it will prevent your system from sleeping! I recommend you either unplug the USB cable portion or switch to a different cooler!
 
- If you plan on using an NVMe to install 10.12.2 on, then follow my guide on how to generate a spoofed HackrNVMeFamily.kext OR use Pike's IONVMEFamily patches I've provided in my old efi folder's config.plist (the provided EFI below does NOT support any NVMes).
 
 
DSDT.aml GPU Injection:
- The included DSDT.aml in the EFI->CLOVER->ACPI->Patched folder has been modified for an Evga GTX 980 Ti to run in 10.12.2 without ADGP fix. ***If applicable to your setup, then you will want to use my old efi folder, run in 10.12 and then generate a new DSDT.aml with AGDP Fix 1.3 (OR, skip AGDP fix and use Windows and locate the GPU ACPI location, find and write down device id, bios revision, etc.)*** Otherwise: Run AGDP 1.3 fix in 10.12. (if you haven't already). Then, reboot and make sure your card is recognized ("About This Mac" will tell you). If so, reboot again and when at the Clover Boot screen, press F4 to dump some .aml files into the EFI folder (need to wait 5 seconds before booting into your OS). Boot into the OS, mount your drive with Clover Configurator, and locate the .aml files in your EFI->CLOVER->ACPI->origin. Copy and paste the DSDT.aml + SSDT-0.aml-SSDT-xx.aml (ignore .aml files not named DSDT.aml or SSDT-xx.aml) to your desktop and decompile them with iasl (do a google search for Rehabman's SSDT Laptop DSDT/SSDT guide on how set everything up to do this OR follow my guide here up to step 7), open up the decompiled DSDT.dsl file. Using IORegistry Explorer v2.1, locate "GFX0", and write down the necessary fields below (write down device id, bios revision, etc). In the DSDT.dsl, locate _SB.PCI0.XXXX.GFX0 (or wherever your GPU is located) and, copy the code below, but swap in those details according to your GPU (we'll be using the device name "GFX1" instead of GFX0 -- otherwise we'll get a black screen on boot). Now, upgrade the OS to 10.12.2. 
 

        Device (GFX1) // rename device leaf node (H000/GFX0) to GFX1
        {
            Name (_ADR, Zero)  // _ADR: Address
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                Store (Package (0x28)
                    {
                        "hda-gfx", 
                        Buffer (0x0A)
                        {
                            "onboard-2"
                        }, 

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

                        "@2,AAPL,boot-display", 
                        Buffer (One)
                        {
                             0x02                                           
                        }, 

                        "device-id", 
                        Buffer (0x04)
                        {
                             0xC8, 0x17, 0x00, 0x00                         
                        }, 

                        "@0,name", 
                        Buffer (0x13)
                        {
                            "NVDA,Display-A"
                        }, 

                        "@1,name", 
                        Buffer (0x13)
                        {
                            "NVDA,Display-B"
                        }, 

                        "@2,name", 
                        Buffer (0x13)
                        {
                            "NVDA,Display-C"
                        }, 

                        "@3,name", 
                        Buffer (0x13)
                        {
                            "NVDA,Display-D"
                        }, 

                        "@4,name", 
                        Buffer (0x13)
                        {
                            "NVDA,Display-E"
                        }, 

                        "@5,name", 
                        Buffer (0x13)
                        {
                            "NVDA,Display-F"
                        }, 

                        "@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                         
                        }, 

                        "rom-revision", 
                        Buffer (0x0F)
                        {
                            "84.06.2f.00.52"
                        }, 

                        "model", 
                        Buffer (0x34)
                        {
                            "NVIDIA GeForce GTX 980 Ti"
                        }, 

                        "name", 
                        Buffer (0x08)
                        {
                            "display"
                        }, 

                        "reg-ltrovr", 
                        Buffer (0x08)
                        {
                             0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 
                        }
                    }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }

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

                        "name", 
                        Buffer (0x05)
                        {
                            "HDAU"
                        }, 

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

                        "device_type", 
                        Buffer (0x06)
                        {
                            "AUDIO"
                        }, 

                        "name", 
                        Buffer (0x05)
                        {
                            "HDAU"
                        }, 

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

                        "reg-ltrovr", 
                        Buffer (0x08)
                        {
                             0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 
                        }
                    }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        } 

 
Then, you'll want to rename these Notify instructions (search for BR3A.H000 or where-ever your GPU is located) and change them to GFX1/HDAU:

If (LNotEqual (Local0, 0xFF))
            {
                Store (0x07, Local1)
                Notify (\_SB.PCI0.BR3A.GFX1, Local0) // this changed from .H000 to .GFX1
                Notify (\_SB.PCI0.BR3A.HDAU, Local0) // this changed from .H001 to .HDAU
                Notify (\_SB.PCI0.BR3A.H002, Local0)
                Notify (\_SB.PCI0.BR3A.H003, Local0)
                Notify (\_SB.PCI0.BR3A.H004, Local0)
                Notify (\_SB.PCI0.BR3A.H005, Local0)
                Notify (\_SB.PCI0.BR3A.H006, Local0)
                Notify (\_SB.PCI0.BR3A.H007, Local0)
            }
 

YOU MAY HAVE A DEVICE LOCATED AT THE BOTTOM OF _SB.PCI0.BR3A (or whatever your GPU location is at). YOU WILL NEED TO DELETE IT FROM THE DSDT (FOR EXAMPLE, DEVICE D07C), OTHERWISE YOUR GPU MIGHT DEFAULT TO THIS LOCATION:
FheqpBl.png
 

After you've input the code above into your DSDT.dsl, click "Compile". You may get some ERRORS (in my case, I got two errors that were simply syntax related -- where the decompiler didn't decompile the code correctly and jumbled up some of the code). However, some errors may not be that simple and require patches (see Rehabman's SSDT/DSDT laptop guide for more information). Once you've addressed the errors (again, you can ignore the warnings), you'll want to click compile again, then save the file:
Name:
DSDT.aml
Location: Desktop
Format: ACPI Machine Language Binary 

 

Place this recompiled DSDT.aml into your EFI->CLOVER->ACPI->patched...

 

Before rebooting, open up your config.plist and select "AddDTGP" in the DSDT fixes (otherwise, you'll get a KP):

iQwNmOp.png

Now, save the config.plist, then reboot the OS.
 
At Clover boot, go to settings, insert "nv_disable=1" into the boot arguments, then in GPU settings, check "inject nvidia", and while there, make sure "Use nvidia web driver" is unchecked (this will give you a black screen and/or an unsupported gfx card)

 

Now, you can follow my guide on how to install the Nvidia Web Driver.

 

- In order to get Wifi to work, you'll need to use the AirPortBrcm4360 patches inside this EFI config.plist (or you can just swap over to the provided config.plist after you update the OS).
 
- If you're not using a 5930k, you'll have to generate your own SSDT:
1. Configure system with appropriate MAC 6,1 SMBIOS(should already be set up if you use either of my EFI folders).

2. Open Terminal and download Piker Alpha's ssdtPRGen.sh

curl -o ~/ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/Beta/ssdtPRGen.sh

3. That will download ssdtPRGen.sh to your user directory. The next step is to change the file mode (+x) with:

chmod +x ~/ssdtPRGen.sh

4. For default SSDT generation with xcpm enabled, type:
 

sudo ~/ssdtPRGen.sh -x 1

Find the file in: ~/Library/ssdtPRGen/ (you want the SSDT.aml) and then copy/paste it in EFI->CLOVER->ACPI->patched.
 
- When upgrading to 10.12.2, your SSDT may not have any frequency vectors loaded, you can run these commands to check. If it comes back as 0, then you'll need to use Pike's FrequencyVectors.sh (I used 14,2 vectors (#5) for MY CPU, yours will be different -- use this to determine which vectors will be best for yours).

 
Since 10.12.2 is kind of sketchy in its support for the 980 Ti, I will not offer any support. What you see above is what you get!!!

EFI_ASUS-PRO-USB3.1_10.12.2_FIX2DRV-FREE.zip

  • Like 6
Link to comment
Share on other sites

Of course you don't really know Xeon performances if you compare it to a "train" against 5960x....ok it's your thought i don't want to continue. My experience is real because i owned a 5960x and now i own a xeon...and that's all!

Finally i tested your DSDT and it works. Thanks my friend.

What's the problem with GTX970?

That is a fact on today world to too many people can afford to by a TRAIN, thats the jealousy spirit de corps.

  • Like 1
Link to comment
Share on other sites

Core i7 5930k
 

 

By the way, the Nvidia web driver is super sketchy. If you change the resolution/refresh rate, it'll black screen. If you change Nvidiaweb=true, it'll either black screen at boot or load up an "unsupported" gfx card @ 1280x1024p with terrible performance. Recommend anyone looking to upgrade to 10.12.2, to hold off until the web drivers becomes more stable.

 

I have a 980 Ti and I can change resolution and refresh rate with the latest driver in 10.12.2. I do however see an annoying message about about Nvidia Driver Manager being unable to open from time to time. 

 

Definitely not the best release from Nvidia, but no real issues that I have found.

 

  • Like 1
Link to comment
Share on other sites

 

 

I have a 980 Ti and I can change resolution and refresh rate with the latest driver in 10.12.2. I do however see an annoying message about about Nvidia Driver Manager being unable to open from time to time. 

 

Definitely not the best release from Nvidia, but no real issues that I have found.

 

 

How are you getting into the OS? nv_drva=1 or nvidiaweb?

 

Also what's your GPU manufacturer and model? (Currently running EVGA GTX 980 Ti SC+ AC). 

 

When setting my DP to 75hz, I get a black screen, then no signal. Have to reset SMC in order to get my screen back.

 

Didn't get any annoying nvidia messages, but did notice that my HWmontior icon in the menu bar would flip black then resolve to normal (could be because I'm using an older version).

Link to comment
Share on other sites

Hey guys! Have installed OS X on a new USB Drive now. ALL went good until i installed the nvidia WebDrivers.

The exact same EFI setup works yesterday. So i dunno whats wrong now. I installed it again because i messed up the system.

 

Black screen to death!

 

I have attached my files here. Can some one look in to it and see whats wrong? :/

 

Se my specs in the signature.

MacPro.zip

Link to comment
Share on other sites

 

 

I have a 980 Ti and I can change resolution and refresh rate with the latest driver in 10.12.2. I do however see an annoying message about about Nvidia Driver Manager being unable to open from time to time. 

 

Definitely not the best release from Nvidia, but no real issues that I have found.

 

 

 

I have 2x EVGA GTX 980 Ti Classifieds with both nvda_drv=1 and NvidiaWeb=True set.

 

I imagine your black screen difficulties are related more to your 75Mhz manual setting. Did you try the pixel clock unlocked in case it is a bandwidth problem? Are you going to a 4K display?

Hey guys! Have installed OS X on a new USB Drive now. ALL went good until i installed the nvidia WebDrivers.

The exact same EFI setup works yesterday. So i dunno whats wrong now. I installed it again because i messed up the system.

 

Black screen to death!

 

I have attached my files here. Can some one look in to it and see whats wrong? :/

 

Se my specs in the signature.

 

Maxwell needs Nvidia drivers+GFX1 set via SSDT/DSDT/or Clover patch if on MacPro6,1.

 

Try enabling screen sharing and I bet you will see that your computer is actually sitting at desktop, and you just haven't dealt with GFX1/AppleGraphicsControl yet.

  • Like 1
Link to comment
Share on other sites

I have 2x EVGA GTX 980 Ti Classifieds with both nvda_drv=1 and NvidiaWeb=True set.

 

I imagine your black screen difficulties are related more to your 75Mhz manual setting. Did you try the pixel clock unlocked in case it is a bandwidth problem? Are you going to a 4K display?

 

Maxwell needs Nvidia drivers+GFX1 set via SSDT/DSDT/or Clover patch if on MacPro6,1.

 

Try enabling screen sharing and I bet you will see that your computer is actually sitting at desktop, and you just haven't dealt with GFX1/AppleGraphicsControl yet.

 

 

Hi.

 

I have made a SSDT patch with GFX1. maybe i have missed someting? Its succesfully loaded to.

 

Attached IOReg, log and EFI files.

 

UPDATE:

I switched to HDMI and now its working. But I need to replug the hdmi cable when the system has booted.

debug Mac Pro.zip

Link to comment
Share on other sites

Hi.

 

I have made a SSDT patch with GFX1. maybe i have missed someting? Its succesfully loaded to.

 

Attached IOReg, log and EFI files.

 

UPDATE:

I switched to HDMI and now its working. But I need to replug the hdmi cable when the system has booted.

 

Yea, GFX1 looks fine.

 

What does Nvidia Driver Manager report? Try turning off web driver within it, then restarting with nv_disable=1 and turning it back on.

Also, add EMUVariable to your Clover kexts if NVRAM is not persistent in your board. That will help the Nvidia Driver Manager reflect the real state of things.

 

Although, if HDMI works and the System Info says you have a 980 Ti (or whatever model) then it doesn't sound like a driver issue. In my experience, all my 9xx cards have all ports working automatically. No work to be done.

 

Perhaps your display is part of your problem?

  • Like 1
Link to comment
Share on other sites

Hi.

 

I have made a SSDT patch with GFX1. maybe i have missed someting? Its succesfully loaded to.

 

Attached IOReg, log and EFI files.

 

UPDATE:

I switched to HDMI and now its working. But I need to replug the hdmi cable when the system has booted.

you can try

DSDT.aml.zip

Link to comment
Share on other sites

Yea, GFX1 looks fine.

 

What does Nvidia Driver Manager report? Try turning off web driver within it, then restarting with nv_disable=1 and turning it back on.

Also, add EMUVariable to your Clover kexts if NVRAM is not persistent in your board. That will help the Nvidia Driver Manager reflect the real state of things.

 

Although, if HDMI works and the System Info says you have a 980 Ti (or whatever model) then it doesn't sound like a driver issue. In my experience, all my 9xx cards have all ports working automatically. No work to be done.

 

Perhaps your display is part of your problem?

 

Maybe the display is the problem here. There is no driver issue. But thanks :)

you can try

 

Thanks. Do i need to change someting in my config? Just add the DSDT to ACPI/Patched ?

Link to comment
Share on other sites

Maybe the display is the problem here. There is no driver issue. But thanks :)

 

Thanks. Do i need to change someting in my config? Just add the DSDT to ACPI/Patched ?

no dont change anythings in config.plist and put daft in ACPI/patched

Link to comment
Share on other sites

no dont change anythings in config.plist and put daft in ACPI/patched

 

Ok :) I will check it out in a few hours. Will get back with the results.

 

Update:

Boot ends up with a black screen. Now i cant even replug the hdmi or displayport.

Link to comment
Share on other sites

10.12.2 and 10.12.3

Problem-AppleALC

Not Graphics

#Remove AppleALC 

#Patched AppleGraphicsControl.kext

#Add nvda_drv=1

try it.

  • Like 2
Link to comment
Share on other sites

Ok :) I will check it out in a few hours. Will get back with the results.

 

Update:

Boot ends up with a black screen. Now i cant even replug the hdmi or displayport.

 

You can use this DSDT.aml instead (modified for your particular GPU).

 

Just remove the SSDT-Graphics-Sleep-Fix.aml from your patched folder and replace it with this DSDT.aml (otherwise, they might conflict with each other).

 

(As a side note, you don't need Rehabman's _DSM patch (for the DSDT.aml) as you don't have any _DSM methods linked to the SSD location.)

 

Also, your XHCI to XHC DSDT patch in your config.plist may conflict with this DSDT (try with and without the patch -- if you need the patch and it's not working with the DSDT, I'll go back and rename XHCI to XHC and reupload it).

Jacoweb-DSDT.aml.zip

  • Like 1
Link to comment
Share on other sites

You can use this DSDT.aml instead (modified for your particular GPU).

 

Just remove the SSDT-Graphics-Sleep-Fix.aml from your patched folder and replace it with this DSDT.aml (otherwise, they might conflict with each other).

 

(As a side note, you don't need Rehabman's _DSM patch (for the DSDT.aml) as you don't have any _DSM methods linked to the SSD location.)

 

Also, your XHCI to XHC DSDT patch in your config.plist may conflict with this DSDT (try with and without the patch -- if you need the patch and it's not working with the DSDT, I'll go back and rename XHCI to XHC and reupload it).

 

Thanks! I will check this out tomorrow and post the results :)

 

Update:

Working now, but sleep issues. Random wake/no wake. just freeze. 

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...