All Projects → shiruken → Hackintosh

shiruken / Hackintosh

Hackintosh v3 (i7-9700K + Radeon RX 5700 XT) - Clover Configuration + Kexts

Projects that are alternatives of or similar to Hackintosh

Opencore Vanilla Desktop Guide
Host for files for the OpenCore Vanilla Desktop Guide
Stars: ✭ 299 (+84.57%)
Mutual labels:  guide, hackintosh
MSI-GP62-Hackintosh
Monterey on MSI GP62 6QG-1071XCN
Stars: ✭ 56 (-65.43%)
Mutual labels:  guide, hackintosh
Clover-Crate
Clover Bootloader (with Quirks) and Clover Configurator explained. My attempt of creating a usable documentation for the popular boot manager.
Stars: ✭ 61 (-62.35%)
Mutual labels:  guide, hackintosh
Asus Rog Strix H370 I Gaming Hackintosh Guide
Asus ROG STRIX H370-I GAMING Hackintosh Guide
Stars: ✭ 43 (-73.46%)
Mutual labels:  guide, hackintosh
Xps13 9360 Hackintosh
macOS on XPS-9360
Stars: ✭ 151 (-6.79%)
Mutual labels:  hackintosh
Vuecommunity
Vue.js community and ecosystem guide, written and maintained by the community itself
Stars: ✭ 143 (-11.73%)
Mutual labels:  guide
Git Commands
👨🏾‍💻 The main git commands that every developer should know.
Stars: ✭ 137 (-15.43%)
Mutual labels:  guide
Osx Kvm
Run macOS on QEMU/KVM. With OpenCore + Big Sur + Monterey support now! Only commercial (paid) support is available now to avoid spammy issues. No Mac system is required.
Stars: ✭ 12,926 (+7879.01%)
Mutual labels:  hackintosh
Pharo Wiki
Wiki related to the Pharo programming language and environment.
Stars: ✭ 161 (-0.62%)
Mutual labels:  guide
Restful Api With Laravel Definitive Guide
Repository with the base code for the course "RESTful API with Laravel - Definitive-Guide"
Stars: ✭ 156 (-3.7%)
Mutual labels:  guide
Thinkpad T460s Macos Opencore
Bootloader configuration for macOS on T460s and possibly others 6th gen ThinkPads
Stars: ✭ 146 (-9.88%)
Mutual labels:  hackintosh
Efi
拯救者Y7000和Y50-70装黑苹果(hackintosh),已经配置好的EFI引导文件,安装时可用,不同分支功能不同
Stars: ✭ 144 (-11.11%)
Mutual labels:  hackintosh
Bioc Refcard
Bioconductor cheat sheet
Stars: ✭ 152 (-6.17%)
Mutual labels:  guide
Cocoapods Tips
iOS 라이브러리를 관리하는 CocoaPods Tip정보 모음입니다.
Stars: ✭ 141 (-12.96%)
Mutual labels:  guide
Vim Galore
🎓 All things Vim!
Stars: ✭ 12,610 (+7683.95%)
Mutual labels:  guide
React Redux Typescript Guide
The complete guide to static typing in "React & Redux" apps using TypeScript
Stars: ✭ 11,621 (+7073.46%)
Mutual labels:  guide
Digital video introduction
A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding).
Stars: ✭ 12,184 (+7420.99%)
Mutual labels:  guide
Rakuguide
The Raku Guide
Stars: ✭ 155 (-4.32%)
Mutual labels:  guide
Guide To Allyship
Guide to Allyship, an open source guide teaching you how to be a better ally.
Stars: ✭ 144 (-11.11%)
Mutual labels:  guide
Cpp Quick Reference
C++ Quick Reference
Stars: ✭ 144 (-11.11%)
Mutual labels:  guide

Hackintosh v3

Installation guide for my vanilla Hackintosh v3 build dual-booting macOS Catalina and Windows 10. 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 the macOS boot drive
  • EFI_install: Copy of EFI directory from the USB drive used during macOS installation

System Overview

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: Das Keyboard Model S Professional
  • Mouse: Logitech G603

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

Prepare Install Media

  1. Download the macOS Catalina installer (v10.15.1) from the Mac App Store

  2. Open Terminal and format the target USB drive as with the following command:

    diskutil partitionDisk /dev/{YOUR_DISK_ID} GPT JHFS+ "USB" 100%

  3. Create the bootable macOS installer:

    sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/USB

  4. Once the program finishes, your USB drive should now be called Install macOS Catalina

