Contribute
Register

[SUCCESS] SilverLake Sierra GM GA-170X-Ultra Gaming Nvidia 950GTX

Status
Not open for further replies.
Joined
Sep 14, 2016
Messages
8
Motherboard
GA-Z170X-Ultra Gaming
CPU
i7 6700
Graphics
GTX 950
Just to thank all for providing amazing guides here, I successfully installed High Sierra 10.13.0 (17A405) with APFS on this Silverlake board.

Motherboard: GA-Z170X-Ultra Gaming
Graphics: Nvidia 950 GTX
Processor: i7 6700
SSD: X400 256 GB x2, NVMe Samsung 950 Pro
Bluetooth: IOGEAR Bluetooth 4.0 USB Micro Adapter (GBU521)
Sound: Onboard Realtek ALC 892
LAN: Onboard Intel i219 GbE LAN
Memory: Corsair Vengeance LPX 16GB (2x8GB) DDR4 DRAM 3000MHz (PC4-24000) C15 Memory Kit
Working iMessage, USB 3.0, Audio, Bluetooth 4 including BLE, Graphics acceleration with Metal, full memory banks using XMP profile, GbE LAN, Sleep/Wake, etc.
Not working: Serial port (disabled)

9/17/2016 updates
Removed nvda_drv=1 from clover boot switches, removed EmuVariableUefi-64.efi from Clover drivers and replaced with new SystemParameters--NvidiaWeb(setting true) in Clover 3751. Confirmed working. Thanks! @zlei

1/20/2017 updates
Updated for BIOS F21, Sierra 10.12.2, Clover 2.3 r3974
Added back
nvda_drv=1 from clover boot switches, added back EmuVariableUefi-64.efi to Clover drivers
Added AAPL,GfxYTile to fix HD530 glitch
Ticked KernelPm even with Skylake not Haswell processor for BIOS f21+
Set Intel HD530 memory size to 96Mb in BIOS


4/18/2017 updates
Updated for Sierra 10.12.4, Clover 2.4 r4045
Use NVidia driver 378.05.05.05f01 or later
Use Clover 2.4r4045 or later



10/16/2017 updates
Updated for High Sierra 10.13 Clover 2.4 4243
Use NVidia driver 378.10.10.10.15.117 or later
Use Clover 2.4r4243 or later



Comments:
It's a really nice Silverlake board, ultra caps etc., nice LEDs, NVMe in both M.2 and U.2 interfaces. Highly recommended. Similar Z270 boards now available though [2017]

Installation notes:

PRE-REQUISITES
Clover 2.4r4243 or later
Clover Configurator
USB-SSDT script to generate USB SSDT. (USBInjectAll also worked but was limited in USB 3 usage)
ssdtPRGen script to generate CPU SSDT
(optional) IOJones or Apple equivalent
Nvidia WebDriver 378.10.10.10.15.117 or later (supports Maxwell and Pascal cards)
Latest AppleALC release from Github vit9696/AppleALC
EFI Mounter v3 (optional)
AGDPfix (now working instead of patched PLISTs as in original post; kext patching in Sierra 10.2.4 did not work for me)

BIOS
- minimum F5a (beta) bios as F4 did not pick up DDR4 XMP profile, now tested and running on F21
- do a burn in test of the memory first as it seems from Amazon reviews that some of the DDR4 sticks have a higher initial failure rates; not related to this board or Sierra install, but wasted a day to find that large files were not being read properly, but small files worked fine
- Use Profile1 for Memory XMP
- Disable Intel VT-D
- Disable CSM Support
- Disable serial port
- Enable XHCI Hand-Off
- UEFI boot only (have Sierra and Windows 10 Anniversary installed successfully)
- Set Integrated Graphics allocated memory to 96Mb (less than this causes kernel panic if using onboard HD530; no need to adjust max)

CLOVER CONFIG
DSDT Patches: Rename HDAS
Boot switches: kext-dev-mode=1 rootless=0
Inject: (false or do not select Intel unless HD530 wanted; false for Nvidia, false for ATI )
Kexts to patch: External icons patch (RXh0ZXJuYWw= to SW50ZXJuYWw= in AppleAHCIPort)
Kexts to patch: Skylake APIC Patch (wegQD7bw to vhcAAACQ in AppleAPIC)
Kexts to patch: AppleHDA Resources (eG1sLnps to em1sLnps in AppleHDA)
SIP disable: RtVariables CsrActiveConfig 0x77 or 0x67 (latter is documented version, both seem to work)
SMBIOS: iMac17,1 (Skylake support!) with SerialNumber, SmUUID and BoardSerialNumber per iMessage guides

