Contribute
Register

The Dell OptiMac Big Sur/OpenCore Thread - For 7020/9020 Optiplex Desktops

trs96

Moderator
Joined
Jul 30, 2012
Messages
25,471
Motherboard
Gigabyte B460M Aorus Pro
CPU
i5-10500
Graphics
RX 570
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. Android
1597233990750.png


1606320264408.png
Dell Optiplex 7020/9020 Desktops

1597235690294.png


macOS 11 Big Sur

This is a separate "cousin" thread to the main Golden Build thread for the Dell Optiplex 7020/9020 desktops. That focuses primarily on macOS Mojave/Catalina. There is a massive amount of useful info in the Golden Build thread that applies to your Dell Optiplex so make sure to read it first. The buyer's guide, in the beginning section, will help you choose the best graphics card and show you other compatible hardware available for your build.

In this thread, we'll focus on the topics of OC (OpenCore) and Big Sur installation on your Dell Optiplex 7020/9020.
Note that not all of the steps in this guide apply to the Optiplex 3020 desktops or the 3020M/9020M micro form factor. Do not use it for those. You can find the link to the 3020 SFF guide in the FAQ section (2nd spoiler) of the OptiMac Golden Build thread or you can click here to see that.

Using the OpenCore Bootloader with Big Sur
Install Big Sur to a clean, separate SSD or HDD to experiment with it first. When you are ready to upgrade to Big Sur and use it full time, then switch to using this new drive. In my testing I've found that a clean install of Big Sur using OC will give you the best results. Clover r5123+ has been modified for use with Big Sur. It makes setting up your config.plist more complicated than simply using OpenCore so avoid it for now. This thread will not support Clover users.

Important Tip #1 OpenCore is a Boot Manager like Clover. It's not simply an improved version of Clover. The code was written by the Acidanthera team as a fresh start to improve upon what Clover can do. You will need to learn many new terms and techniques to have success with OC. (See attached reference manual). Your existing Clover config.plist will not work with OC. You'll need to create a new custom one for OC that works with your specific Optiplex hardware. You'll need to learn how to use the OC snapshots feature of the ProperTree app by CorpNewt. A great tool that makes the whole task of creating your working config.plist much simpler.

Don't be in a hurry to start using OC, study first so that you understand what you are doing. It's going to be a steep learning curve for beginners and even experienced hackintoshers. Using the approach of copy/pasting another person's EFI folder doesn't help you to learn much of anything. When eventual problems occur, your efforts will pay off. You will be able to solve them (OC problems) yourself more easily if you understand the unique features and options of OpenCore. At first the sheer number of Quirks to learn about can appear overwhelming. Don't worry, I'll point out the most important ones that you need to change to be able to boot macOS Big Sur.

Important Tip #2 Use the Late 2014, iMac15,1 SMBIOS to download and install Big Sur. Late 2013 iMac14,1 and 14,2 have been dropped from support in Big Sur. I plan on using 15,1 with my i7-4790 based system. The Late 2014 Retina iMacs had an optional Haswell refresh 4790K CPU so that is the best fit. It will also work well with first gen Haswell CPUs from 2013 such as the i5-4570 and i7-4770. The i5-4590 and i5-4690 also work with iMac 15,1. UPDATE: June 11, 2021 : Apple has dropped support for the 2014 iMacs in Monterey. This is disappointing. The next closest iMac that is supported by Monterey would be the Skylake based Late 2015 iMac17,1. That should work with Monterey. If you will only use the iGPU to power your display, then Macmini 7,1 appears to be the best match for this hardware. Be aware of this if you plan on installing Monterey at some point.

Screen Shot 3.jpg


Haswell Refresh CPUs from early 2014 shipped in the Late 2014 27" iMac models.

Important Tip #3 All the Hackintosh related kexts and drivers by Acidanthera will be tested for their compatibility with the OC Bootloader exclusively. This means they may no longer work properly with Clover, unfortunately.

It makes sense that we migrate to OC for macOS Big Sur and future releases by Apple for the very best function and compatibility of our hackintoshes. Since 10.7 Lion, the prelinkedkernel has been the default way for real Macs to boot. This contained a very minimal amount of kexts to get a mac booted. This same bundle is what OpenCore uses to inject kexts, and was hoped to last quite some time. With macOS Big Sur, a huge change happened where Apple no longer makes it the default form of booting. Acidanthera has solved this problem. Make sure to use at least OpenCore 0.6.3 or newer with the public release of Big Sur.

Big Sur Graphics Card Support
It seems that some brands of GT 710 DDR3 are no longer OOB supported by Big Sur. If you have one you'll need to test it. You may get a black screen on boot up. The Quadro K600 (GK107) still works OOB. If you have a GT 710 that works or doesn't work for you, be sure to post your results. If you have a CPU with HD4600 iGPU that is your best choice for basic graphics support. Use DP adapted to HDMI if your monitor has no DP inputs. AMD Polaris and newer Navi cards must have Legacy Option ROM disabled to work normally. Older Nvidia Kepler cards like the K600 need to have Legacy Option ROM enabled, just like the HD4600 iGPU.