Install Clover

  • Download Clover Install Package (v2.5k_r5097) and Clover Configurator Global Edition (v5.7.0.0)
  • Install Clover to the USB device and customize with the following options:
    • Clover for UEFI booting only
    • Install Clover in the ESP
    • UEFI Drivers
      • Recommended drivers
        • ApfsDriverLoader
        • HFSPlus
      • Memory fix drivers
        • OsxAptioFix3Drv
      • Additional drivers
        • EmuVariableUefi

Gather Kexts

  1. Use Clover Configurator to mount the EFI partition of the USB drive
  2. Copy the downloaded .kexts to EFI/CLOVER/kexts/Other/ on the USB drive EFI partition
  3. Copy VirtualSmc.efi to EFI/CLOVER/drivers/UEFI/ on the USB drive EFI partition

The exact kexts and drivers I used during my installation can be found in EFI_install/.

Configure Clover

The Clover configuration for the installation is heavily based upon corpnewt's r/Hackintosh Vanilla Desktop Guide for the Coffee Lake microarchitecture. The major difference is with how the iGPU is enabled because I encountered difficulties when using device property injections. Each section of the configuration used during installation is documented below. A sanitized version of the config file can be found in EFI_install/CLOVER/. You will need to use Clover Configurator or macserial to generate a valid serial number and board serial number for the iMac19,1 SMBIOS.

ACPI
Boot
Boot Graphics
CPU
Devices
Disable Drivers
GUI
Graphics
Kernel and Kext Patches
Rt Varibles
SMBIOS
System Parameters

BIOS Settings (Version F12c)

Enter Advanced Mode and Load Optimized Defaults to reset the default BIOS settings. Modify the following settings:

  • Tweaker
    • Advanced CPU Settings
      • Vt-d → Disabled
    • Extreme Memory Profile (X.M.P.) → Profile 1
  • Settings
    • Platform Power
      • ErP → Disabled
      • Soft-Off by PWR_BTTN → Delay 4 Sec.
      • RC6 (Render Standby) → Enabled
    • IO Ports
      • Initial Display Output → IGFX
      • Internal Graphics → Enabled
      • DVMT Pre-Allocated → 32M
      • DVMT Total Gfx Mem → 256M
      • Aperture Size → 512MB
      • Audio Controller → Enabled
      • Above 4G Decoding → Enabled
      • USB Configuration
        • Legacy USB Support → Enabled
        • XHCI Hand-off → Enabled
      • Network Stack Configuration
        • Network Stack → Disabled
    • Miscellaneous
      • Intel Platform Trust Technology (PTT) → Disabled
  • Boot
    • Windows 8/10 Features → Windows 8/10
    • CSM Support → Disabled
  • Smart Fan 5 Settings (F6)
    • CPU_FAN (or whichever header was used for the AIO CPU cooler)
      • Speed Control → Full Speed
  • Save & Exit
    • Choose Save and Exit to save BIOS settings and reboot

Prepare for macOS Installation

  1. Connect HDMI cable to the integrated graphics output on the motherboard
  2. Insert macOS Installer USB drive into the USB 3.0 port adjacent to Ethernet connector
  3. Connect keyboard and mouse to USB 2.0 ports

Installation Connections

Install macOS Catalina

  1. Restart computer and select the USB drive as the default BIOS boot device
  2. Select Install macOS Catalina as the Clover boot volume
  3. Launch Disk Utility and format the destination drive (Samsung 970 Evo)
    • Name: Macintosh SSD
    • Format: Mac OS Extended (Journaled) or APFS (will be reformatted as APFS during installation)
    • Scheme: GUID Partition Map
  4. Launch Install macOS and select the Macintosh SSD drive as the destination
    • As the system restarts, keep selecting Boot macOS Install from Macintosh SSD from the Clover menu
    • If the system freezes, use the power button to shut down the computer and turn off the power supply. Wait a few minutes before restarting to continue the installation process.
  5. Once the installation is complete, select Boot macOS from Macintosh SSD from the Clover menu
    • Proceed through the normal macOS setup but delay signing into iCloud until post installation is complete

Post Installation

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 Boot macOS from Macintosh SSD from the Clover 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 the Discrete Graphics Card with Headless iGPU

  1. Modify the Clover configuration on the EFI partition of Macintosh SSD
    • Boot
      • Remove the -wegnoegpu boot argument
      • Add the agdpmod=pikera boot argument
    • Devices
      • Clear value of IntelGFX field
      • Add new device: PciRoot(0x0)/Pci(0x2,0x0)
        • Add property: AAPL,ig-platform-id - 0300983E - DATA WhateverGreen Property
    • Graphics
      • Uncheck Inject Intel
  2. Reboot the computer and modify the following BIOS settings:
    • Settings
      • IO Ports
        • Initial Display Output → PCIe 1 Slot
        • Internal Graphics → Enabled
        • DVMT Pre-Allocated → 64M
        • DVMT Total Gfx Mem → 256M
  3. Save the changes and reboot the computer
  4. Disconnect the HDMI cable from the motherboard and connect a DisplayPort cable to the graphics card
  5. You should now be using the natively-supported discrete graphics card (as of macOS 10.15.1) to power your display(s) in conjunction with the headless iGPU for compute tasks.
    • Hackintool can be used to verify the availability of the iGPU for hardware decoding under the VDA Decoder system parameter.

