Contribute
Register

Robbish's 8yr old ATX IvyBridge Hackintosh GA-Z77-DS3H - i5-3570K - HD 4000 [OpenCore/macOS Big Sur]

Joined
Mar 31, 2011
Messages
637
Motherboard
Gigabyte GA-Z77-DS3H-F11a
CPU
i5-3570K OC @ 4.2GHz
Graphics
HD 4000
Mobile Phone
  1. Android
Robbish's 8yr old ATX IvyBridge Hackintosh GA-Z77-DS3H - i5-3570K - HD 4000 [OpenCore]
(Guide Revision 6.0)


full


Components

Gigabyte Z77-DS3H (Revision 1.0) motherboard
Discontinued
Intel i5-3570K (Ivy Bridge) 3.8 GHz 4-Core Processor CPU
Discontinued

Gigabyte Z77-DS3H (Revision 1.0) motherboard
Discontinued
Intel i5-3570K (Ivy Bridge) 3.8 GHz 4-Core Processor CPU
Discontinued

Noctua NH-U12S Air Cooler
Amazon US
Amazon UK - Not listed

Corsair Vengeance CMZ16GX3M4A1600C9 - 16 GB (4 x 4 GB) DDR3-1600 Mhz RAM Memory
Amazon US - Kit not listed on
Amazon UK

Broadcom BCM94360CD Wifi/Bluetooth PCIe Combo Card kit
eBay

Dell X3959 PCIe Intel Dual Port Ethernet NIC
eBay

Seagate Barracuda 2TB HDD
Amazon US
Amazon UK

Sandisk SSD Plus 240GB SSD
Amazon US
Amazon UK

Crucial BX300 CT240BX300SSD1 240GB SSD
Discontinued
Sandisk Extreme 120GB SSD
Discontinued
Pioneer BD-ROM BDC-207D
Discontinued
Corsair CP-9020054-UK RM650 80 Plus Gold 650W ATX/EPS Fully-Modular Power Supply Unit
Discontinued
Bitfenix Neos ATX Case
Discontinued

Peripherals

Apple Aluminium Wired Numeric Keyboard (1st Gen)

Discontinued
Apple Wireless Magic Trackpad (1st Gen with user replacement batteries)
Discontinued
Apple Wireless Mouse (1st Gen with user replacement batteries)
Discontinued
Logitech C920 HD Pro Webcam (1st Gen)
Discontinued


Comments

This Hackintosh has been my macOS daily driver for 8+ years. It’s used for general web browsing, media consumption, office apps, family tech support and tinkering with macOS and Windows apps. I switched to using OpenCore in Nov 2019 following the release of macOS Catalina because Clover at that time was not playing well with FileVault2, and I was having boot problems like never before.

I also retired my Pjalm DSDT that had served me well under Clover for HDMI audio, USB power, DSDT re-names and Graphics. OpenCore only uses SSDTs so this led me to create all new patches: i.e, an updated SSDT for proper Power Management, an Intel Graphics HD4000 Plist patch with working HDMI Audio and a custom USB Port Limit Patch kext.

My setup is Triple boot with macOS Big Sur as my default OS, macOS Mojave for legacy apps/a boot back-up and erm Windows 10 because.. I can't escape Windows !


Installation Notes

My bootloader was created in macOS using the Dortania OpenCore Guide. Dortania covers every aspect of an OpenCore Hackintosh with extremely well written step by step guides that are clearly laid out in great detail. Please familiarise yourself with Dortania's guide in order to appreciate my build. If you don't have access to a machine with macOS installed, then you can create a macOS Recovery USB in Windows or in Linux here.
Note: you should install the latest version of Python to use some of these apps.

Below is a list of all the tools (including hyperlinks) that I used in macOS to setup everything;

** Making the GA-Z77-DS3H compatible with macOS Big Sur **

IvyBridge SMBIOSes are not supported in macOS Big Sur so I had to create and validate a new iMac14,4 SMBIOS serial in order to download macOS Big Sur from the App Store. For this, I signed out of my Apple ID and used GenSMBIOS with the Dortania Haswell PlatformInfo guide here
For those with a Graphics Card, I recommend iMac15,1 as it supports dGPU

iMac14,4 SMBIOS works perfectly on my IvyBridge Hack with no side effects so far. I had read that Apple plan to drop support for HD 4000 iGPUs in Big Sur so maybe a future incremental update of macOS Big Sur could eventually break support for this Hack. Let's hope not !


BIOS & Settings

To access UEFI Setup, press and hold Delete while the system is booting up

  • I’m using F11a BIOS. To extract the file Z77DS3H.11a in macOS, open the downloaded BIOS file mb_bios_ga-z77-ds3h_f11a.exe with The Unarchiver app.
  • Copy the extracted Z77DS3H.11a file onto a FAT32 formatted USB flash drive.
  • When in the UEFI BIOS, pressing F8 takes you to the Q-Flash utility where you can flash the BIOS.
  • After BIOS has been flashed, Enter Advanced Settings (if in the 3D BIOS) and then Press F7 to apply Optimized Defaults.
  • We're now ready to apply our OpenCore recommended BIOS settings;
Disabled Settings
  • MIT-Advanced Frequency Settings > Advanced CPU Core Features > Internal CPU PLL Overvoltage > Disabled
  • BIOS Features > Fast Boot > Disabled
  • BIOS Features > Secure Boot state > Disabled
  • BIOS Features > CSM Support > Never
  • Peripherals > Super IO Configuration > Serial Port A > Disabled
  • Power Management > Wake on Lan > Disabled