If you do have an AMD RX 570 or 580 and want to run triple monitors that should work with no problems. Just note that one of the three DP outputs will not work. You'll have to test your brand of card to figure that out. Here's my RX 570.
RX 570 .png

A Brief look ahead to Monterey
Monterey 12.1 is now out and we've learned that Nvidia Kepler cards have lost support and the mid 2014 iMac 15,1 has also been dropped from Monterey. If you are just starting out and definitely want to upgrade to Monterey at some point, you can use either iMac 17,1 or Macmini 7,1 as your SMBIOS. There is a shorter simplified guide for Monterey you can read in Monterey Desktop Guides.

If you want to create your own EFI folder, stay with this guide. Read all the way through posts #2 and #3 below.

Necessary First Steps For All Dell 7020/9020 OptiPlex Owners
If you are installing macOS for the first time on your Dell, make sure your BIOS is flashed and configured properly. If it already is, go on to post #2. Don't forget the CFG Unlock before the install. Also see step #2 of the Dell OptiMac Golden Build guide. For a step by step guide to BIOS flashing.

BIOS flashing and setup

For new OptiMac owners that haven't installed Catalina or Mojave yet, make sure you are using the latest BIOS. If your Optiplex didn't come with Windows pre-installed, see the following:

Flash your BIOS to A18 for the 7020 models and A25 for the 9020 Optiplex models. See the Golden Build thread for all the details on how to do this via Windows or by using a FAT32 formatted USB flash drive. After the BIOS flash is complete boot into the BIOS with the F2 key and Load Defaults and click OK then Exit. Your Dell will reboot. Press F2 again to enter the BIOS. The four absolutely mandatory BIOS settings to change are listed below. If your BIOS is not set this way, installing macOS Big Sur will likely fail. Also read and apply "Recommended settings."

General
Boot Sequence -> Boot List Option -> UEFI
Advanced Boot Options -> check box- Enable Legacy Option ROMs (if using HD4600)
AMD graphics cards require disabling Legacy Option ROMs

System Configuration
Sata Operation -> AHCI
Serial Port -> Disabled

Secure Boot

Secure Boot Enable -> Disabled (automatically disabled when you load defaults)

This Spoiler shows you all the other suggested BIOS changes.
Click on it to see what other changes you may need to make.
Summary of BIOS Setting Changes

General

Boot Sequence -> Boot List Option -> UEFI
Advanced Boot Options -> check box- Enable Legacy Option ROMs
If using an AMD RX 560/70/80 -> Disable Legacy Option ROMs
UEFI Boot Path Security -> Set to Never

System Configuration
Integrated NIC -> Enabled
Serial Port -> Disabled
Sata Operation -> AHCI

Video
Primary Display -> Auto (For HD4600 Nvidia or AMD)

To Enable VDA Decoder (Headless - iGPU used for compute)
Primary Display -> Nvida or AMD HD Graphics

IMG_20220321_083649773.jpg


Secure Boot
Secure Boot Enable -> Disabled

Power Management
Deep Sleep Control -> Disabled

Virtualization Support (i5 and i7 CPUs only)
VT for Direct I/O -> Disabled (see below if you need it enabled)

Once you've got the BIOS flashed and set up, Unlocking CFG is mandatory for the Big Sur install to work.

Unlocking CFG and Disabling VT-d (VT for Direct I/O)
CFG Lock prevents macOS from writing to a certain region in your BIOS. macOS does this writing for power management and other reasons. If it can't access those areas, it will not boot. This is why we'll need to boot into a modified GRUB shell and perform this CFG unlock manually before installing Big Sur. See post #6 below for instructions on how to do this.

What is CFG-Lock ? Dortania Guide

The VT-d setting is accessed via the Dell BIOS user interface. You should have already done this step as shown above. If you do want to leave VT-d enabled for use with Windows, then set: Kernel -> Quirks -> DisableIoMapper to True in your OpenCore config.plist.

Using Windows 10 before you install macOS

Even if you never use Windows 10 and your Optiplex came with it, don't erase your HDD just yet. It will be extremely useful to you before macOS Big Sur is installed. Use it to easily flash/update the BIOS. One optional step is to add native NVMe boot support. Don't do this unless you have an NVMe drive you want to boot macOS from. It is not risk free and you could possibly brick your motherboard. If you follow that guide, proceed slowly and perform each step correctly.

This guide at TachyTelic.net shows you step by step how to enable booting from NVMe. You can't flash anyone else's modfied BIOS. The steps in the guide must be done on the same machine that will use the modded BIOS.
There is a requirement for an NVMe adapter as the Dell Optiplex board has no M.2 slots. Here's an example from Amazon.

All About OpenCore

To start learning more of the OpenCore basics please see the Dortania OC Guide for Haswell systems on github.io.

Here's the OpenCore Manual https://dortania.github.io/docs/release/Configuration.html
 
Last edited:

Getting Started with Big Sur/Monterey

0. Check your Dell's Intel ME setting

If you will be using only Intel HD4600 as your primary graphics, you must first check whether Intel ME is enabled or not. Open up the removable side panel and you'll find a white sticker attached there. It should display a large 1 (enabled).