Hackintool Graphics

Note: You should also make these changes to your USB drive Clover 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, you'll have to swap back to using the integrated graphics instead of the discrete graphics card.

Map USB Ports

Apple's USB driver implementation restricts macOS to only 15 HS/SS ports. During the installation process, we utilized RehabMan's USBInjectAll kext and USB port limit kext patches to com.apple.iokit.IOUSBHostFamily and com.apple.driver.usb.AppleUSBXHCI to circumvent this restriction. While useful during installation, it is generally recommended that these workarounds be removed in favor of a custom SSDT or port injector kext for the final system configuration to avoid buffer overruns and sleep/wake issues. In order to map out the custom port injection for the system, we will be using corpnewt's USBMap Python script and following along with the process described in Carl Mercier's YouTube video.

If you have the Gigabyte Z390 AORUS PRO WIFI motherboard and want the same USB port mapping I utilize, you can download my USBMap.kext, SSDT-USBX.aml, and SSDT-USBX.dsl and skip to Step 5.

  1. Add the change EHC1 to EH01 and change EHC2 to EH02 patches to the ACPI Clover configuration on the EFI partition of Macintosh SSD and reboot

    EHC1 and EHC2 patches

  2. Open Terminal and run the following commands to download and execute the USBMap script:

    git clone https://github.com/corpnewt/USBMap
    cd USBMap
    chmod +x USBMap.command
    ./USBMap.command
    
  3. Press d then [enter] to begin the port discovery process. Using a USB device (e.g. flash drive), systematically test each external USB port to identify its corresponding ID. The complete USB port layout for the Gigabyte Z390 AORUS PRO WIFI motherboard is detailed in the image below. Once the desired ports have been identified, press q then [enter] to return to the main menu.

    USB Port Mapping

  4. Press p then [enter] to begin creating the custom port mapping kext

    1. Press a then [enter] to enable all ports
    2. Using the list of identified ports, enter the numbers of the ports you want to disable
      • No more than 15 XHC ports can be enabled
      • 2,3,4,5,9,11,12,15,16,18,25HS02,HS03,HS04,HS05,HS09,HS11,HS12,USR1,USR2,SS02,SS09
        • Disables AIO control via the internal header and USB 2.0 for three rear Type-A ports
        • If you don't need Bluetooth, you can disable HS14 and enable one of the disabled USB 2.0 ports
      • The enabled ports are red and the disabled ports are gray in the image above
    3. Press k then [enter] to build the custom USBMap.kext file
    4. Allow the program to move the files to your EFI partition or copy them manually:
  5. Modify the Clover configuration on the EFI partition of Macintosh SSD

    • ACPI
      • Remove the change EHC2 to EH02 patch (not present on this system)
    • Kernel and Kext Patches
      • Remove the com.apple.iokit.IOUSBHostFamily kext patch
      • Remove the com.apple.driver.usb.AppleUSBXHCI kext patch
  6. Delete the USBInjectAll.kext from EFI/CLOVER/kexts/Other/ on the EFI partition of Macintosh SSD

  7. You should now have fully custom-mapped USB ports on your system! Use the USBMap script after a reboot to verify the correct ports are enabled.

Enable Bluetooth

The Intel CNVi modules that provide integrated Wi-Fi and Bluetooth functionality on motherboards are not natively supported by macOS but can be enabled using the IntelBluetoothFirmware kext 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).

  • Note: You must enable the internal USB port used by the CNVi module during the USB mapping process.

Download the latest release and place the two kexts in EFI/CLOVER/kexts/Other/. Reboot and you should be able to use Bluetooth on your Hackintosh.

