Giter Club home page Giter Club logo

hackintosh's Introduction

Hackintosh v3

OpenCore Version macOS Version ocvalidate status

Installation guide for my Hackintosh v3 build dual-booting macOS Sonoma and Windows 10. This build is based on Dortania's OpenCore Install Guide. The previous version of this guide using the Clover bootloader can be found here. The version numbers reported in this guide were the releases available at the time of installation and more than likely can be replaced with the latest iteration.

  • EFI: Copy of current EFI directory from macOS boot drive
  • EFI_install: Copy of EFI directory from the USB drive used during installation

About This Mac

ko-fi

BTC: 3ELvsExgq8S24FdGtm4mupQvb3BwiHwWuB

Table of Contents

The Build

  • CPU: Intel Core i7-9700K
  • CPU Cooler: Corsair H100i PRO (Connected to CPU_FAN and F_USB2)
  • Motherboard: Gigabyte Z390 AORUS PRO WIFI
  • Memory: Corsair Vengeance RGB Pro 16 GB DDR4-3600
  • Storage (macOS): Samsung 970 Evo 1 TB M.2 NVME SSD (M2A slot)
  • Storage (Windows): Intel 660p Series 1 TB M.2 NVME SSD (M2M slot)
  • Video Card: Gigabyte Radeon RX 5700 XT 8 GB GAMING OC
  • Power Supply: Corsair RM650 80+ Gold
  • Case: NZXT H510
  • Monitor: Dell S2719DGF 27" LED QHD FreeSync Monitor
  • Keyboard: Keychron K8
  • Mouse: Logitech G603

View the build on PCPartPicker: https://pcpartpicker.com/list/kBK7TC

Installation

USB Creation

Follow the OpenCore Install Guide to create the macOS installer, prepare the base OpenCore system, and gather the necessary files to boot macOS. The drivers, kexts, and SSDTs I used are as follows:

OpenCore Configuration

Follow the OpenCore Install Guide to setup the initial config.plist file and configure for Intel Desktop Coffee Lake.

  • To enable the iGPU (UHD 630) for headless compute tasks, set AAPL,ig-platform-id=0300913E and exclude the framebuffer-patch-enable and framebuffer-stolenmem properties.
  • The Gigabyte Z390 AORUS PRO WIFI motherboard has supported disabling CFG-Lock since BIOS version F12j, which means you can disable the AppleXcpmCfgLock and AppleXcpmCfgLock quirks.
  • If you already know the MAC address of your ethernet adapter, enter it under PlatformInfo > Generic > ROM. If you don't, this can be updated during post installation using System Preferences > Network > Ethernet > Advanced > Hardware > MAC Address to identify the correct value.

A sanitized version of my USB drive config file can be found here.

BIOS Settings (Version F12k)

Enter Advanced Mode and Load Optimized Defaults to reset the default BIOS settings. Modify the following settings (may vary depending on motherboard model and BIOS version):

  • Tweaker
    • Advanced CPU Settings
      • Vt-d → Disabled
  • Settings
    • IO Ports
      • Initial Display Output → PCIe 1 Slot
      • Internal Graphics → Enabled
      • DVMT Pre-Allocated → 64MB
      • Above 4G Decoding → Enabled
      • USB Configuration
        • XHCI Hand-off → Enabled
      • SATA and RST Configuration
        • SATA Mode Selection → ACHI
    • Miscellaneous
      • Intel Platform Trust Technology (PTT) → Disabled
      • Software Guard Extensions (SGX) → Disabled
    • Smart Fan 5
      • CPU_FAN (or whichever header was used for the AIO CPU cooler)
        • Speed Control → Full Speed
  • Boot
    • CFG Lock → Disabled
    • Fast Boot → Disabled
    • Windows 8/10 Features → Windows 8/10
    • CSM Support → Disabled
    • Secure Boot
      • Secure Boot Enable → Disabled

Select Save and Exit to save the new BIOS settings

Install macOS