IMG_20220702_080116683.jpg


If it is a 3 or a 6 then you need to return or replace your Dell. The iGPU won't work unless Intel ME is enabled.

1. Download macOS 11 or 12

These are the Mac models (or newer) that will let you download Big Sur and create your USB installer. Whether you use a hackintosh or a Mac your SMBIOS (system definition) needs to meet these minimum specs to be eligible. If you will be downloading Monterey see: https://support.apple.com/en-us/HT212551

MacBook __ 2015 MacBook Air __ 2013
MacBook Pro _ Late 2013 Mac Pro __ 2013
Mac mini __ 2014 iMac __ 2014
iMac Pro __ 2017

Use The Mac App Store to download macOS on your Mac or Hackintosh

Use these links to find the older installers in the App Store. After you download from the App Store, the installer opens automatically. Right click it in the Dock, then quit, if you want to make your USB installer. The Monterey 12.7.1 link is direct to download the 11.5 GB .pkg file. Once that is downloaded, double click it and then go through the prompts.
If your hackintosh is using iMac 14,2 (Late 2013), you'll need to change it to at least iMac 15,1 for the download of Big Sur. For Monterey you can set your SMBIOS to iMac 17,1 or Mac mini 7,1 for the downoad. If your real Mac is older than these make sure to use gibMacOS to download Big Sur directly from Apple's servers.


Use a Windows 10 host OS to download macOS

There is now an option to download directly from Apple servers using gibMacOS on a PC. For those that don't have a Mac or working Hackintosh this is the best method to use to make an installer with Catalina to get started.

2. Create the USB Installer

As with Catalina, you'll need a minimum of a 16GB USB flash drive if you're going to use macOS to make your Big Sur installer. 32GB USBs also work. Anything larger, make a small partition of at least 16GB but less than 32 for building the installer. Big Sur or Monterey should be in Applications. Open Disk Utility app and set it to "Show All Devices." Next highlight your External flash drive in the left hand column, (Samsung) in my scenario below.

1653396719878.png


You'll need to use createinstallmedia method after you've erased the USB as Mac OS Extended (Journaled) and GUID partition map via Disk Utility. Name the drive simply USB so the command will write to that drive only.

1653396790090.png


Now open up Terminal and then copy/paste the following there and press return. Enter your password and return again.

Big Sur Command
Code:
sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --nointeraction
Monterey Command
Code:
sudo /Applications/Install\ macOS\ Monterey.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --nointeraction

3. Create your Custom OpenCore EFI Folder

*Note
You don't need to perform this step if you'll be using a pre-built EFI that is attached below or in the Monterey guide.

Once you've installed Big Sur to the USB, the next task is to create the custom OpenCore EFI folder and then copy/paste that to the EFI partition of the USB after completing all edits. This is where you'll need to use a sample config.plist and modify it specifically for your hardware. It's best to be using at least High Sierra 10.13.6 or newer on your Mac/Hackintosh when following the Dortania guide or using OC-Gen-X to make your new EFI folder. Every Mac made in 2010 or later should be able to run High Sierra with no problems. The 2009 iMac will also be an option.

I'd highly suggest that you read through the following Dortania Guide to get a general idea of what is needed for a Haswell system booting via OpenCore. Their guide is not complete enough to get your Dell fully working and booting normally. If you are an OpenCore/Hackintosh beginner, it's best that you follow the preferred method below.

OpenCore Bootloader and the Dortania Guide

Start here
: https://dortania.github.io/OpenCore-Install-Guide/installer-guide/opencore-efi.html

1. Download the standalone OpenCore Bootloader package installer from the official downloads section.
2. Apply necessary kexts, SSDTs and make the required edits (Haswell specific) to the config.plist using ProperTree.

Preferred Method - Dell Optiplex 7020/9020 Specific Instructions
For those that want a Multibeast Like GUI to create their EFI folder, there is a handy app called OC Gen-X created by Pavo that you can use. https://github.com/Pavo-IM/OC-Gen-X/releases Always use the newest release. You must use at least High Sierra 10.13.6 or newer to run the OC-Gen-X app. No support for Sierra or older macOS versions. The OC Gen-X app has been updated to OC 0.8.3 as of August 2022. Make sure you've got the newest version.

OC gen x 0.8.3.jpg



Using a "Headless" iGPU
The video doesn't show how to run your Intel iGPU headless. If you do use an AMD or Nvidia card and don't plan on using the iGPU at all (i.e. no display connected) you can delete the whole Devices/Properties PciRoot (0x0)/Pci(0x2,0x0) section. WhateverGreen should then automatically configure it as a compute device. It can then do video encoding / decoding to speed up rendering. You will also need to change the BIOS settings and make the dGPU the primary video card for Intel Quick Sync encoding / decoding to work. Go to Settings -> Video -> Primary Display and set that to Nvidia or AMD HD Graphics if using a supported AMD card.

IMG_20220321_083649773.jpg


Running iGPU headless is the fastest way to render, especially if you are using an older Nvidia Kepler 700 series graphics card. The other alternative is to change the ig-platform-id to 04001204. That is the only change you make to the existing config.plist used in this guide. When running headless you can delete framebuffer entries. Headless framebuffers (where the dGPU is the display out) do not need framebuffer-patch-enable, framebuffer-stolenmem and framebuffer-fbmem.

