Skip to content

jimpalompa/OpenCore-Asus-Z170i-Pro-Gaming

Repository files navigation

OpenCore Asus Z170i Pro Gaming

An OpenCore EFI for Asus Z170i Pro Gaming mini-ITX motherboard, with Skylake processor. See compatible macOS versions in my releases. I'm using this build as a server. It is my third hackintosh build so far.

Though this is a ready to use EFI, it is for my own system, so use at your own risk. I truly recommend everyone to read Dortania's OpenCore install guide. It's comprehensive, but take your time and have patience, there are no shortcuts to a perfect build.

I'm releasing it here to reference my own configuration, and to share my EFI with others, for a little help on the way. I will not publish releases every time I update OpenCore and drivers, but I will try to publish if I have enough spare time. Do not forget to generate SMBIOS info if you are planning on using this EFI in your build, since my releases does not include this information, for obvious reasons.

About this Mac

Overview

  • This build runs on the integrated GPU alone, it has no dedicated GPU. If you are using a dGPU you need to read the GPU support wiki.
  • No beauty treatments were done in this build, that means no OpenCore GUI and no boot-chime. I want to keep everything simple and minimal. You can enable all of this by following the beauty treatment guide.
  • Wireless card for bluetooth and wifi (Qualcomm Atheros QCNFA364A) is disabled and replaced. I'm using the fenvi T919 (BCM94360CD) card instead. If you wish to swap the wireless card, remember to read wireless buyers guide first.

Hardware

Remember to read the anti-hackintosh buyers guide if you're planning on buying components for a new build.

Item Brand Model Driver Comment
Motherboard Asus Z170i Pro Gaming OpenCorePkg
Lilu
CPU Intel Core i5 6600K 3,5GHz VirtualSMC Skylake
RAM Corsair Vengeance LPX DDR4 3000MHz 8GB x2 built-in
iGPU Intel HD Graphics 530 WhateverGreen Headless mode
dGPU - -
SSD Intel 970 EVO 500GB M.2 x1 NVMeFix
HDD WD Red 3TB 3.5" x1
Red 4TB 3.5" x3
built-in
Bluetooth fenvi T919 built-in Replaced
Wifi fenvi T919 built-in Replaced
Ethernet Intel I219-V IntelMausi
Audio Realtek ALC1150 AppleALC Layout-ID 99
PSU EVGA SuperNOVA G2 650W
Case Fractal Design Node 304
CPU cooler Cryorig H7
Display EVanlak Sony XR50X93J 50"
P2422H 24"

BIOS setup

Begin by loading optimized default options, then make sure settings are as below.

Version 3805

Menu Name Option Comment
Exit Load Optimized Defaults Ok Begin with default settings
Ai Tweaker Ai Overclock Tuner XMP Personal preference
Advanced
CPU Configuration
Intel Virtualization Technology Enabled Recommended *
CPU Configuration SW Guard Extensions (SGX) Disabled Recommended *
CPU Configuration >
CPU - Power Management
CFG Lock Disabled Recommended *
System Agent Config VT-d Disabled Recommended *
System Agent Config Above 4G Decoding Enabled Recommended *
System Agent Config >
Graphics Configuration
Primary Display CPU Graphics This build has no dGPU
System Agent Config >
Graphics Configuration
iGPU-Multi-Monitor Disabled This build has no dGPU
System Agent Config >
Graphics Configuration
DVMT Pre-Allocated 64M Recommended *
PCH Configuration IOAPIC 24-119 Entries Enabled
PCH Storage Config SATA Mode Selection AHCI Recommended *
Onboard Devices Config SupremeFX LED Lighting Disabled Personal preference
Onboard Devices Config Asmedia USB 3.1 Controller Enabled
Onboard Devices Config Asmedia USB 3.1 Battery Charging Support Enabled Personal preference
Onboard Devices Config Wi-Fi Controller Disabled Replaced by PCI card
Onboard Devices Config Bluetooth Controller Disabled Replaced by PCI card
APM Configuration Restore AC Power Loss Power On Personal preference
APM Configuration Power On By PCI-E Enabled
Network Stack Config Network Stack Disabled
USB Configuration Legacy USB Support Enabled
Boot Fast Boot Disabled Recommended *
Boot Configuration POST Delay Time 0 sec Personal preference
Boot Configuration Wait For 'F1' If Error Disabled Personal preference
Boot Configuration Setup Mode Advanced Mode Personal preference
CSM (Compatibility Support Module) Launch CSM Disabled Recommended *
Secure Boot Secure Boot state Disabled Recommended *
Secure Boot OS Type Windows UEFI mode Recommended *
Boot Option #1 UEFI OS Disable all other boot options
Exit Save Changes & Reset Ok Save BIOS and reset

* As recommended in OpenCore install guide, Skylake: Intel BIOS settings.

USB ports

For USB mapping I enabled ten physical ports, and bluetooth M.2. That is every port available, except the internal USB 2.0 Header. Remember that you can have a total of 15 ports per USB controller, this board has two controllers. USB 3.0/1 counts as two ports for backward compatibility. See image and table below which ports are available and which I chose to map in USBPorts.kext. Use USBMap or Hackintool if you wish to create your own USB map. The ASMedia USB controller did not need a USB map.