CLOVER 64 BIT UEFI DRIVERS (/drivers64UEFI)
FSInject-64.efi
HFSPlus.efi
OsxAptioFixDrv2-64.efi [10/2017 avoid v1 as while it worked fine on Sierra it gave "OsxAptioFixDrv: Error - requested memory exceeds out allocated relocation block" on High Sierra)
OsxFatBinaryDrv-64.efi
EmuVariableUefi-64.efi [4/2017 Sierra 10.12.2: added back as NvidiaWeb System Param no longer worked]
APFS.efi [10/2017 added for High Sierra]
Note: Later clover releases added more UEFI drivers to enable FileVault 2 but these are not essential (or tested in this guide)

CLOVER KEXTS (kexts/Other, delete all the other 10.11 10.10 10.x directories)
AppleALC.kext (from vit9696/AppleALC)
FakeSMC.kext
GenericUSBXHCI.kext. (required for Skylake)
IntelMausiEhternet.kext (makes onboard GBLan work with zero extra configuration)
Shiki.kext. (apparently needed for QuickTime/iTunes DRM)

CLOVER ACPI PATCHES (place aml in /ACPI/patched)
USB-SSDT generated by USB-SSDT script (see other guides) for front panel USB3/2 HS01 SS01 HS02 SS02 and rear panel USB3/2 HS03 SS03 HS04 SS04 HS05 SS05 HS06 SS06 and rear panel USB2 HS13 HS14
ssdt.aml generated by Piker Alpha's ssdtPRGen script for 6700

CLOVER AUDIO INJECTION (use text editor not Clover Configurator to get integer 1 in config.plist)
<key>Devices</key>
<dict>
<key>Audio</key>
<dict>
<key>Inject</key>
<integer>1</integer>
</dict>

CLOVER NVIDIA WEB INJECTION (added with Clover 2.3 3751 but not doing anything with 10.12.2 beta NVidia driver)
<key>SystemParameters</key>
<dict>
<key>NvidiaWeb</key>
<true/>


NVIDIA WEB DRIVERS
Use and install latest drivers for Sierra

Installation issues/solutions with Nvidia drivers:
- When first installing, make sure nv_disable=1 any time you get a black screen and fix AGDP per below
- Had to (re)install Clover RC scripts on target macOS volume and make sure have the (new) SystemParameters -- NvidiaWeb setting above to persist NVRAM and hence get the use "Nvidia Web Driver" to stick between reboots; if this does not work then add EmuVariableUefi (downloadable in Clover Configurator) AND nvda_drv=1 to boot section of Clover config
- AGDPfix alone now works for me on Sierra 10.12.2 and later, High Sierra 10.13.0 and later and iMac 17,1. Kext patching via Clover (Problem 4 Method 3 did not work for me). If AGDPfix doesnt do it, just manually edit
sudo nano /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/Info.plist

and changed Config2 to none for the iMac board id B809C3757DA9BB8D (check SMBios in clover for which one you are using),
then ran
sudo kextcache -system-prelinked-kernel
sudo kextcache -system-caches


AUDIO
Works out of box for Realtek line out; not tested: use Toledo script for HDMI audio

CLOVER CONFIGURATOR. / EFI MOUNTER V3
THE EFI mounting didn't work reliably so I used EFI Mounter v3

ON BOARD GRAPHICS
I did get HD 530 working first too just by using iMac 17,1
Make sure to add the following to the Devices section of the Clover config plist to get rid of the menu glitch:
<key>AddProperties</key>
<array>
<dict>
<key>Device</key>
<string>IntelGFX</string>
<key>Key</key>
<string>AAPL,GfxYTile</string>
<key>Value</key>
<data>
AQAAAA==
</data>
</dict>
</array>


ALTERNATE GRAPHICS CONSIDERED
GTX 1060 was a nice card, and worked on this rig in VESA mode, but way too slow and the web driver for this chip not out yet. [UPDATE: MARCH 2017: Pascal drivers now available; same driver but not yet tested on Pascal by me) Decided to downgrade to older but still power efficient GTX 950 which is running smooth and sufficient for high end workstation use. Considered Radeon RX 460/470 have positive installation reviews, but have to be booted blind (with onboard graphics enabled) which sounds like a pain in multi-boot situation

WINDOWS 10 DUAL BOOT
I installed Windows 10 Creators Update on a separate drive (actually the speedier NVMe drive) and dual boot using Clover; both run crazy smooth on this rig. I chose not to put macOS on the NVMe drive as while the drivers exist fine, they are specific to OS and so upgrading to OS 10.14 will be a pain if driver not immediately available.

INSTALLATION USB
I used a generic special edition Clover to make the initial USB for first install. Since I've never used Clover before, preferred to see what's under the hood vs using Uni or Multi. Once I had Clover installed on an EFI partition, I just use a vanilla OS X install USB that also works on my genuine Macs. We've come a long way since Chameleon.

POST INSTALL CLEANUP (delete Recovery Partition and turn on Trim Support)
diskutil list
diskutil eraseVolume HFS+ Blank /dev/disk?s?
diskutil mergePartitions HFS+ OSX disk?s(?-1) disk?s?
sudo trimforce enable