5. Generate Serial Numbers and your unique SMUUID - Required Step

To set your SMBIOS and generate unique Serials and the SMUUID: https://github.com/corpnewt/GenSMBIOS

If you plan on upgrading to Monterey soon, it will make more sense to go with Macmini7,1 for those with iPGU only. There is an example Macmini7,1 EFI folder attached at the end of this post. If using a DGPU and Monterey an want to run the iGPU headless (for Intel Quicksync) then pick iMac17,1 instead.

I've attached the latest macserial (in Utilities folder). Add that to your GenSMBIOS-master folder before generating serial numbers once booted into macOS Big Sur. This way you won't need an internet connection to generate your serials and SMUUID. Right click on macserial and open it first before running GenSMBIOS command. Otherwise macOS won't allow access to it. View attachment 533593

If you don't have a Mac or hackintosh at least use OpenCore Auxiliary Tools Win64 version, to generate an SmUUID for your config.plist before booting from your USB installer. This is mandatory if using Macmini7,1 or iMac17,1 and Big Sur or Monterey.

Select file from the OCAT menu bar and then open up your EFI folder's config.plist. Select the PI (Platform Info tab) then generate your SmUUID. It will be automatically added to the config.plist you opened with the app. Save it from the file menu in OCAT.

Screen Shot 10.jpg


Screen Shot 9.jpg

GenSMBIOS

The following video demos using GenSMBIOS.command in macOS. If your best matching SMBIOS is not iMac15,1 then enter the one you want to use. If your config.plist already has one, enter that.


Check with Apple's warranty support page to make sure no Mac already uses your new Serial numbers before you commit them. Here's what you should see if the serial you created is unique (Not associated with an Apple built iMac computer).
1653219504756.png

We actually want to use an Invalid Serial. If the website informs you in red letters that the number cannot be checked, then you are OKAY to use it. The wording will say "We are unable to check coverage." That means you've generated an invalid serial correctly. You can then use it in your config.plist.

6. Finding your MAC address to get your ROM value

A MAC (Media Access Control) address is a number that identifies the network adapter(s) installed on your computer. The address is composed of up to 6 pairs of characters, separated by colons or in the Windows OS, dashes.

Use the Ethernet MAC address of the Dell Optiplex 7020/9020 you will install macOS to. At boot up tap on the F2 key to enter BIOS. Go To the Settings -> System Information tab and then scroll down to near the end.

You'll see: LOM MAC Address = 5U-34-95-A4-T3-03 (example)

Find MAC Address.jpg


Write down all 12 letters/numbers but don't include the dashes.

In Linux all you need is a terminal command, ifconfig -a then press enter. Scroll until you find your network connection (the primary Ethernet port is labeled eth0). Look for the HWaddr entry. This is your MAC address.

Finally, in macOS your ethernet has to be active to see it in System Prefs -> Network -> Advanced -> Hardware.
If you are connected via Wifi instead of Ethernet this will be different as Wifi has a separate MAC address.
Here's how it would possibly look for Ethernet, 6 of the 12 characters have been removed for security reasons.
Screen_Shot_2021-07-17_at_11_59_41_AM.jpg

Having this correct is important to get Apple's cloud connected services working. If you want to get it post install, don't connect to the internet before you do this in macOS Big Sur. To get your Ethernet MAC address for the ROM from macOS plug in the ethernet cable to your router but don't connect the cable from the router to your Modem.

If you already have iMac 15,1 serials/SMUUID enter all the values into your config.plist under Platform info -> Generic.

1626173045457.png

7. Taking the OC Snapshot with ProperTree

Once everything is set then it's time for the OC snapshot. Demonstrated in the video also.

1. Now open up your new config.plist with ProperTree (attached below)
(right click on ProperTree.command and open it up with terminal)

2. Click on the File menu in the menu bar then OC Snapshot (Cmd +R).

Screen Shot 1.jpg


3. You locate your OC folder on your desktop and select it. Click Choose.
Choose OC Folder.png


That is the first snapshot. After that, click on OC Clean Snapshot.

After the snapshot is properly taken, then check the config.plist to make sure all the kext and ACPI entries are there.

Screen Shot 2021-02-04 at 1.28.35 PM.png


Under Kernel -> Add you should see 8 kext entries or more if you have added other kexts that you require.

Kernel:Add.png


Once all your config.plist edits are done copy the finished OpenCore Custom EFI folder to the EFI partition of the USB installer you just created with Big Sur. You'll have to mount the hidden EFI partition of the USB first. I use EFI Agent app by the creator of Hackintool. https://github.com/headkaze/EFI-Agent/releases

I know that sometimes the OC Gen-X app does not work properly or isn't up to date. Because of this I've attached an example OC 0.7.1 EFI folder below. It includes OpenCanopy.efi and NvmExpressDxe.efi which is required for booting from NVME SSD drives on these OptiMac systems. It also includes the HS13 internal USB header entry (see the MT schematic image attached below) in the USBPorts.kext. MT owners may need that for a BT data connection. You can compare your EFI with this to check for any errors you may have made. It's set for verbose booting. You can remove that flag (-v) after you have everything working. To find your boot-args string for editing in the config.plist, NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82