Enabled Settings
  • MIT-Advance Memory Settings > Extreme Memory Profile(X.M.P.) > Profile 1
  • BIOS Features > OS Type > Windows 8
  • BIOS Features > Intel Virtualisation Technology > Enabled
  • BIOS Features > Execute Disable Bit > Enabled
  • Peripherals > SATA Mode Selection > AHCI > Enabled
  • Peripherals > XHCI Pre-Boot Driver > Enabled
  • Peripherals > xHCI Mode > Enabled
  • Peripherals > EHCI Hand-off > Enabled
  • Peripherals > XHCI Hand-off > Enabled
  • Peripherals > Internal Graphics Memory Size > 64M
  • Peripherals > DVMT Total Memory Size > MAX
  • Power Management > High Precision Event Timer > Enabled
Side Notes
  • With the exception of my MIT-Advanced settings, all the other BIOS settings listed are copied from the Dortania OpenCore Guide for an IvyBridge Desktop.
  • All other Z77-DS3H BIOS settings not mentioned above, you should tweak to your preference.
  • Internal CPU PLL Overvoltage > Disabled prevents losing USB devices (e.g, keyboard/mouse) after Wake from Sleep. Useful if you're not using a custom USB port Map).
  • Serial Port A > Disabled prevents Black Screen after Wake from Sleep when using Intel HD4000 iGfx with OpenCore.
  • Intel Virtualisation Technology > Enabled is the same as enabling VT-x on other BIOSes.
  • CFG Lock (MSR 0xE2 write protection), OpenCore requires CFG Lock to be Off. Luckily for us, the Z77-DS3H has this hidden BIOS setting set to Off by default.

Making the macOS Installation USB

Ever since Clover, I have always made a macOS Install USB stick using Apple’s createinstallmedia method;
  1. Insert a 16GB USB stick (or larger) into your PC
  2. Launch Disk Utility > View tab > Show All Devices
  3. Select your USB stick e.g, Kinston DataTraveler > Erase
  4. Name: USB > Format: Mac OS Extended (Journaled) > Scheme: GUID Partition Map
  5. click Erase and macOS will now format your USB stick
  6. Done > close Disk Utility
  7. Download macOS Big Sur from the Mac App Store
  8. When download complete, Quit the Install macOS pop-up (the file is now in your Apps folder so leave it there)
  9. Launch Terminal
  10. Copy and paste the following into Terminal bash but don’t press enter just yet ;
    Code:
    sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume
  11. Rename MyVolume to USB and when you’re ready, press Enter
  12. Enter your password when prompted
  13. Select Y once you're ready to erase the Volume i.e, USB (the usb stick, not your other drives - you’ve been warned ! )
  14. The build process takes about 20 minutes but YMMV
  15. Done > close Terminal.

Configuring my OpenCore EFI

Here I followed the Dortania OpenCore Install Guide for the Desktop IvyBridge. In this section, I'm gathering all the files for building OpenCore onto X64 > EFI > OC

My OpenCore EFI
full
ACPI
  • SSDT-EC.aml - Embedded Controller /our fake EC.​
  • SSDT-PM.aml - Power Management and Intel Speed Step (this will be created later in Post Install)
Kexts
  • AppleALC.kext - Audio Codecs.​
  • AtherosE2200Ethernet.kext - Download this Atheros Ethernet Kext if you are using the Z77-DS3H onboard Ethernet.​
  • Lilu.kext - Patch Engine, this must sit at the top of the kext hierarchy in the OpenCore kext order.
  • SMCProcessor.kext - CPU temperature monitoring.​
  • SMCSuperIO.kext - Fan speed monitoring.​
  • FeatureUnlock.kext - Download this kext to get Sidecar support for our unsupported SMBIOS.​
  • USBPorts.kext - my custom USB Port Limit Patch, (this will be created later in Post Install)​
  • VirtualSMC.kext - SMC emulator, macOS can't boot without it.​
  • WhateverGreen.kext - Graphics Patching.​
Drivers
  • CrScreenshotDxe.efi - Enables taking Screenshots in OpenCanopy Boot Menu and Boot Text Picker
  • OpenHfsPlus.efi - OpenCore will not see your macOS USB Installer, Recovery Partitions, Boot Images without this.
  • OpenCanopy.efi - Provides a framework for the optional OpenCore GUI interface and it's Audio Accessibility Interface.
  • OpenRuntime.efi - Replaces AptioFix.
  • OpenLinuxBoot.efi - Boots Linux without Grub
  • ext4_x64.efi - Allows OpenCore to read 64 bit Linux file format ext4 file system
  • btrfs_x64.efi - Alows OpenCore to read 64 bit Linux file format btrfs file system
Tools
  • OpenShell.efi - Provides access to the UEFI Shell to perform command line tasks on UEFI BIOS, OpenCore, EFI and macOS. Access hidden BIOS settings, locate full drive/device paths etc. Very powerful but a potential security risk if left as a general user option on the OpenCore Picker Menu without password access.

My config.plist Setup

Here I followed the Dortania Desktop IvyBridge Settings to configure my config.plist. My Plist Editor of choice for this is ProperTree and Xcode. Why both?

ProperTree because it has some handy features like OC Snapshot for Injecting, Enabling and arrangCheckBooter returns 2 errors!ing your SSDTs, Drivers and Kexts in the correct config.plist order. Plist comments removal and Bloat removal to tidy up my config.plist. Those features are found in ProperTree File menu ;
  • OC Snapshop (cmd+R) - I use this whenever I've made additional changes e.g, adding/removing Kexts, SSDTs or Drivers.
  • OC Clean Snapshop (cmd+shift+R) - used just once to initialise my config.plist (formerly Sample.plist) following a fresh build of OpenCore.
  • Strip Comments (cmd+M)
  • Strip Disabled Enteries (cmd+E) - Don't mess with this one until you have your final working config.plist backed up !
