OpenCore Hackintosh configuration example for the Dell OptiPlex 7060 Small Form Factor with an Intel® Core™ i7-8700.
This OptiPlex doesn't dream in Excel spreadsheets anymore.
This is the version of OpenCore used, including bundled files. The included config.plist
targets this version.
This is the version of macOS that this OpenCore configuration currently targets. Other versions of macOS that are compatible with it are listed below.
- macOS Sequoia
- macOS Sonoma
- iGPU (Intel UHD Graphics 630)
- dGPU (AMD Radeon RX 550)
- NVMe drive
- SATA drive
- USB 3.1 (XHCI)
- Ethernet
- Wi-Fi
- Bluetooth
- Sound
- Hyperthreading
- AirDrop
- iMessage
- FaceTime
- Unlock with Apple Watch
- QE/CI graphics acceleration
- Metal support
- Temperature sensors
- Sleep / Wake
- Virtualisation
- Memory bank configuration
- Boot chime
Important
This machine does NOT yet have a Wi-Fi / Bluetooth card. I plan on adding this in the future.
- Sleep / Wake Unfortunately, sleep is broken on this system at the moment. The system itself can go into and out of the sleep state, but the monitor never wakes up. My other OptiPlex hacc does this too. I'll investigate this!
External Audio and HDMI Output 🎉 FIXED!
Tip
This was fixed by using a combo of DeviceProperties entries from this excellent repo!
The specs of the main system that the OpenCore configuration targets.
Motherboard | Dell |
---|---|
CPU | Intel® Core™ i7-8700 |
Chipset | OptiPlex 7060 SFF |
Generation | Coffee Lake |
Memory | 16 GB DDR4 |
Storage | 256 GB NVMe SSD |
GPU | Intel UHD Graphics 630 AMD Radeon RX 550 |
NIC | Intel I219-LM |
Intel Core i7-8700 | Linux | macOS |
---|---|---|
Single Core | 1,667 | 1,484 |
Muti Core | 6,472 | 6,115 |
GPU | Linux Vulkan |
macOS Metal |
---|---|---|
AMD Radeon RX 550 |
15,274 | 17,512 |
Intel UHD 630 Graphics |
5,659 | 6,348 |
SSDTs used:
- SSDT-AWAC
- SSDT-EC-USBX-DESKTOP
- SSDT-HPET *
- SSDT-PLUG
- SSDT-PMC
Important
SSDT-HPET
was compiled by me specifically for this machine model. Along with several ACPI patches, this is used to fix onboard audio, including internal speakers. Without it, macOS will show as having no built-in audio devices.
The following tables display the added PCI devices and their child keys.
AMD Radeon RX 550
Key | Type | Value |
---|---|---|
device-id | Data | FF67 |
model | String | AMD Radeon RX 550 |
Expand this if you want to copy and paste the entries above as .plist
data!
You can paste this data straight into plist editors like ProperTree.
<key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)</key>
<dict>
<key>device-id</key>
<data>/2c=</data>
<key>model</key>
<string>AMD Radeon RX 550</string>
</dict>
Important
The Dell OEM variant of the RX 550 uses the Lexa core. This does NOT officially have support in macOS... or does it? Simply masking it as the Baffin core version works perfectly! Just make sure to add the mask, as seen here.
Internal Speakers
Key | Type | Value |
---|---|---|
AAPL,slot-name | String | Internal |
device_type | String | Audio device |
layout-id | Data | 0B000000 |
Expand this if you want to copy and paste the entries above as .plist
data!
You can paste this data straight into plist editors like ProperTree.
<key>PciRoot(0x0)/Pci(0x1F,0x3)</key>
<dict>
<key>AAPL,slot-name</key>
<string>Internal</string>
<key>device_type</key>
<string>Audio device</string>
<key>layout-id</key>
<data>CwAAAA==</data>
</dict>
Intel UHD Graphics 630
Key | Type | Value |
---|---|---|
AAPL,ig-platform-id | Data | 07009B3E |
device-id | Data | 9B3E0000 |
framebuffer-patch-enable | Data | 01000000 |
framebuffer-stolenmem | Data | 00003001 |
enable-metal | Data | 01000000 |
Expand this if you want to copy and paste the entries above as .plist
data!
You can paste this data straight into plist editors like ProperTree.
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>BwCbPg==</data>
<key>device-id</key>
<data>mz4AAA==</data>
<key>enable-metal</key>
<data>AQAAAA==</data>
<key>framebuffer-patch-enable</key>
<data>AQAAAA==</data>
<key>framebuffer-stolenmem</key>
<data>AAAwAQ==</data>
</dict>
Note
A new framebuffer, 07009B3E
, is being used as it is better fitted for desktops.
The following shows the kernel configuration.
Kexts used:
- Lilu
- WhateverGreen
- AppleALC
- IntelMausi
- RestrictEvents
- RTCMemoryFixup
- SMCProcessor
- SMCSuperIO
- SMCDellSensors
- VirtualSMC
- OptiPlex7060_SFF_USBMap *
USBMapDummy
Important
The OptiPlex7060_SFF_USBMap.kext
is the USB map created manually by me on my own system. It may or may not work for other 7060 SFF machines. If it doesn't work, please disable it.
Tip
In case you need it for your own mapping, USBMapDummy.kext
has been left included but disabled, so you can enable it if you need it.
None
SecureBootModel 》 x86legacy
Vault 》 Optional
Contents stored in NVRAM.
Key | Type | Value |
---|---|---|
DefaultBackgroundColor | Data | 00000000 |
Key | Type | Value |
---|---|---|
rtc-blacklist | Data |
Key | Type | Value |
---|---|---|
ForceDisplayRotationInEFI | Number | 0 |
SystemAudioVolume | Data | 46 |
boot-args | String | keepsyms=1 debug=0x100 alcid=11 -cdfon -igfxmpc -igfxcdc igfxrpsc=1 revpatch=sbvmm |
csr-active-config | Data | 00000000 |
prev-lang-diags:kbd | Data | 656E2D47 42 |
prev-lang:kbd | Data | 656E2D47 423A32 |
StartupMute | Data | 00 |
Expand this if you want to copy and paste the entries above as .plist
data!
You can paste this data straight into plist editors like ProperTree.
<key>4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14</key>
<dict>
<key>DefaultBackgroundColor</key>
<data>AAAAAA==</data>
</dict>
<key>4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102</key>
<dict>
<key>rtc-blacklist</key>
<data></data>
</dict>
<key>7C436110-AB2A-4BBB-A880-FE41995C9F82</key>
<dict>
<key>SystemAudioVolume</key>
<data>Rg==</data>
<key>boot-args</key>
<string>keepsyms=1 debug=0x100 alcid=11 -cdfon -igfxmpc -igfxcdc igfxrpsc=1 revpatch=sbvmm</string>
<key>prev-lang-diags:kbd</key>
<data>ZW4tR0I=</data>
<key>prev-lang:kbd</key>
<data>ZW4tR0I6Mg==</data>
<key>csr-active-config</key>
<data>AAAAAA==</data>
<key>run-efi-updater</key>
<string>No</string>
</dict>
This model of iMac has a direct hit on the CPU model used on this machine (i7-8700). As a result, it's the most appropriate SMBIOS. However, it may have to be changed soon if Apple drops support (or we pray to OCLP).
Drivers in use:
- HFSPlus
- OpenRuntime
- OpenCanopy
- AudioDxe *
Note
AudioDxe
is loaded so that OpenCore can make a boot chime on startup!
This is just a collection of my post-install tweaks I apply after installing macOS. They're not really related to OpenCore or the overall functionality of the configuration.
Okay, so I'm a bit of a macOS boomer. Having used macOS since long before Mojave's dark mode, I'm accustomed to the regular light appearance of the windows - but I always enabled the "Dark menu bar and dock" option as I loved the look. While I still like dark mode (and use it on iOS), the hybrid light/dark mode on macOS is still my favourite!
The following commands restore that functionality:
Window Server
defaults write -g NSRequiresAquaSystemAppearance -bool Yes
Notification Centre
defaults write com.apple.notificationcenterui NSRequiresAquaSystemAppearance -bool No
Control Centre
defaults write com.apple.controlcenterui NSRequiresAquaSystemAppearance -bool No
About This Mac + System Profiler
defaults write com.apple.SystemProfiler.AboutExtension NSRequiresAquaSystemAppearance -bool No
defaults write com.apple.SystemProfiler.AboutExtension NSRequiresAquaSystemAppearance -bool No
Show Hidden Files
Show Hidden Files
Does what it says on the tin. Shows all files, including hidden ones, in the Finder.
defaults write com.apple.Finder AppleShowAllFiles YES
killall Finder
Unhides the hidden sECrET GPU tab in macOS' Activity Monitor, helpful for seeing which apps are running on what GPU!
defaults write com.apple.ActivityMonitor ShowGPUTab -bool true
Makes AirDrop scan Ethernet too!
defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1
killall Finder
Some macOS eye candy.
curl -OL https://raw.githubusercontent.com/Coopydood/OpenCore-Z490E-CometLake/main/EXTRAS/HyperTerm.terminal
Import through Terminal's preferences.
This repo is simply a dump of my current and up-to-date OpenCore stuff that I use on my machine.
Feel free to use it as an example and modify it however you'd like, but please don't expect it to "just work" - because it probably won't.
If you've found a way to make the configuration better, or have solved issues outlined in the Problems section, please share your changes on GitHub for us all to use! Thank you!