For those that want to eventually upgrade to Monterey, I've posted a guide in Monterey Desktop Guides that you can follow. The Macmini 7,1 EFI folder is attached there. Mini-Guide for Optiplex 7020/9020 and Monterey.

The Macmini SMBIOS is best if you only have HD4600 iGPU and iMac17,1 if you are using an AMD dGPU in your SFF or MT OptiMac running Monterey. The older Kepler based Quadro cards will work OOB with the Macmini7,1 SMBIOS and 0.8.0 EFI folder. I tested with an Nvidia K600 card with Big Sur and it worked (via DP) without needing any changes to the BIOS settings. Here's a few of the Quadro cards you can use with Macmini7,1 SMBIOS and macOS Big Sur:
  • Quadro 410
  • Quadro K420
  • Quadro K600
  • Quadro K2000/D
  • Quadro K4200
Note that Nvidia Quadro cards don't have native support in Monterey. Use a supported AMD card instead. If you do use Macmini7,1 and an AMD card then you must disable Legacy Option ROMs in BIOS for it to work properly.

If you are going to use ProperTree in Monterey then Read This First

Note that you must add your SystemUUID to the config.plist before trying to boot from a USB installer. Use GenSMBIOS if you need to create one. The iMac15,1 SMBIOS is the very best match for your OptiMac but sadly, Apple dropped support for it in Monterey. If you are staying with Mojave, Catalina or Big Sur, then keep using iMac15,1 as it's the best fit.

When using the OC 0.8.0 Macmini7,1 EFI below, you must also fill in the SystemUUID field in the config.plist or you will get a black screen instead of the OC boot menu. Generate that and serials before booting the USB installer. If this is your first install of macOS you can use OCAT to generate the SmUUID in Windows. https://github.com/ic005k/OCAuxiliaryTools

Universal Control
If you want this feature, you'll need to use the OC 0.8.0 Macmini EFI attached below. You'll need a supported Broadcom Wifi and BT card (Apple branded is best) and be on 12.3.1+ Monterey.

Screen Shot 2022-05-04 at 4.11.14 PM.png

Click the Universal Control tab in System Preferences / Displays and then check the boxes to enable it. This feature is still in Beta so it may not work perfectly. Give it a try and see what happens.

Screen Shot 2022-05-04 at 4.10.48 PM.png


To enable DP/HDMI audio in Monterey, you'll need to make two changes to the default config.plist.
Click Here to see these changes

You're not completely ready to install yet. Proceed to step #5 below and unlock CFG along with some other UEFI/BIOS mods. If you don't unlock CFG you won't even reach the installer.

OpenCore Basics

ACPI

  • SSDT-EC.aml - Fix for EC (Embedded Controller) on Catalina and above
  • SSDT-PLUG.aml - Allows for native CPU power management​
  • SSDT-SBUS-MCHC.aml - Allows AppleSMBusPCI/Family/Controller​
  • SSDT-USBX.aml - USB power config​
Drivers
  • AudioDxe.efi - Boot chime
  • HFSPlus.efi - Reading HFS partitions
  • OpenCanopy.efi - GUI, boot picker
  • OpenRuntime.efi - NVRAM, memory management, etc.
Kexts
  • AppleALC.kext - Onboard Audio
  • IntelMausiEthernet.kext - NIC (Intel based)
  • Lilu - Various fixes and system enhancements
  • USBPorts.kext - USB Mapping (you can edit these details in USB section)
  • VirtuaSMC.kext - Apple SMC emulator
  • WhateverGreen.kext - Various fixes for graphics and system devices
  • SMCDellSensors.kext - Optional - Lets you see fan speeds in Fan Control apps.
 

Attachments

  • ProperTree-master.zip
    471.4 KB · Views: 772
  • modGRUBShell.efi.zip
    3 MB · Views: 957
  • ACPI files.zip
    2.5 KB · Views: 824
  • Dell MT.USBPorts.kext.zip
    1.7 KB · Views: 677
  • Mintower Schematic.jpg
    Mintower Schematic.jpg
    183.6 KB · Views: 2,319
  • SFF Port map pics.zip
    219 KB · Views: 582
  • 2 extra kexts.zip
    21.9 KB · Views: 773
  • Example config.plist.zip
    3.8 KB · Views: 736
  • macserial.zip
    286.5 KB · Views: 398
  • OC 0.8.0 Macmini 7,1 EFI.zip
    3 MB · Views: 354
  • OC 0.7.1 iMac15,1 EFI.zip
    9.6 MB · Views: 440
  • OC 0.8.0 Macmini 7,1 w:GUI EFI.zip
    9.8 MB · Views: 390
  • OC 0.8.0 iMac17,1 EFI.zip
    9.7 MB · Views: 473
Last edited:
6. Unlock CFG and Increase DVMT pre-allocation to 64MB

You will need to remove the CFG lock in the BIOS/UEFI before you attempt the install. Find the instructions here. Unlock CFG in the BIOS