Xcode because I'm too "tight" to buy PlistEdit Pro. I can drag 'n' drop Plist code from one Xcode Plist to another, handy when updating OpenCore versions. If I want to edit the Plist in pure text mode then I would use TextMate in XML mode for that.

Caution: when applying all of your Quirks settings from the Dortania Desktop IvyBridge Settings page, please do not use the settings data from their Plist Editor screenshots. They are just 'examples' and can be out of date (a Rookie Mistake for me in the early days !)

Audio
Here are the Plist settings that I used to patch my Realtek ALC887. Note, I'm using Layout ID 11 (data value <0B000000> in Xcode). After testing all 17 layout IDs, this one gave me the best match for my onboard Sound options. Btw - You can override your current Layout ID in your boot-args like so alcid=xx (where xx is your number choice e.g, alcid=12).
full
Video (Integrated Graphics)
Here are the Plist settings that I used to patch my Intel HD Graphics 4000. Note, I'm using framebuffer 0x0166000B (data value <0B006601> in Xcode). This framebuffer is for type: Desktop and connectors: 3 so resembles my motherboard/CPU combo. (see the Acidanthera Whatevergreen website for more detail on this).
full
Video (Graphics Card Users)

I don't have an External Graphics Card (dGPU) however for those that do, you can take advantage of Intel Quick Sync by keeping the HD4000 active in Headless Mode. To do this, just change the AAPL,ig-platform-id Data value from <0B006601> to <07006201>
full
For cosmetic reasons, rename model String to Intel HD Graphics (Headless) and that will appear in your System Information > Hardware > PCI > Card info.

Note: If you have a AMD RX5000 series graphics card then you will have to add agdpmod=pikera to your boot-args

As I mentioned earlier, I recommend iMac15,1 (a dGPU based SMBIOS) for those with a graphics card over iMac 14,4 (an integrated graphics based SMBIOS) although both should work either way.

credits: @pit512

Validate your config.plist
You can check your completed config.plist on the OpenCore Sanity Checker website..
ocvalidate is the official utility for checking your completed config.plist for errors and compliance. It ships with every release download of OpenCore and is updated with each release.
  1. Open the ocvalidate folder. It is located inside the Utilities folder from the latest OpenCore Release download.
  2. Open your EFI>OC folder showing your config.plist
  3. Launch the Terminal and drag ocvalidate into the Terminal window (Note: the mac version is simply named ocvalidate).
  4. Drag your config.plist into the Terminal window.
  5. Now press Enter.
  6. If ocvalidate displays any errors e.g, ../EFI/OC/config.plist in 3 ms. Found 7 issues requiring attention. it will list which parameters have the problem. In that case, re-check your config.plist settings, compare them with the sample.plist to see if you can spot any mis-matching in the formatting or any missing Quirks introduced from the latest OC release update.
  7. Ideally, you will have no issues e.g, ../EFI/OC/config.plist in 5 ms. No issues found.
  8. If No Errors, mount your USB stick's EFI partition, copy your OpenCore EFI build to there and you're good to go..

Tip: don't forget to enable Verbose mode -v on your config.plist so that you can see what's gone wrong if your PC stalls during macOS boot. I recommend -v keepsyms=1 debug=0x100 as this boot-args combo should halt a restart loop.

Clover Users.. Time to clean house !
For users with macOS already installed and making the jump from Clover to OpenCore, Dortania have detailed some macOS clean-up for you to do. This would be the time to do it ! (see Clover Conversion)


Install macOS
  1. Reboot into BIOS Boot Override i.e, press and hold the F12 key while the system is booting up.
  2. Locate your macOS Install USB stick from the drive list
    Note: if you see two instances of your USB stick then you must select the version with the UEFI prefix (the other option creates a legacy drive which is no good for us !)
  3. You have now successfully booted into OpenCore:
    full
  4. Arrow up or down to option #. Install macOS Big Sur (External) and press Enter to start installer.
  5. When the macOS installer reaches the setup page, install and setup macOS Big Sur.

    TIP: Do Not sign into your Apple ID (iServices) until you have created and validated a compatible macOS Big Sur SMBIOS and your Network devices are configured in the correct order e.g, Lan = en0, Wifi = en1, Bluetooth = en2
    full
    full
    full
    full
    full
  6. Mount your macOS EFI System Partition (ESP)
  7. Mount your OpenCore USB stick EFI Partition
  8. Copy your OpenCore EFI from USB to your macOS ESP

Fix TRIM

macOS Big Sur broke Third Party TRIM so launch Terminal and run the Trimforce command which will force a Reboot:
Code:
sudo trimforce enable


Power Management