I performed the installation with the USB drive, keyboard, and mouse plugged into the USB 2.0 ports at the top of the motherboard. My display was connected to the graphics card via DisplayPort.

  1. Restart computer and set the USB drive as the default BIOS boot device
  2. Select the Install macOS (external) option from the OpenCore Boot Menu
  3. Launch Disk Utility and format the destination drive (Samsung 970 Evo)
    • Name: Macintosh SSD
    • Format: APFS
    • Scheme: GUID Partition Map
  4. Launch Install macOS and select the Macintosh SSD drive as the destination
    • As the system restarts, keep selecting macOS Installer from the OpenCore Boot Menu
  5. Once the installation is complete, select Macintosh SSD from the OpenCore Boot Menu and proceed through the normal macOS setup

Post Installation

Based heavily on Dortania's OpenCore Post-Install Guide.

Make macOS Drive Bootable

  1. Mount the EFI partition of Macintosh SSD and copy over the entire EFI directory from the USB drive
  2. Restart the computer and select the internal drive (Samsung 970 Evo) as the default BIOS boot device
  3. Select Macintosh SSD from the OpenCore Boot Menu
  4. You should now have a bootable macOS installation!

Note: You can now remove the USB drive but keep it handy for debugging issues with your Hackintosh.

Enable FileVault

FileVault is used to encrypt the startup disk on your Hackintosh. Enabling it is entirely optional, but probably a good idea for the security conscious. Before turning on the feature, you will need to make sure that OpenCore is properly configured to interact with the encrypted drive. Follow the OpenCore Post-Install Guide to prepare your config.plist file for use with FileVault.

The following (optional) changes were made:

  • Misc > Boot > PollAppleHotKeysTrue
  • Misc > Security > AuthRestartTrue

You can now enable FileVault in Security & Privacy in System Preferences like on a real Mac. Once the encryption process is complete, your account password will be required to decrypt the startup disk every time your Hackintosh starts up.

Note: You should also make these changes to your USB drive OpenCore configuration so that it can properly boot your system if the Macintosh SSD EFI partition gets messed up. If you don't update the configuration, then the OpenCore bootloader may not be able to properly handle the FileVault-encrypted drive.

FileVault Enabled

Map USB Ports

Follow the OpenCore Post-Install Guide to map USB on your system. The complete USB port layout for the Gigabyte Z390 AORUS PRO WIFI motherboard is detailed in the image below with the ports I enabled indicated in red. If you have the same motherboard and want to use this exact USB port mapping, you can download my USBMap.kext.

  • No ACPI patches were necessary to rename mappings
  • Disabling the internal USB 2.0 headers (HS11) can prevent sleep issues caused by the AIO controller
  • If you don't need Bluetooth/Wi-Fi, you can disable HS14 and enable one of the disabled ports
  • You can disable the XhciPortLimit quirk in your OpenCore configuration once complete

Gigabyte Z390 AORUS PRO WIFI USB Port Map

Enable Bluetooth and Wi-Fi

The Intel CNVi modules that provide integrated Bluetooth and Wi-Fi functionality on motherboards are not natively supported by macOS but can be enabled using IntelBluetoothFirmware and itlwm on supported devices. The Gigabyte Z390 AORUS PRO WIFI contains a compatible Intel Wireless-AC 9560 CNVi (Vendor ID: 0x8087, Device ID: 0x0AAA). Hackintool can be used to determine the specific model on your motherboard (System > Peripherals > Bluetooth).

In order to use these kexts, you must must enable the internal USB port used by the CNVi module during USB mapping. Download the latest IntelBluetoothFirmware.kext and itlwm.kext, place in your EFI/OC/Kexts directory, and add to your OpenCore configuration. Reboot and you should be able to use both Bluetooth and Wi-Fi on your Hackintosh without any additional hardware.

  • IntelBluetoothInjector.kext seems necessary to turn Bluetooth on/off
  • itlwm shows up as an Ethernet adapter and requires use of the standalone app HeliPort to connect/disconnect from Wi-Fi networks. You can Option-click on the menu bar icon and select "Launch at Login" to have it automatically start.

BluetoothWiFi

Enable OpenCore GUI

Follow the OpenCore Post-Install Guide to set up the GUI for the bootloader. I also removed auxiliary entries (macOS Recovery and Reset NVRAM) from the picker.

  • Misc > Boot > HideAuxiliaryTRUE

Note: The auxiliary entries can still be accessed from the GUI by pressing the spacebar key.

OpenCore Bootloader GUI

Enable LauncherOption