It's also important to perform the other mods to enable EHCI handoff and to set the XHCI mode to enabled for optimal USB port function. Make sure to do those at the same time that you unlock CFG via ModGRUBShell.efi
You'll find all of the setup_var offsets to change in the text file available to download and print out.

Increasing DVMT to 64MB is important as it will help the integrated HD4600 graphics perform better. If you have a 4K monitor or even if you don't and plan to get one later on, increase the DVMT to 64MB. The standard 32MB setting Dell has mandated is not enough for a single 4K or dual displays.

7. Install macOS 11 Big Sur

This process
is primarily the same as installing Catalina or previous versions though it will take longer. I don't suggest an unattended install. You can certainly take 10-15 minute breaks while it's happening. The monitor may go black at times due to the length of the install. Simply move your mouse around to get the display to come back.

Important note. Big Sur and newer macOS versions seal the filesystem during install. This can take a long time. If you see any CS_RUNTIME messages on screen and think the install stalled/crashed, it is most likely sealing the file system. Don't reboot, give it some time.

Kernel Panics
It's possible that you'll have a few kernel panics before you reach the installer. If so, you'll want to edit your config.plist until you find the Quirk or other setting that is preventing you from booting. Each time you edit your config.plist, save it and then Reset NVRAM first before trying to boot from the USB again.

1611915016289.png

If you see the following verbose info, [EB LOG:EXITBS:START] then CFG has not been unlocked properly and you'll have to go back to the BIOS modding section and follow directions.

20210710_065459.jpg

You will notice a longer pause of about 20-30 seconds at validate_root_image: line of the verbose output. This is normal and not a kernel panic. It should proceed if you just wait a little bit.

Once you've reached the installer, completed the macOS install and started to create your new admin account, make sure you don't sign in with your Apple ID. Do this after you've tested everything works once at the desktop.

20210103_141135_2_copy.png

After you've got Big Sur installed and booting with no problems you will want to remove both debug and -v from your boot-args to get faster boot times. To find your boot-args string for editing, Platform info -> Generic.

You can now copy and paste the EFI folder to your System drive's EFI partition. Then reboot. The USB is no longer needed to boot into Big Sur.

If you'd like to have an OpenCore GUI at the boot screen: Click here to see how to do that

Multibooting with Windows or Linux

With OpenCore 0.6.6 and newer, we are now able to launch OpenCore directly from our firmware without needing a launcher (Bootstrap.efi or BOOTx64.efi) as an intermediary. This allows us to add OpenCore to our motherboard's boot menu and prevent issues where either Windows or Linux try to overwrite the EFI/BOOT/BOOTx64.efi path. This can happen when installing or updating Windows and therefore breaks OpenCore's ability to boot.

Here's the LauncherOption setting you'll need to prevent this from happening.

Screen Shot 1.jpg


It's always best to physically disconnect the macOS boot drive before installing or updating Windows. This Full LauncherOption String adds another layer of security for your macOS EFI.

If you are not multibooting and only use macOS then leave the LauncherOption set to disabled.
 

Attachments

  • Example config.plist.zip
    3.8 KB · Views: 555
Last edited:
How to enable 4k for the HD4600 iGPU in OpenCore

Summary: The following information is a supplement the OpenCore (OC) Install Guide and provides the specific framebuffer settings for the Optiplex's Haswell processor and HD4600 iGPU. This is not required if you're not using 4k, but can be used on non-4k systems. Correctly identifying these values in the OC config.plist under DeviceProperties allows macOS to properly use the iGPU and enables things like native 4k support and dual monitor support via the two rear DisplayPorts. I use ProperTree to add/change values in my config.plist.

I've tested this extensively on my i5 4590, Dell Optiplex 7020 SFF, using OpenCore (0.60), on Catalina 10.15.6. Please also note that I'm using SMBIOS15,1 for Big Sur Compatibility and that this info should work for both Catalina and Big Sur.

Configuring DeviceProperties in OpenCore
If you are following the OpenCore Install guide to prepare your config.plist you should already have the following values under DeviceProperties:
  • AAPL, ig-platform-id set to 0300220D and device-id set to 12040000
  • These are the OpenCore defaults for this desktop processor and iGPU in the guide
Next, you'll want to make sure you can enable additional patches by adding the following if you haven't already done so:
  • framebuffer-patch-enable set to 01000000 (i.e., enabled)
Next, we'll supply the specific framebuffer values by adding the following properties to the config.plist under DeviceProperties:

Key Type Value
framebuffer-unifiedmem Data 00000080
framebuffer-stolenmem Data 00000004
framebuffer-fbmem Data 00000003


or, paste the following directly:

Code:
<dict>
    <key>framebuffer-unifiedmem</key>
    <data> AAAAgA==
    </data>
    <key>framebuffer-stolenmem</key>
    <data>
    AAAABA==
    </data>
    <key>framebuffer-fbmem</key>
    <data>
    AAAAAw==
    </data>
</dict>

What these values do:
  • The first value framebuffer-unifiedmem with data 00000080 increases the video memory to 2gb which I have found helpful on a dual-monitor setup. This is optional.