Here, I used the PikeRAlpha method with the Dortania guide to create my power management SSDT-PM patch. I've combined the info below to illustrate all my steps;
  1. Launch your config.plist in ProperTree and for now Enable the ACPI DropTables;

    • ACPI > Delete > Delete CpuPm (set All = True and set Enabled = True)
    • ACPI > Delete > Delete Cpu0Is (set All = True and set Enabled = True)

  2. Save & Reboot

  3. Lets download Pike R. Alpha's ssdtPRGen v15.1 Beta
    Note
    the scripts below are taken from PikeRAlpha's GitHub page here and will download to our Home directory (~)
    Launch Terminal and Run the following scripts line by line;
    Code:
    curl -o ~/Library/ssdtPRGen.zip https://codeload.github.com/Piker-Alpha/ssdtPRGen.sh/zip/Beta
    Code:
    unzip -qu ~/Library/ssdtPRGen.zip -d ~/Library/
    Code:
    mv ~/Library/ssdtPRGen.sh-Beta ~/Library/ssdtPRGen
    Code:
    rm ~/Library/ssdtPRGen.zip

  4. We now have to change the permissions of the file (adding +x) to make it run
    Code:
    chmod +x ~/ssdtPRGen.sh
  5. We can now generate our Power Management SSDT by running;
    Code:
    ~/ssdtPRGen.sh
    OR, Overclockers can override their stock CPU frequency to match their overclock like I did for my 4.2GHz Overclock here;
    Code:
    ~/ssdtPRGen.sh -f 4200
  6. Do you want to continue (y/n)?
    y

    this outputs: Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

  7. Do you want to open ssdt.dsl (y/n)?
    n

  8. To locate your newly generated Power Management SSDT, launch Finder and in the Menu bar select Go > Go to folder...
  9. Type ~/Library/ssdtPRGen then click Go
  10. Copy your ssdt.aml to your Desktop and rename it as SSDT-PM.aml
  11. Mount your EFI and move your SSDT-PM.aml to EFI > OC > ACPI
  12. Launch your config.plist in ProperTree and select cmd+R (OC snapshot), this will inject and enable SSDT-PM.aml into your config.plist.
  13. Don't forget to Disable ACPI DropTables now that they are no longer needed;

    • ACPI > Delete > Delete CpuPm (set Enabled = False)
    • ACPI > Delete > Delete Cpu0Is (set Enabled = False)

  14. Save & Reboot.