Install time ~20 minutes on this rig with fully configured EFI Clover volume. YMMV
 

Attachments

  • Config.zip
    6.6 KB · Views: 392
Last edited:
great! dont need EmuVariableUefi-64.efi and nvda_drv=1 with clover version 3751 because adding new SystemParameters--NvidiaWeb(setting true)
Perfect. Adjusted configuration (and OP) and revalidated working 100% as before. Thanks!
 
Hi there, Im having trouble with USB 3.0 everything else is working perfect, could you give more information regarding the 'USB-SSDT script you used? and how you got usb 3 working?

Cheers, Robert
 
Sorry for delay in replying, was traveling this week.

CONFIG PLIST
Config.plist and the two generated USB AMLs are attached. Note the config.plist has Serial #s removed so replace the TODO entries with your own values (regenerate in Clover Configurator) or remove if you don't need iMessage.

USB SCRIPT
The USB script came from @cnrd excellent open source at https://github.com/cnrd/GA-Z170X-UD3-OSX

GETTING USB 3 TO WORK
To use the script I first used the USB inject all script and went into IORegistryExplorer and noted what was already plugged in (USB 2 keyboard mouse etc.), then took a USB2 stick and placed it in each open slot on my case. I noted on a piece of paper which item was added in IORegistryExplorer (and on my case front panel was HS01 HS02, rear panel HS03 HS04 HS05 HS06 HS13 HS14). These were then all the USB2 ports. I guessed that the USB3 ports would use the same numbers so simply noted SS01 SS02 SS03 SS04 SS05 SS06 on the same piece of paper. I didnt add SS13 or SS14 as these 2 ports are not USB3 capable on my motherboard.

Then I ran the script (on a working darwin/unix box with python installed) with ./USB-SSDT and entered yes to each of the ports noted on my piece of paper and no to the ones the script asked about that I didnt have (or want, there are a couple more unused headers on my motherboard, so your results may need to vary).

Hope this helps!
 

Attachments

  • Config-GA-170X-Ultra-gphb.zip
    4.1 KB · Views: 336
Sorry for delay in replying, was traveling this week.

CONFIG PLIST
Config.plist and the two generated USB AMLs are attached. Note the config.plist has Serial #s removed so replace the TODO entries with your own values (regenerate in Clover Configurator) or remove if you don't need iMessage.

USB SCRIPT
The USB script came from @cnrd excellent open source at https://github.com/cnrd/GA-Z170X-UD3-OSX

GETTING USB 3 TO WORK
To use the script I first used the USB inject all script and went into IORegistryExplorer and noted what was already plugged in (USB 2 keyboard mouse etc.), then took a USB2 stick and placed it in each open slot on my case. I noted on a piece of paper which item was added in IORegistryExplorer (and on my case front panel was HS01 HS02, rear panel HS03 HS04 HS05 HS06 HS13 HS14). These were then all the USB2 ports. I guessed that the USB3 ports would use the same numbers so simply noted SS01 SS02 SS03 SS04 SS05 SS06 on the same piece of paper. I didnt add SS13 or SS14 as these 2 ports are not USB3 capable on my motherboard.

Then I ran the script (on a working darwin/unix box with python installed) with ./USB-SSDT and entered yes to each of the ports noted on my piece of paper and no to the ones the script asked about that I didnt have (or want, there are a couple more unused headers on my motherboard, so your results may need to vary).

Hope this helps!
Hmm seeing that lots of people have started using it for different boards, I'm thinking I should make a secondary version that supports all hs and ss ports, the reason that the current script is missing ports is that I only included ports that exist on the GA-Z170X-UD3.

I'm thinking 3 different things right now:
1. Just let people choose all ports
2. Configure which ports are on the board with a commandline argument.
3. Configuring the script using a file in the same folder, that can configure which ports the script should ask about and also if they are I/O ports or motherboard headers.

Sorry for hijacking this thread, this is really just a note for myself. :)
 
Hmm seeing that lots of people have started using it for different boards, I'm thinking I should make a secondary version that supports all hs and ss ports, the reason that the current script is missing ports is that I only included ports that exist on the GA-Z170X-UD3.

I'm thinking 3 different things right now:
1. Just let people choose all ports
2. Configure which ports are on the board with a commandline argument.
3. Configuring the script using a file in the same folder, that can configure which ports the script should ask about and also if they are I/O ports or motherboard headers.

Sorry for hijacking this thread, this is really just a note for myself. :)


@cnrd Sounds great -- I'd just say that the script worked fine on this board for my needs, and yes the fact that the script was already asking which ports to include was what made it so portable. So I particularly like option 3 as the 15 port limit means that I do indeed like to choose based on most likely use.
 
Status
Not open for further replies.
Back
Top