The next two values are the framebuffer settings specific to the Optiplex 7020/9020 since the OC install guide does not provide them (and they were surprisingly hard to identify):
  • framebuffer-stolenmem sets the framebuffer stolen memory. It's best to match the value of this data to your BIOS DVMT:
    • If you've set your BIOS DVMT to 64mb use the value 00000004.
    • If for some reason you have your DVMT set at 96mb, use the value 00000006 instead.
  • framebuffer-fbmem with data 00000003 sets the Framebuffer memory size to 48MB.
Other important points to note:
  • Full 4k is only possible using a DisplayPort to DisplayPort cable
  • For 4k to work properly you may need to use the DisplayPort port closest to the VGA connector.
    • On this port, your 4k monitor will be recognized as an internal Retina display, this is expected behaviour.
  • Dual monitor setups require both monitors connected by DP to DP cables
  • I'm using dual monitors (i.e., 27" 4k and a vertical 24" 1080p) both are connected via DisplayPort and working fine with the above setup.
Credits:
@nicksoph, @0xd1ab10, @trs96
I've cross-posting this summary from a collection of posts/findings from a number of users in the Optiplex 4k thread to make it easier for folks on OpenCore to get 4k working without having to go digging.

Edits:
Edited to simplify information for beginner users and remove tangential information.
 
Last edited:
Unlocking the CFG

Dell hides the CFG Lock setting in the BIOS which means we have to unlock it manually. Unlocking the CFG is needed for MacOS to boot and run properly. Before we begin it's absolutely critical to be on the proper BIOS firmware.

BIOS
  • 7020 requires the A18 BIOS
  • 9020 requires the A25 BIOS
  • See the Golden Build thread for details on how to do this via Windows or by using a Dell DDDP USB.
  • I ended up installing windows first on the old HDD and running the Dell Bios updater tool (link points to 7020, A18 tool).
Modding the BIOS to unlock the CFG

One way to do so is to boot into a modified grub shell, which is basically a command line that allows us to manually change hidden values. This is done by replacing specific values called offsets at specific locations in the BIOS firmware (which is why we need the specific BIOS version). Luckily someone has already done the work to find the locations of these offsets for us.

Note: If you absolutely need to be on a different BIOS version than listed above, you'll need to manually find these locations by extracting your BIOS. Full details here.

Adding ModGrubShell as a bootable option to your OpenCore picker

OpenCore (OC) includes an option to select what you want to boot (which is useful for dual booting, etc.). The easiest thing to do is add modgrubshell.efi to your OC picker list.
  • Download the latest modgrubshell.efi and put it in your EFI/OC/Tools folder
  • Next open up your config.plist using ProperTree, and add the following to Misc/Tools
Code:
<array>
    <dict>
        <key>Arguments</key>
        <string></string>
        <key>Auxiliary</key>
        <false/>
        <key>Comment</key>
        <string>modGRUBShell.efi</string>
        <key>Enabled</key>
        <true/>
        <key>Name</key>
        <string>modGRUBShell.efi</string>
        <key>Path</key>
        <string>modGRUBShell.efi</string>
    </dict>
</array>

Disable the CFG Lock
  • Boot from your installer USB, in the OpenCore picker select modGRUBShell.efi and press enter.
  • Enter exactly the following setup_var 0xDA2 0x0 to disable the CFG Lock.
  • The default values is 0x1, if for some reason you want to reset this you would enter setup_var 0xDA2 0x1
Optional, change the DVMT pre-allocation while you're here
The default DVMT pre-allocation is 32 mb on these systems, MacOS prefers 64 mb to prevent graphical issues. There are other ways to patch the DVMT pre-alloc, but you can change this value while you're here:
  • Enter exactly the following setup_var 0x263 0x2 to change the DVMT pre-allocation from 32mb to 64mb
  • The default value is 0x1 for 32mb, if for some reason you want to reset this enter setup_var 0x263 0x1
That's it!
You can now proceed to the macOS installer
 
Changing the Dell OptiPlex Hidden BIOS/UEFI Settings
CFG-Lock is a setting in your BIOS that allows for a specific register (in this case the MSR 0xE2) to be written to. By default, most motherboards lock this variable, with many (including Dell) even hiding the option outright in the GUI. Why we care about it is that macOS normally writes to this variable, but will only be able to, when CFG Lock is set to disabled.
For only the USFF, SFF and MT form factors. These do not apply to the 2 Dell Optiplex 3020 form factors or to the micro sized 9020M models. They also do not work for the 9020 AIO by Dell. To discover the offset values for the 3020, 9020M or 9020 AIO, you'll have to extract the BIOS and search for them on your own. This guide doesn't go into specifics of those other models, only the following:

Screen Shot 8.jpg
____
Screen Shot 4.jpg


Do not attempt to use these with any other Dell Optiplex models or with other BIOS versions.

If you do have the 3020 SFF or MT follow this guide: 3020 SFF Guide

I've created a chart which includes the offsets that are specific to the Dell Optiplex 7020 A18 BIOS and 9020 A25 BIOS.