You should now have proper Power Management function and Intel SpeedStep (provided you've enabled it in the BIOS).

For some realtime hardware monitoring, I recommend that you install Intel Power Gadget here and HWMonitorSMC2 here
full

I ran some tests with the AppleIntelInfo.kext and over time, I achieved successful results below;
full


As you can see below, my Overclock is recognised but for reasons unknown, my P-States cap out at 38 instead of ramping up through to 42 but hey.. that's an issue for another day !
full


Tweak Energy Saver
  • Uncheck Wake for network access (your network is probably active on 24/7 due to your smart devices. Your Hackintosh doesn't need to be)
  • Uncheck Enable Power Nap (otherwise your Hack will wake later in the night, sleep again and repeat)
  • Check or Uncheck the other functions in Energy Saver to your preference.


OpenCore GUI

OpenCore gives you a Text Picker by default but no GUI out of the gate. Thankfully, they have an optional download Resources binary file that includes a collection of OpenCore GUI themes; Default, Old and the Big Sur inspired Modern theme icon set. They're OK but I prefer using minimal theme created by a third party dev called tekteq ;

full

(requires OpenCore version 0.7.0 or later + the latest Resources folder from OcBinaryData)​

  1. Download OcBinaryData from the Acithandera GitHub.
  2. Locate the Resources > Image > Acidanthera folder. We're going to add our own folder to it.
  3. Create a folder called tekteq and create a sub folder inside that called Minimal
  4. Locate the Resources > Image > Acidanthera > GoldenGate > folder and open it.
  5. Copy all the .icns images files from the GoldenGate folder and paste them into the Minimal folder that you created earlier.
  6. Next, download opencanopy-minimal-theme-main.zip from the tekteq GitHub
  7. Locate it's own Resources > Image folder containing all the minimal theme .icns image files and Select All.
  8. Copy all of the minimal theme .icns image files into the Minimal folder you made earlier.
  9. Note: Copying will stall because all the .icns file names will be of the same so check box the Yes to All option and all the relevant .icns files will be replaced with the much cooler tekteq versions, keeping a few original .icns files intact to maintain compatibility with OpenCanopy.
    full
  10. With this prep complete, mount your macOS EFI System Partition.
  11. Copy the modified Resources folder from OcBinaryData
  12. Paste/Replace the existing empty Resources folder located in EFI > OC > Resources
  13. Launch the config.plist in the Plist Editor and make the following settings;

    • Misc > Boot > Hide Auxiliary : True
    • Misc > Boot > PickerMode : External
    • Misc > Boot > PickerAttributes : 17
    • Misc > Boot > PickerVariant : Acidanthera\tekteq\Minimal
    • UEFI > Drivers > OpenCanopy.efi

  14. Save & Reboot to view your themed GUI or feel free to change PickerVariant to display a different theme.
  15. Navigate the GUI using the Arrow keys, press Enter to select or press the Spacebar to reveal hidden options like Recovery, Reset NVRAM and OpenShell (in my case) thanks to the Hide Auxiliary quirk. Tab to select Restart or Shutdown
Update: we can now take screenshots of the OpenCore Menu screen (and the UEFI Shell) thanks to the CrScreenshotDxe.efi. Just press F10 and a coloured dot will flash in the top left corner of the screen to indicate capture. Mount your ESP to retrieve your .png screenshot files which should be visible next to your EFI folder.

Never Mind The Picker Bollocks.. I wanna boot straight to macOS !
if you prefer to bypass the Picker screen altogether and boot straight from BIOS to macOS (like switching on a real Mac) then set your config.plist like this:
    • Misc > Boot > ShowPicker : False


Custom USB Port Limit Patch

Although USB ports will function perfectly fine on this motherboard without enabling a Port Limit Patch Quirk, I had on occasion, experienced the odd USB device disconnection from my case Front Panel USB Ports. I fixed the issue by creating my own USB Port Limit Patch kext in the fantastic Hackintool.
full
  1. Grab a USB2 stick, a USB3 stick and if you have one, a Bluetooth Keyboard and a BT Mouse.
  2. Download the Sniki USBInjectAll.kext v0.7.3 (don’t use v0.7.5, I did try it initially but had no success with it !)
  3. Mount your macOS drive EFI
  4. Move USBInjectAll.kext v0.7.3 to your OC Kext folder
  5. Launch Propertree Plist Editor > File > Open > config.plist
  6. File > OC Snapshot (this injects the kext in the hierarchy and enables it)
  7. Go to Kernel > Quirks > XhciPortLimit > True
  8. Save & Exit
  9. Unplug all of your USB devices except your USB Keyboard and USB Mouse otherwise remove them too if you are using a Bluetooth keyboard and BT mouse.
  10. Reboot your PC and log back into macOS
  11. Launch Hackintool and select the USB icon from the top pane. We are ready to test our ports.
    full
    fig. 1 - Default.​

  12. Insert your USB 2 stick into All USB ports one by one, noting on each go, the USB Port Name listed on the Hackintool interface e.g, HP3, HSP1, etc. Hackintool will mark port discovery in green as you go.
    TIP: you can fill out the comments field in Hackintool like I did if you prefer (Right Click the comments field to use it).
  13. Insert your USB 3 stick into the USB3 ports ONLY and again noting on each go, the USB Port Name from Hackintool.
    full
    Fig. 2 - USB Ports Discovered.​

  14. That’s all the ports tested, let’s remove all of the Unknown ports first. Highlight the Unknowns and hit the “ - “ symbol in Hackintool to delete. TIP: if you hold down the cmd key and click each Unknown with the mouse then you can remove them in one go.
  15. Next, count how many Discovered Ports that you have left and then delete a few more until you are left with 15 USB Ports. Do not delete IOUSBHostDevice because it will disconnect Bluetooth USB Host Controller.
  16. To generate your custom USBPorts.kext, click the Export symbol in Hackintool and “Voila !” you'll have 4 files on your desktop. You can bin the others as you only want the kext.

    full
    full

  17. To use the kext, mount your macOS drive and delete USBInjectAll.kext v0.7.3 from your OC kext folder, replacing it with your custom USBPorts.kext
  18. Launch Propertree > File > Open > config.plist
  19. File > OC Snapshot (this Injects USBPorts.kext in the kext hierarchy and Enables it)
  20. Go to Kernel > Quirks > XhciPortLimit > False
  21. Save > Exit > Reboot
  22. Log back into macOS, launch Hackintool and select the USB tab icon.
    full
    fig. 3 - Custom USB port Limit Patch Working.​

If the Hackintool USB screen reverts to displaying the default e.g, like the image in Fig.1 then hit the Refresh symbol and it should display your 15 USB configured Ports only. If that fails then reboot and Reset NVRAM. Boot back into macOS and the USBPorts.kext should take.
full


Multbooting OSes
I recommend having multiple OSes on their own separate drive. This keeps things simple, safe and manageable. My macOS Drive is the first drive in the BIOS boot priority order so that it's EFI (containing OpenCore) manages all the bootable drives. I only have my OS and Apps on the boot drive. My User folder is actually on a 2TB Hard Drive. I have not detailed how I did that in this guide because I used the outdated Lnx2mac method which I no longer recommend.

When installing a different OS, I recommend disconnecting all the other OS Drives to avoid accidents or corruption. If you don't fancy opening up your case and disconnecting drives (disturbing your proud cable management) then Enter the BIOS and Disable all the other Drives e.g, System > ATA Port Information > Port No# > Disabled (You can Re-enabled them later !)
full

Installing Windows via USB
If you see two instances of your Windows 10 USB stick in the BIOS then you must select the version with the UEFI prefix. This ensures that you install Windows in GPT (UEFI mode) and not Legacy MBR.

OpenCore Settings for Windows 10
I noticed when viewing msinfo in Windows 10 that my PC was listed as System Manufacturer: Acidanthera instead of Gigabyte Co. Z77-DS3H etc,. This could potentially conflict with Windows Activation. Luckily Milliuco solved this issue in his Z390 Aorus Elite build (credits: @miliuco)

Launch the config.plist in the Plist Editor and make the following settings;
    • Kernel > Quirks > CustomSMBIOSGuid : True
    • PlatformInfo > UpdateSMBIOSMode : Custom
    • Save, Exit and Reboot into Windows
    • Type msinfo in Windows Search and it should now display all your PC information correctly.
Apple Peripherals in Windows 10
If you're using an Apple Magic Trackpad, Apple Broadcom Wifi/BT, etc, in Windows then download Apple's Boot Camp Support Software 5.1.5769. In Windows, extract the file from Boot Camp Support Software 5.1.5769 and locate the Drivers folder. The Apple folder and the Broadcom folder contains Windows drivers in executable form for those Apple peripherals.
full
full

Enabling Trackpad Gestures in Windows 10
The Boot Camp Support Software 5.1.5769 also contains BootCamp Setup.exe located in the BootCamp folder. Installing this will give you a Boot Camp Control Panel (accessible from the Windows Task Bar) where you can enable a few Trackpad gestures.
full
full
full

Fix Incorrect Time in Windows after Dual Boot
Multibooting between different OSes tends to throw Windows Time out of sync with macOS or Linux. This can be fixed with a small Registry Edit in Windows. Fortunately, Hackintool will generate Windows UTC Registry files for you to execute in Windows. You get two files, one to apply the fix and the other to reverse the fix. The files will auto edit the registry for you. Of course, you only need to use one of the files.

full


If you prefer to edit the registry yourself, Howtogeek will show you what to do here

Set Your Default OS
Want OpenCore to boot to your preferred OS each time until you interrupt the Picker time out for a different OS ? then set your preferred OS daily driver as the default in macOS Startup disk.
full
For A Nice Clean macOS Boot Screen
Remove Verbose mode -v from your boot-args and Disable AppleDebug at the start of boot:
    • Misc > Debug > AppleDebug : False
    • Misc > Boot > PollAppleHotKeys : True
TIP - You can use the key combo cmd+V at the OC boot menu screen to boot in Verbose mode whenever you want providing you enable PollAppleHotKeys as shown above.



What Works
  • OpenCore v0.7.0 including Boot Menu screenshots
  • Audio: Rear Out Port (Green), Front Panel Headphone and Line In jacks, HDMI Audio, Line In (Pink)
  • Video: DVI-D and HDMI, Quartz Extreme (QE/CI) and Metal supported
  • Ethernet: Dell X3959 PCIe Intel Dual Port NIC card works OOB (so I have Disabled my onboard Atheros Ethernet)
  • Broadcom BCM94360CD Wifi/Bluetooth PCIe Combo Card kit both work OOB
  • Sleep, Wake and Shutdown
  • Native NVRAM
  • FileVault2
  • iServices: Messages, FaceTime, Apple Music 1, AppleTV app (Trailers Only).
  • Handoff and Airdrop
  • Sidecar is now available in System Preferences and works (Wired Only) on my incompatible 2017 iPad. It does not respond to iPad touch gestures though.
  • Power Management / Intel SpeedStep
  • Netflix and Amazon Prime only work in Google Chrome however BBC iPlayer works fine in Safari
  • Triple Boot (macOS Mojave - macOS Big Sur - Windows 10 ) + macOS Recovery
  • Software Updates install and reboot to the correct drive and macOS installer without further intervention from the user.

What Doesn’t Work
  • AppleTV app plays to a Green Screen for all Paid For Content.
  • VGA Out displays the OpenCore GUI but the VGA screen goes blank when loading macOS and in turn scrambles my HDMI connected screen.
  • SSDT P-States: 39, 40, 41 and 42.
  • Display sleep slider in Energy Saver doesn't sleep the Computer. My previous SMBIOS macmini6,2 had both Display sleep and Computer Sleep slider options. Sleep works but I have to use the Schedule Sleep function to time my PC to sleep.
  • Corsair RM650 PSU Fan Shut-Off (when in low power usage) only works in Windows but not in Mac.


Credits
  • vit9696 & The HermitCrabs Lab, CorpNewt, khronokernel/Dortania, GitHub, @headcaze, PikeR.Alpha, Rehabman, Apple, Tonymacx86, Stork, CaseySJ, r/Hackintosh, u/tekteq, blackosx, InsanelyMac, Lifehacker and all the Hackintosh Community out there.
  • Honorable mentions; Linux, Microsoft, Chameleon Devs, MacMan, Clover Devs, Mackie100, Lnx2Mac, Pjalm and Toleda.
  • YouTubers: Alexey Boronenkov (if only I could understand Russian.) and Peter Paul Chato.

 

Attachments

  • Z77-DS3H OpenCore EFI.zip
    8.4 MB · Views: 621
  • v0.6.8 OC EFI Z77-DS3H.zip
    8.4 MB · Views: 185
  • OC v0.6.9 EFI for Z77-DS3H v2.zip
    11.2 MB · Views: 175
  • OC v0.7.0 EFI for Z77-DS3H.zip
    12.2 MB · Views: 119
  • OC v0.7.1 EFI for Z77-DS3H.zip
    11.9 MB · Views: 72
  • OC v0.7.2 EFI for Z77-DS3H.zip
    12 MB · Views: 109
  • OC v0.7.3 EFI for Z77-DS3H.zip
    13.3 MB · Views: 80
  • Z77-DS3H OC v0.7.4 EFI.zip
    13.4 MB · Views: 32
Last edited:
Joined
Mar 31, 2011
Messages
637
Motherboard
Gigabyte GA-Z77-DS3H-F11a
CPU
i5-3570K OC @ 4.2GHz
Graphics
HD 4000
Mobile Phone
  1. Android
06/10/2021 Guide Revision 6.0
  • Updated Configuring my EFI / Drivers section to include OpenLinuxBoot.efi, ext4_x64.efi and btrfs_x64.efi
  • Deprecated the outdated OpenCore Sanity Checker and introduced a new section "Validating your config.plist"

05/10/2021 EFI Updated
  • Added Z77-DS3H OpenCore EFI version 0.7.4 to Attachments (notes from 08/07/2021 still apply **)
  • Added Linux support drivers; OpenLinuxBoot.efi, ext4_x64.efi and btrfs_x64.efi
  • Added additional Linux .icns image files from tekteq's minimal theme Github.

09/09/2021 EFI Updated
  • Added Z77-DS3H OpenCore EFI version 0.7.3 to Attachments (notes from 08/07/2021 still apply **)
  • thanks @miliuco for your great post. That help me resolve the UEFI>Driver config.plist changes :thumbup:

03/08/2021 Guide Revision 5.3
  • Added Z77-DS3H OpenCore EFI version 0.7.2 to Attachments (notes from 08/07/2021 still apply **)
  • Amended My OpenCore EFI Kext section because Acidanthera have renamed the SidecarFixup.kext to FeatureUnlock.kext

22/07/2021 Guide Revision 5.2
  • Added a new section called "OpenCore Settings for Windows 10" which contains the settings mentioned in last update.

08/07/2021 EFI Updated
  • Added Z77-DS3H OpenCore EFI version 0.7.1 to Attachments.
  • Changed Kernel > Quirks > CustomSMBIOSGuid as True (default is False)
  • Changed PlatformInfo > UpdateSMBIOSMode as Custom (default is Create)
    (credits: @miliuco )
  • Please note: ** this EFI is UNTESTED this time around as I currently do not have access to macOS (see last update notes). I managed to update my EFI from OpenCore v0.7.0 to v0.7.1 using OCConfigCompare and ProperTree in Linux (Ubuntu). I checked my updated config.plist in ocvalidate and it outputted 'No Issues Found!" so EFI should be good.

02/07/2021 RIP Z77-DS3H Motherboard

So I was cleaning my dusty PC last week in preparation to add my brand new WD Black Nvme drive via PCI-e add on card into the spare PCIe slot however after switching on the PC, it immediately started power cycling and would not P.O.S.T.

I have ran multiple tests, removed and eliminated all of the components including RAM. I’ve cleared the CMOS and temporarily removed the battery but no joy. I was convinced that it was my power supply until I tested that last night with a 2nd working power supply and it still power cycles and will not post.

It appears that my motherboard has bit the dust so I am currently without macOS. luckily, I have iPadOS and Android for internet as well as an old computer that I can stick Ubuntu or Windows on.

As a result of this, I will not be able to post any future EFI updates for this build. I just wanted to thank everybody that liked my build and downloaded my EFI updates. I hope they were a useful reference for you.

All the best people,

Robbish



19/06/2021 Guide Revision 5.1
  • Re-edited Install macOS section to including missing steps relating to the OpenCore Picker.
  • Added a new image to Install macOS section showing the OpenCore Built-in Picker screen.

08/06/2021 Guide Revision 5.0
  • Added Z77-DS3H OpenCore EFI version 0.7.0 to Attachments.
  • Re-wrote OpenCore GUI instructions to maintain compatibility with the latest OpenCanopy feature changes and new Resources > Image folder structure.
  • Added a spoiler to OpenCore GUI instructions revealing an image of my Resources > Image folder.
  • Re-wrote Remove Verbose section with additional info and renamed it For A Nice Clean macOS Boot Screen.
  • Re-edited Custom USB Port Limit Patch steps and moved "We are ready to test our ports" (formerly Step.12) into Step 11. because it was a comment and not an instruction.

06/05/2021 Guide Revision 4.1
  • Added SidecarFixup.kext to Z77-DS3H OpenCore EFI version 0.6.9 and replaced the upload zip with updated version (file name denoted by v2).
  • Updated Configuring My EFI section to include SidecarFixup.kext and CrScreenshotDxe.efi
  • Updated Configuring My EFI section by re-writing OpenShell description now that I understand it better.
  • Updated Initial EFI image and Complete EFI Image to reflect updated Kexts and Drivers.
  • Updated What Works re OpenCore menu screenshots and Sidecar.
  • Replaced Stuffit Expander with The Unarchiver as the latest Stuffit could no longer extract my BIOS .exe file.

04/05/2021 Guide Revision 4.0
  • Added Z77-DS3H OpenCore EFI version 0.6.9 now featuring two user created OpenCanopy themes. (BsxDarkFenceBlue1_ and Minimal).
  • Added CrScreenshotDxe.efi to EFI as it enables taking screenshots of OpenCore boot menu.
  • Updated DeviceProperties and image of Audio ALC887 config.plist from the incorrect alc-layout-id to layout-id.
  • Updated Multibooting OSes section to mention BIOS Boot Priority and comment on my OS/Data configuration.
  • Updated What Works. Tested both Front and Rear mic/line inputs using a jack to jack, audio phone app and Quicktime in macOS. Both inputs work fine. The Rear In has the stronger sound input but both sound good.
  • Updated credits.

07/04/2021 Guide Revision 3.0
  • Added Z77-DS3H OpenCore EFI version 0.6.8 featuring updated OpenCanopy.
  • Added PollAppleHotKeys with a mention about a clean boot.
  • Re-dited Audio description to mention overriding layout IDs in boot-args for testing other layouts.
  • Re-edited Verbose mode description to give a reason for use.
  • Re-edited OpenCore GUI description for a bit more clarity.
  • Removed HfsPlus.efi and replaced with the included OpenHfsPlus.efi
  • Updated What works & What doesn't work.

28/03/2021 Guide Revision 2.0
  • Added an extra note about iMac15,1 for those using an External GPU.
  • Added a spoiler Plist guide for those that have a Graphics Card installed on this build (credits @pit512)
  • Added a Hackintool Export icon image to Custom USB Port Limit Patch section.
  • Added Step 23. to Custom USB Port Limit Patch section by splitting up the original Step 22. into two stages.
  • Removed some of the coloured text to make all of the hyperlinks more obvious to view and use.
  • Removed ALXEthernet.kext and replaced with the more up to date AtherosE2200Ethernet.kext (credits @igorkulman)
  • Removed my original IOReg image and replaced with a mark up version.
  • Removed some of my original Windows BootCamp images and replaced with mark up versions.
 
Last edited:
Joined
Dec 1, 2016
Messages
112
Motherboard
Gigabyte Z77-DS3H
CPU
i5-3570K
Graphics
RX 570
Mobile Phone
  1. iOS
Very nice, I have the exact same motherboard and CPU, just a AMD Radeon Rx 570 as my GPU. I still run Catalina with Clover because I tried a few times to switch to OpenCore but always could not make something work (like sleep).

What changes would be required to make in your OpenCore EFI to make it work with the Rx 570? Just removing the framebuffer patch?
 
Joined
Dec 10, 2010
Messages
732
Motherboard
Gigabyte Z390 Aorus Elite
CPU
i9-9900K
Graphics
RX 580
Mobile Phone
  1. iOS
... This Hackintosh has been my macOS daily driver for 8+ years. It’s used for general web browsing, media consumption, office apps, family tech support and tinkering with macOS and Windows apps. I switched to using OpenCore in Nov 2019 following the release of macOS Catalina because Clover at that time was not playing well with FileVault2, and I was having boot problems like never before...​
Excellent work!!! Old rig but you have be able to update it. It's a very good post.
 
Joined
Feb 17, 2011
Messages
524
Motherboard
Gigabyte Z390 M Gaming
CPU
i9-9900KF
Graphics
RX 5700 XT
Mac
  1. MacBook Pro
Classic Mac
  1. iMac
Mobile Phone
  1. Android
  2. iOS
What changes would be required to make in your OpenCore EFI to make it work with the Rx 570? Just removing the framebuffer patch?

Hi @igorkulman, 3 changes required...

1. If you don't mind to keep running Catalina, I suggest using iMac13,2 SMBIOS in PlatformInfo/Generic section.
Not sure for Big Sur, but iMac15,1 as well as iMacpro1,1 should be fine.

2. If you choose iMac13,2 or iMac15,1 SMBIOS, configure your iGPU as headless in DeviceProperties section. Of course, iGPU must be enabled in BIOS.
XML:
<key>DeviceProperties</key>
    <dict>
        <key>Add</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>BwBiAQ==</data>
                <key>AAPL,slot-name</key>
                <string>Internal@0,2,0</string>
                <key>device_type</key>
                <string>Graphics Controller</string>
                <key>hda-gfx</key>
                <string>onboard-1</string>
                <key>model</key>
                <string>Intel HD Graphics 4000 (Headless)</string>
            </dict>
        </dict>
    </dict>
If you choose iMacpro1,1, no entry is needed in DeviceProperties section and iGPU must be disabled in BIOS.

3. Add agdpmod=pikera to NVRAM/Add/7C436110.../boot-args section.
XML:
<key>NVRAM</key>
    <dict>
        <key>Add</key>
        <dict>
            <key>7C436110-AB2A-4BBB-A880-FE41995C9F82</key>
            <dict>
                <key>boot-args</key>
                <string>agdpmod=pikera</string>
            </dict>
        </dict>
    </dict>
 
Last edited:
Joined
Sep 2, 2012
Messages
17
Motherboard
Gigabyte GA-Z77-DS3H
CPU
i5-3570K @ 4.1 GHz OC
Graphics
Intel version # > See Rules!
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. Power Mac
  2. SE
Mobile Phone
  1. iOS
Wow! Thank you Robbish! That was a fantastic writeup. I have similar hardware (Z77-DS3H with 3750K). I'm overclocked to 4.2GHz. I got a Radeon RX 560 when I bought my 4K TV to use as a monitor. I've been using my machine since 2012.

Machine is in the living room hooked to my 65-inch dumb TV. (Yes, I appear to have bought the world's last non-spyware television!) From the browser I use Netflix, Hulu, Amazon Prime Video, and Youtube. Amazon Prime Video comes in low-def because of lack of DRM stuff. Oh well. I also have the El Gato EyeTV software with 3x TV tuners hooked to an antenna on the roof. That TV recording was great back in 2012 and still working now, but there's just less and less to record!

Running macOS 10.14.6 Mojave completely stable. Need the 32-bit support for the EyeTV software. As my only computer, I also use it for web surfing, TurboTax (H&R TaxCut this year!), word processing and spreadsheeting, etc. And, of course, some casual programming with XCode.

I'm still using Clover since ... if it's not broken, don't fix it!

When I upgraded to Mojave I noticed that my Plug-and-Play WiFi PCI card is no longer recognized. I think Apple dropped support, but I'm not really needing it anyway.

Sleep and (more importantly) wake-from-sleep working perfectly. My "uptime" command reports 28 days — had a power outage last month.

Overall, I can't believe how great this machine has been. Since it records over-the-air video, I have a pair of 3TB spinning disks bought in 2012. Amazingly, I haven't filled them up! I also have a dedicated Windows disk (run through Parallels) and an SSD as my boot disk. Try getting that much storage in any "real" Mac without breaking the bank. I also have a built in DVD burner and built in million-in-one card reader.
 
Joined
Dec 15, 2015
Messages
363
Motherboard
MSI Z270 M7
CPU
i7-7700K
Graphics
RX 5700 XT
Mobile Phone
  1. iOS
iMacpro1,1 SMBIOS is best IMHO for Ivy Bridge + dGPU such as RX XXX = it decodes everything in the GPU compared to the CPU, macOS is way faster when there are heavy folders (i.e. display app folder immediately, no loading time). Better DRM management too. In other words, you have all the advantages of modern hacks.

The only downside is that CPU PM steps are higher.
 
Joined
Mar 31, 2011
Messages
637
Motherboard
Gigabyte GA-Z77-DS3H-F11a
CPU
i5-3570K OC @ 4.2GHz
Graphics
HD 4000
Mobile Phone
  1. Android
Very nice, I have the exact same motherboard and CPU, just a AMD Radeon Rx 570 as my GPU. I still run Catalina with Clover because I tried a few times to switch to OpenCore but always could not make something work (like sleep).

What changes would be required to make in your OpenCore EFI to make it work with the Rx 570? Just removing the framebuffer patch?
thanks igorkulman and thanks @pit512 for the AMD graphics card solution as I don't have a graphics card to test myself.

I hope pit512's guide gives you the inspiration that you need to move to macOS Big Sur on OpenCore. I recommend that you try SMBIOS 15,1 and OpenCore whilst still on Catalina. Once you have everything working then clone your working Catalina setup and then update to Big Sur ;)
 
Last edited:
Top