Follow the OpenCore Post-Install Guide to run OpenCore directly from firmware without requiring a launcher. This will add OpenCore to the motherboard boot menu and prevent issues where Windows or Linux could overwrite EFI/BOOT/BOOTx64.efi. This file can now be safely removed. Be sure to select OpenCore as the default boot option in your BIOS.

OpenCore Selected as Default BIOS Boot Option

Disable verbosity and debugging

Once your installation is complete and/or stable, you can disable verbose output and debug logging during booting. Follow the OpenCore Post-Install Guide to declutter macOS and OpenCore.

  • Misc > Debug > AppleDebugFALSE
  • Misc > Debug > Target3
  • Remove -v from NVRAM > Add > 7C436110-AB2A-4BBB-A880-FE41995C9F82 > boot-args

If you installed using the DEBUG version of OpenCore, replace all the drivers with the RELEASE versions.

Dual-Boot Windows

I used an existing installation of Windows 10 on the Intel 660p Series NVMe drive. The steps taken during that installation process (removing macOS drive and placing Windows drive in M2M motherboard slot) should be unnecessary when LauncherOption is enabled since Windows will not be able to mess up the OpenCore EFI. For more information, check out the Multiboot with OpenCore Guide.

One of the benefits of OpenCore is that you can now use Startup Disk to reboot your system directly into Windows without further user input, just like on a real Mac.

Startup Disk

Install Boot Camp Utilities

In order to return to macOS from Windows without requiring user input during boot, Apple's Windows Support Software must be installed. The OpenCore Post-Install Guide includes instructions on using a third-party tool to download these drivers. However, they can also be directly downloaded on macOS using Boot Camp Assistant.

  1. Launch Boot Camp Assistant and select the Action > Download Windows Support Software menu item

  2. Copy the downloaded files to a Windows-compatible USB drive and reboot to Windows

  3. Remove all unnecessary Boot Camp drivers:

    • All folders in $WinPEDriver$ (keep the parent folder)
    • All folders in BootCamp/Drivers/ except Apple/
    • All folders/files in BootCamp/Drivers/Apple/ except BootCamp.msi

    Remaining Boot Camp Files

  4. Run BootCamp/Setup.exe to install the Boot Camp software.

  5. You can now use the Boot Camp Control Panel on the taskbar to restart directly into macOS without requiring further user input, just like on a real Mac running Boot Camp.

Boot Camp Assistant and Control Panel

Final BIOS Settings

Screenshots of my current BIOS settings on my working system

Tweaker

Advanced CPU Settings

Settings

Platform Power

IO Ports

USB Configuration

SATA and RST Configuration

Miscellaneous

Boot
Smart Fan 5 Settings

Final OpenCore Configuration

A sanitized version of my working config file can be found here.

Benchmarks

All values are the average of three runs

Issues

See the GitHub repository issues tracker

Upgrade Log

References

Resources

hackintosh's People

Contributors

brokeyourbike avatar shiruken avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hackintosh's Issues

Motherboard Diagram

Hi @shiruken,

Thanks for putting this together! It's really thorough and understandable (a feat in and of itself, especially amongst the hackintosh community).

Where did you get the graphic for your motherboard? I'd like to do a mapping like this for my GA-AORUS-Z270-Gaming-8.

Thanks!

Macos 12.6

I have an almost identical build to yours. Have been following your repo for a while now, to compare when I run into errors. I've been really struggling with macos 12.6. I'm getting this weird issue where after running perfect for a while everything slowly runs to a halt. I've done all the debuggingI can, i'm about ready to just clean wipe and start over.

Just curious if there's a reason you are still on 12.5? Did I miss some warnings about 12.6? What are your thoughts about upgrading to ventura?

Appreciate this awesome repo, let me know if I can help contribute at all.

How to get WiFi working?

Hi, from your parts I dont see you use any external wifi card? May I know how did you get the WiFi working from existing parts? The additional WiFi card can only work for bluetooth I believe.

Slow boot due to Samsung SSD TRIM on macOS Monterey