Step #1: Print out the file (attached below) before making the changes via a modified Grub shell you've booted to from a USB. I've used larger fonts so you can see the numbers easily and not enter any wrong values. Again, take your time, enter the correct numbers to make the changes.

The first two (CFG Unlock + DVMT) are mandatory if you want to install Big Sur and potentially use a 4K monitor via DP output and HD4600. The last 5 help improve USB 2.0 and 3.0 port functioning and are highly recommended.

Step #2: Boot into a modified grub shell by using your Big Sur Installation USB you created previously.

modGrubShell.png


See post #7 below to view screenshots of what the modified grub shell will look like when making these changes.
1609071971822.png

It's mandatory that you enter them accurately. We'll use CFG unlock and change DVMT to 64MB in these examples.
Code:
setup_var 0xDA2 0x0
To unlock CFG. Here you'll see a space after setup_var and another after DA2. Make sure to leave those spaces in when you enter the offset. Also note that there are only Zeros and no letter Os in all of the offset values.
Code:
setup_var 0x263 0x2
To change the DVMT pre-allocation. I'd highly suggest you also make the other five changes to your UEFI settings using the setup_var command as shown in the attached chart below. They'll help improve USB port functions.

Screen Shot 6.jpg


CREDITS: datasone for modGrubShell.efi - JimLee1996 for DVMT/CFG Lock BIOS research - zearp for the offset values related to EHCI and XHCI BIOS/UEFI settings - nicksoph for all his research into 4K and HD4600 on the Dell Optiplex 7020/9020. Everyone that has posted in the OptiMac thread and shared their experiences.
 

Attachments

  • modGRUBShell EFI.zip
    11.7 MB · Views: 617
  • 7020 9020 UEFI Settings.pdf.zip
    55.5 KB · Views: 410
Last edited:
Screenshots of BIOS/UEFI modding from a Modified GRUB Shell
IMPORTANT: When you follow the CFG unlock procedure or change other offset values you can permanently damage your motherboard (make the computer unbootable) by entering the wrong values.​
You assume all responsibility for the results of making these changes via modGRUBShell.efi.​
For Dell Optiplex 7020/9020 USFF/SFF/MT only (Not other models or the 9020 Micro)

Here's some screenshots to show you what to expect when booting from the USB.

First you'll see the prompt: grub>

Then enter: setup_var (type your offset here)

In this example we'll disable the CFG Lock.
Now press the return key and you should see this:

IMG_20200821_134834777 2.jpg


When you disable CFG lock and make any other changes, it will usually say "GUID does not match expected GUID."
This is completely normal and nothing to worry about. The important line is just above the grub> _ prompt:
setting offset 0xda2 to 0x00 This means you have had success in changing the CFG lock setting to disabled.
  • MSR 0xE2 (CFG) will definitely be relocked whenever the motherboard firmware (BIOS) is updated or re-flashed.
    • In this case, unlock CFG by booting from the USB disk and repeating the steps shown above.
  • MSR 0xE2 will likely be relocked whenever CMOS Reset is performed.
    • After each CMOS Reset, boot from the USB disk and to check if the value of 0xDA2 is still 0x0
Change the DVMT pre-allocation to 64MB:

IMG_20200821_135110026.jpg


Setting DVMT to 64MB successful. This enables 4K video output when using the onboard DP outputs.

After some more testing I've decided to recommend all of the USB related UEFI changes as well. Enable EHCI Handoff, set XHCI to enabled and route all the EHCx ports to XHCI as well as disabling EHCx altogether.

Follow the exact same procedure as shown above. Disabling the EHCx ports will only cause problems when booting legacy. If you want to dual boot with Windows 10 you should be installing that OS UEFI anyway. Makes this a non-issue.

Once you've made all the changes you'd like to, type in reboot and hit the enter key.

Now you should be able to start installing macOS Big Sur.

Important note: If you want to go back to all the default settings, simply reflash your BIOS/UEFI.

If you want to change back to just a few of the default settings you can do that manually as well.
Here are the original Offset values that you can go back to by booting into modgrubshell.efi and making changes.

Re-Enable CFG Lock -- 0x01
Set DVMT to 32MB -- 0x01

Disable EHCI handoff -- 0x00
XHCI disabled mode -- 0x03

(do not) Route EHCx ports to XHCI -- 0x01
Enable EHCx ports -- 0x01
 
Last edited:
Nice guide.
After following all steps above and proceeding the first part of the install (15 minutes, reboot and more 40 minutes) when It loads Big Sur for finish all, Im gotting this screen.
Any tips?
 

Attachments

  • photo5100480342577490033.jpg
    photo5100480342577490033.jpg
    303.5 KB · Views: 690
Nice guide.
After following all steps above and proceeding the first part of the install (15 minutes, reboot and more 40 minutes) when It loads Big Sur for finish all, Im gotting this screen.
Any tips?
Did you reset NVRAM before the install attempt ?
 
Nice guide.
After following all steps above and proceeding the first part of the install (15 minutes, reboot and more 40 minutes) when It loads Big Sur for finish all, Im gotting this screen.
Any tips?

It takes more than 10min at Forcing CSRuntime, after that everything goes smoothly.
 
Back
Top