OpenCore Hackintosh configuration example for the Dell OptiPlex 7050 Micro Form Factor with an Intel® Core™ i5-7500T.
The cute lil 7050 Micro running macOS!
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 Sonoma
- iGPU (Intel HD Graphics 630)
- NVMe drive
- SATA drive
- USB 3.1 (XHCI)
- Ethernet
- Wi-Fi
- Bluetooth
- Sound
- AirDrop
- iMessage
- FaceTime
- Unlock with Apple Watch
- QE/CI graphics acceleration
- Metal support
- Temperature sensors
- Sleep / Wake
- Hyperthreading
- Virtualisation
- Memory bank configuration
- Boot chime
- 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!VGA Output 🎉 FIXED!
Tip
This was fixed by using a combo of DeviceProperties entries from this excellent repo!
Tip
This was fixed using custom connector patches in DeviceProperties!
The specs of the main system that the OpenCore configuration targets.
Motherboard | Dell |
---|---|
CPU | Intel® Core™ i5-7500T |
Chipset | OptiPlex 7050 MFF |
Generation | Kaby Lake |
Memory | 16 GB 2400MHz DDR4 |
Storage | 256 GB NVMe SSD 256 GB SATA SSD |
GPU | Intel HD Graphics 630 |
NIC | Intel I219-LM |
Intel Core i5-7500T | macOS |
---|---|
Single Core | 1,153 |
Muti Core | 3,371 |
GPU | macOS Metal |
---|---|
Intel HD 630 Graphics |
5,984 |
SSDTs used:
- SSDT-EC-USBX-DESKTOP
- SSDT-HPET *
- SSDT-PLUG
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.
Internal Speakers
Key | Type | Value |
---|---|---|
AAPL,slot-name | String | Internal@0,31,3 |
device_type | String | Audio device |
model | String | 200 Series PCH HD Audio |
layout-id | Data | 11000000 |
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@0,31,3</string>
<key>device_type</key>
<string>Audio device</string>
<key>layout-id</key>
<data>EQAAAA==</data>
<key>model</key>
<string>200 Series PCH HD Audio</string>
</dict>
Intel HD Graphics 630
Key | Type | Value |
---|---|---|
AAPL,ig-platform-id | Data | 00001259 |
device-id | Data | 1B590006 |
disable-agdc | Data | 01000000 |
enable-hdmi-dividers-fix | Data | 01000000 |
enable-hdmi20 | Data | 01000000 |
framebuffer-con0-enable | Data | 01000000 |
framebuffer-con0-alldata | Data | 01050900 00080000 87010000 |
framebuffer-con1-enable | Data | 01000000 |
framebuffer-con1-alldata | Data | 02040A00 00040000 87010000 |
framebuffer-con2-enable | Data | 01000000 |
framebuffer-con2-alldata | Data | 03060A00 00040000 87010000 |
framebuffer-patch-enable | Data | 01000000 |
framebuffer-stolenmem | Data | 00003001 |
rps-control | Data | 01000000 |
model | String | Intel HD Graphics 630 |
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>AAASWQ==</data>
<key>device-id</key>
<data>G1kABg==</data>
<key>device_type</key>
<string>VGA compatible controller</string>
<key>disable-agdc</key>
<data>AQAAAA==</data>
<key>enable-hdmi-dividers-fix</key>
<data>AQAAAA==</data>
<key>enable-hdmi20</key>
<data>AQAAAA==</data>
<key>framebuffer-con0-alldata</key>
<data>AQUJAAAIAACHAQAA</data>
<key>framebuffer-con0-enable</key>
<data>AQAAAA==</data>
<key>framebuffer-con1-alldata</key>
<data>AgQKAAAEAACHAQAA</data>
<key>framebuffer-con1-enable</key>
<data>AQAAAA==</data>
<key>framebuffer-con2-alldata</key>
<data>AwYKAAAEAACHAQAA</data>
<key>framebuffer-con2-enable</key>
<data>AQAAAA==</data>
<key>framebuffer-patch-enable</key>
<data>AQAAAA==</data>
<key>framebuffer-stolenmem</key>
<data>AAAwAQ==</data>
<key>model</key>
<string>Intel HD Graphics 630</string>
<key>rps-control</key>
<data>AQAAAA==</data>
</dict>
Note
The framebuffer connector patching was done using this section of the WhateverGreen Intel guide as a reference.
Tip
The device-id
has been set to 1B590006
as this fixes up some string-related cosmetics around macOS - such as changing the Metal device name from Intel KBL Unknown
to Intel HD Graphics 630
.
The previous device-id
(12590000
) matches more closely but has the aforementioned cosmetic issues. Both IDs work absolutely fine.
The following shows the kernel configuration.
Kexts used:
- Lilu
- WhateverGreen
- AppleALC
- IntelMausi
- RestrictEvents
- RTCMemoryFixup
- SMCProcessor
- SMCSuperIO
- SMCDellSensors
- VirtualSMC
- HibernationFixup
- FeatureUnlock
- IntelBluetoothFirmware
- IntelBTPatcher
- BlueToolFixup
- OptiPlex7050_MFF_USBMap *
USBMapDummy
Important
The OptiPlex7050_MFF_USBMap.kext
is the USB map created manually by me on my own system. It may or may not work for other 7050 Micro 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 》 j174
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 -cdfon -igfxmpc -igfxcdc igfxrpsc=1 itlwm_cc=GB 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>ForceDisplayRotationInEFI</key>
<integer>0</integer>
<key>SystemAudioVolume</key>
<data>Rg==</data>
<key>boot-args</key>
<string>keepsyms=1 debug=0x100 -cdfon -igfxmpc -igfxcdc igfxrpsc=1 itlwm_cc=GB 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>
<key>fmm-computer-name</key>
<string>iPlex mini</string>
</dict>
As it's a cute lil boi, it makes sense to have it emulate a Mac mini, even though its closest SMBIOS would be the iMac18,2
- which isn't even supported anymore.
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
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!