Bluetooth System Report and Preferences

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, especially if you are building a portable system. Before turning on the feature, you will need to make sure you have several drivers installed to allow Clover to interact with the encrypted drive. These instructions are based on the advice from this tonymacx86 comment and this vanilla laptop guide.

  1. If present, remove any of the following outdated Clover-installed FileVault 2 UEFI drivers:

    • AppleImageCodec.efi
    • AppleKeyAggregator.efi
    • AppleKeyFeeder.efi
    • AppleUITheme.efi
    • FirmwareVolume.efi
    • HashServiceFix.efi
  2. Download AppleSupportPkg v2.0.9 and copy the following two drivers to EFI/CLOVER/drivers/UEFI/:

    • AppleGenericInput.efi
    • AppleUiSupport.efi
  3. Modify the Clover configuration on the EFI partition of Macintosh SSD

    • Boot
      • Default Boot Volume → Preboot
    • GUI
      • Remove Preboot from hidden volumes (if present)
  4. Open System Preferences > Security & Privacy and navigate to the FileVault tab

    • Click Turn On FileVault and select an option for setting the recovery key
    • Wait for encrypting to complete

    FileVault

  5. Restart your system, which should now default to the FileVault Preboot from Preboot option, and enter your password at login to decrypt the system drive.

Note: You should also make these changes to your USB drive Clover 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 Clover bootloader will not be able to properly handle the FileVault-encrypted drive.

Enable TRIM for Solid State Drives

  1. Open Terminal and enter the following command:

    sudo trimforce enable

  2. Verify TRIM was enabled in System Report:

    NVMExpress TRIM Support

Fix CPU Type in About This Mac

For some reason, About This Mac and System Report do not properly identify the processor and list it as an 'Intel Core i9' instead of an 'Intel Core i7.' This can easily be fixed by using Clover Configurator to set the CPU Type to 0x0705 and rebooting.

Before/After About This Mac - CPU

Fix Memory Tab in About This Mac

The default iMac19,1 SMBIOS configuration used in this build sets PlatformFeature=0x22, which indicates that the system lacks user-upgradable memory and therefore hides the Memory tab on About This Mac (as seen above) and any empty memory slots in the System Report. This can easily be fixed by using Clover Configurator to set PlatformFeature=0x20 in the SMBIOS section and rebooting.

Before/After About This Mac - Memory

Install Clover Theme

The easiest way to download and install third-party Clover themes is using the Clover app.

  1. Launch the application and mount the EFI partition of Macintosh SSD.
  2. Swap to the second tab (film strip icon) and click Manager to open the Theme Manager.
  3. Click the Install button to download a theme to the EFI/CLOVER/themes/ directory.
  4. Enter the desired theme name in the Theme field on the GUI section of Clover Configurator.

Clover Theme Manager

Install Windows 10

Windows 10 will be installed on the Intel 660p Series NVMe drive located in the M2M slot of the motherboard. This is necessary to avoid issues with Windows updates interferring with the Clover EFI partition because of drive enumeration ordering. The installation requires at least an 8 GB USB flash drive for creating the bootable Windows installer.

  1. Download the Windows 10 ISO
  2. Create the bootable Windows installer:
    • If using macOS, launch Boot Camp Assistant and follow the process to create the Windows 7 or later version install disk
    • If using Windows, use the Media Creation Tool or Rufus to flash the ISO
  3. Shut down the system and temporarily remove all other storage devices to avoid issues during installation.
  4. Restart the computer and select the installer USB drive as the default BIOS boot device.
  5. Follow the instructions to install Windows
    • You may need to format the destination drive (Intel 660p Series) prior to installation
  6. Once installation is complete, shut down the computer, replace all the removed drives, and select the Clover EFI drive (Samsung 970 Evo) as the default BIOS boot device.
  7. You should now have a Hackintosh dual-booting macOS and Windows! Just select the desired operating system from the Clover bootloader.

Clover Bootloader

Hide Windows Drive in macOS

Follow these instructions to prevent the Windows drive from automatically mounting in macOS:

  1. Open Terminal and enter the following command to get the Volume UUID:

    diskutil info /Volumes/{YOUR_WINDOWS_DRIVE_NAME}

  2. Enter sudo vifs to add the following line to /etc/fstab:

    UUID={YOUR_UUID} none ntfs rw,noauto

  3. Restart your system and the Windows partition will no longer automatically mount.

Final BIOS Settings

Screenshots of my current BIOS settings on my working (i.e. stable) system.

Tweaker

Advanced CPU Settings

Advanced Memory Settings

Settings

Platform Power

IO Ports

USB Configuration

SATA and RST Configuration

Miscellaneous

Boot
Smart Fan 5 Settings

Final Clover Configuration

A sanitized version of my final config file can be found in EFI/CLOVER/. Each section of the configuration in Clover Configurator is also documented below.

ACPI
Boot
Boot Graphics
CPU
Devices
Disable Drivers
GUI
Graphics
Kernel and Kext Patches
Rt Varibles
SMBIOS
System Parameters

Benchmarks

All values are the average of three runs

Issues

See the GitHub repository issues tracker

Upgrade Log

References

Resources

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].