USB port map

Port Type Name Enabled Comment
A USB 2.0 Type-A HS09 Yes
B USB 2.0 Type-A HS10 Yes
C USB 3.0 Type-A HS05 + SS05 Yes + Yes
D USB 3.0 Type-A HS06 + SS06 Yes + Yes
E USB 3.0 Type-A HS07 + SS07 Yes + Yes
F USB 3.0 Type-A HS08 + SS08 Yes + Yes
G Bluetooth M.2 HS13 Yes
H USB 3.0 Header HS01 + SS01   /   HS02 + SS02 Yes + Yes   /   Yes + Yes Front panel
I USB 2.0 Header HSxx + HSxx No + No PCI bracket *
J USB 3.1 Type-A 1 + 3 Yes + Yes ASMedia controller **
K USB 3.1 Type-A 2 + 4 Yes + Yes ASMedia controller **

* I have no PCI bracket for the USB 2.0 Header, so I could not recognize the names for those ports.
** This is the second USB controller and has its own port limit. No need for USB map on this controller.

Audio layout

For audio layout i used layout-ID 99, it seemed most appropriate. Layout-ID 7 works as well, with the same exact functionality*. All other compatible layouts for this audio chipset were tested and did not work fully.

Blue audio jack Blue audio jack acts as Line In
Green audio jack Green audio jack acts as Internal Speakers
Red audio jack Red audio jack acts as Internal Microphone

Orange audio jack Orange audio jack acts as Line Out
Black audio jack Black audio jack acts as Line Out
Optical S/PDIF Optical S/PDIF acts as Digital Out

Front panel top audio jack Front panel top audio jack acts as Line In (switches from Internal Microphone if plugged in)
Front panel bottom audio jack Front panel bottom audio jack acts as Headphones (switches from Internal Speakers if plugged in)

Audio layout * The only difference between these layouts is that layout99.xml has the key MaximumBootBeepValue, value 64. It also has the key DspFunction2 with various other keys and values.

What works?

Almost everything works. Wifi and bluetooth (by disabling and replacing the internal Qualcomm Atheros QCNFA364A), iGPU acceleration, dual displays, HDMI audio, wake up from display sleep. Ethernet, all USB ports (only the internal USB 2.0 Header is disabled), all Audio ports. AirDrop/Handoff/Continuity, iMessage, FaceTime and other iServices.

Known issues

  • Dual displays works kinda glitchy.

Main display is HDMI. Secondary display is DisplayPort. I can't boot with both displays on and connected. I need to unplug the DP connected display and then re-plug it before both displays gets recognized. If I boot with DP connected, the HDMI video signal will not work, but the audio still works on HDMI strangely enough. Perhaps a deep dive in the Intel iGPU patching guide will solve issue?

  • TRIM during boot takes a long while if it's activated.

Samsung SSD's are not macOS TRIM-supported. Fixed by setting key SetApfsTrimTimeout to 0. Build now boots instantaneously.

  • Sleep does not work.

Without a dGPU, sleep does not work. This build will never sleep though. Perhaps a deep dive in the fixing sleep guide will solve issue?

Extras

Debugging OpenCore

Quick guide on how to debug OpenCore with my releases.

My releases are prepared for easy dubugging, all you have to do is download the DEBUG version of OpenCorePkg. Reminder, it's a good idea booting the debug EFI from a USB stick.

Swap the following files:

EFI > BOOT > BOOTx64.efi
EFI > OC > OpenCore.efi
EFI > OC > Drivers > OpenRuntime.efi

Change to the following values in config.plist:

Misc > Debug > AppleDebug > True
Misc > Debug > ApplePanic > True
Misc > Debug > DisableWatchDog > True
Misc > Debug > Target > 67
NVRAM > Add > 7C436110-AB2A-4BBB-A880-FE41995C9F82 > boot-args > -v keepsyms=1

Restart computer and make sure you boot from the same volume you made the changes in. Verbose mode is now active and log files will be saved to the same volume. When you're done and everything works, swap back files from the RELEASE version and revert the values in config.plist.

Reference: https://dortania.github.io/OpenCore-Install-Guide/troubleshooting/debug.html

Quick Reference Guide

Visit my Quick Reference Guide for more macOS and OpenCore commands, guides, fixes and features.

Software

A collection of apps that may come handy when configuring your build. Reminder, if you wish to use this EFI in your own build, you need to generate SMBIOS info first. System will not boot without it. Use EFI at your own risk.

GenSMBIOS for generating SMBIOS
MountEFI for mounting EFI partitions
ProperTree for editing config.plist
OCConfigCompare for comparing config.plist with new releases
USBMap for USB port mapping
Hackintool for USB port mapping and more
IORegistryClone for browsing IO registry

Acknowledgements

Apple for macOS
Acidanthera for OpenCore
dortania for guide
CorpNewt for software
headkaze for Hackintool
xzhih for HiDPI
And everyone from the OpenCore community 🖤

About

OpenCore EFI's for ASUS Z170i Pro Gaming motherboard, Skylake processor. With detailed information about hardware, bios and setup.

Topics

Resources

Stars

Watchers

Forks