Since upgrading to macOS Monterey, boot times have increased considerably to several minutes. I originally attributed this to problems with Bluetooth in the latest version of macOS (#13), however it appears that the actual culprit may be the Samsung Evo 970 SSD used as my boot drive. There are outstanding issues with TRIM on Samsung SSDs that seem to have been exasperated by macOS Monterey.

It is unclear why exactly this is resulting in longer boot times since my configuration has SetApfsTrimTimeout=-1, which should result in the standard timeout of ~10 seconds. However, this comes with the risk of not completing the full TRIM operation and could put additional wear on the drive.

See Also:

Sleep issues after upgrading to Venutra

After upgrading to macOS Ventura 13.0.1 3ed26ca, the system now exhibits instability related to sleep. When the screen saver or display sleep activates, the system will freeze and reboot return to the login screen. Note: The system is not fully rebooting (i.e. not seeing BIOS screen).

In lieu of diagnosing the underlying issue, a temporary fix seems to be enabling the "Prevent automatic sleeping when the display is off" setting under Displays > Advanced... in System Settings. (Why is this setting located here?)

Advanced Display Settings

It is unclear how the Lock Screen settings for "Start Screen Saver when inactive" and "Turn display off when inactive" influence this problem. A preliminary test shows that the screen saver starting at all will result in the system reboot.

Wifi is not working

I have not tried directly from windows yet. I use exactly same mobo as yours but no WIFI at all. I have same build as yours. I don't see you installed any wifi driver. Any suggestion here?

iGPU Required?

I’m planning an extremely similar build with one significant difference (I’m converting an existing windows build):

I’ve got a 9700KF and therefore no iGPU

Will I be fine to inject the kexts for my 5600 XT for the initial install?

Graphical errors when using dynamic wallpapers

Setting the desktop background to a dynamic wallpaper results in a graphical glitch that extends across much of the screen. This occurs regardless of selecting the "dynamic" or "still" options for the wallpaper. There is no apparent solution other than selecting a standard desktop image. The issue appears to be related to the AMD Radeon 5700 XT graphics card.

Screen Shot 2019-12-07 at 9 51 05 PM

Bluetooth instability in macOS Monterey

There are currently issues with Bluetooth in macOS Monterey with this configuration. Bluetooth cannot be turned off from Control Center and the System Preferences pane cannot be loaded. It also appears that Bluetooth is significantly slowing down system launch (now takes several minutes).

The OpenIntelWireless team indicates that additional steps must be taken to make Bluetooth work in macOS Monterey when using IntelBluetoothFirmware. This includes adding BlueToolFixup.kext from acidanthera/BrcmPatchRAM to the configuration (see 9ef0af4).

However, there are still outstanding issues with BlueToolFixup in macOS Monterey that appear to be related to the problems I have encountered. Since the slow boot time is a minor inconvenience and I rarely use Bluetooth peripherals on my system, I will not be removing it from my configuration at this time in hopes of a quick fix. However, if you want to avoid the instability caused by this issue, simply disable IntelBluetoothFirmware by removing it from your OC config.

System Preferences Bluetooth Error

Bluetooth on Opencore 0.9.1, Ventura

Hey again, how's bluetooth working for you?

I've found that if i turn it off, it won't come back on. I'm also having issues pairing.

Have you had success using Airdrop, Sidecar or Continuity(using iPhone as a webcam)?

Build a hackintosh

Hi @shiruken 👋.
Thank you so much for your work and for sharing. 🚀

  • Does your build work for 100%?
  • I am going to build a hackintosh. Would you recommend me to buy 1/1 configuration like yours?
    Or maybe something different?

SSD for Windows 10

This is an amazing guide. Thanks for putting it together. I'm getting ready to build my first Hackintosh and had a quick question. Would it be possible to use a SSD instead of an M.2 drive for the windows install? If so, would there be any changes in the installation process?

Unable to enable System Integrity Protection (SIP)

Attempts to enable System Integrity Protection (SIP) by setting CsrActiveConfig=0x00 have been unsuccessful. Whenever the parameter is changed from 0x67 (SIP disabled), the system encounters memory allocation errors after entering the password during FileVault2 preboot. Restoring this setting allows the system to operate as expected.

0C0J8Dj

Help wanted!

Thanks for your awesome works! Sorry for my bad english...
I create USB installation and copy your EFI_install contents to my EFI volume. When plug into USB 2.0 ports, ports limit reached. When plug into USB 3.0 ports, other issues happened..., Please help!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.