This repo is currently compatible with macOS High Sierra, Catalina and Big Sur started with OpenCore 0.8.8 ...
The repo contains information for getting macOS working on an Intel NUC7i3BNH and equally on an Intel NUC7i3BNK ( without place for a SSD ).
This EFI is built and tested on High Sierra 10.13.6, Catalina 10.15.7 and Big Sur 11.7: For the moment Big Sur (20G817) is enough since the machine must be as stable and reliable as possible as a daily driver. However Ventura / Monterey compatibility should be fine (but untested).
This repository is for personal purposes
Note: Following consists mostly of the original repo of Riccardo Zei.
- Read the entire README before you start.
- I am not responsible for any damages you may cause.
- Should you find an error or improve anything — whether in the config or in the documentation — please consider opening an issue or pull request.
- If you find this bootloader configuration useful, consider giving the original repo a star to make it more visible.
- If you find my work useful, please consider donating via PayPal. ( receiver: Riccardo Zei )
What is an Intel NUC? It is a tiny barebone PC size of a few CD cases piled on top of each other.
Mine is NUC7i3BNH which is the Core i3 model with a 2.5'' slot for an additional SATA drive coupled with a BenQ PD2500Q which is a 2k 25" calibrated monitor.
NUC Components | Details |
---|---|
Computer model | Intel NUC7i3BNH |
Processor | Intel Core i3-7100U Processor @ 2.4 GHz dual core with 15 W TDP |
Memory | 16 GB DDR4-2133 SO-DIMM @ 1.2 V |
M.2 SSD Card | Lexar Professional NM700 PCIe NVMe 256 GB [LNM700-25RB] |
SATA SSD 2.5" Drive | Crucial M500 240 GB [CT240M500SSD1] |
Integrated Graphics | Intel(R) HD Graphics 620 GPU |
Sound Card | Realtek ALC283 |
LAN Adapter | Intel Gigabit Ethernet I219 V4 |
Wireless Card | Intel Wireless-AC 8265 (802.11ac, dual-band, max. 867 Mbps) |
Bluetooth Card | Intel Bluetooth 8265 (v. 4.2) |
Other Components | |
Monitor | BenQ PD2500Q 2k Display @ 2560 x 1440 (25" @ 16:9) |
Keyboard | HP Keyboard K1500 |
Mouse | Apple Magic Mouse 2 |
Other hardware specifications:
- Four USB 3.0 ports (2 on the front, 2 on the rear)
- One USB type-C Port (which offers USB 3.1 gen2) with DisplayPort 1.2 functionality
- One normal full-size HDMI 2.0a port
- Micro SD card reader (support SDXC cards and UHS-I)
- Dual-array microphones on the front panel
- Infrared sensor and 3.5 mm audio jack
Note: NUC7i3BNH (i.e. the i3 model for NUC7) does not support ThunderBolt over the Type-C connector, unlike the more expensive models in the lineup.
Device Firmware BIOS version: BNKBL357
Benchmarks
GPU - OpenCL Performance 4514 | GPU - Metal Performance 4253 |
Single-Core Score 595 ~~~~~~~~~~~~~~~~~~~~~~ Multi-Core Score 1384 |
Update to the latest BIOS version (website in italian), then load BIOS Defaults and finally in the Advanced submenu change the following settings:
Devices -> USB -> Port Device Charging Mode: Off
Devices -> USB -> USB Legacy -> Disabled
Power -> Wake on LAN from S4/S5: Stay Off
Boot -> Boot Configuration -> Network Boot: Disable
Boot -> Secure Boot -> Disable
For your convenience BIOS file BN0089.bio is included in the newly added efi folder. Update with the F7 method at startup. Maybe after updating the bluetooth adapter is gone ... In this case go at startup with F2 into the BIOS, disable under Devices Bluetooth, save the changes with F10 and power-off. Disconnect the power cord for at least 10-30 seconds, plugin again, go into BIOS, enable Bluetooth, save the changes with F10 and power-off. Once more disconnect the power cord for at least 10-30 seconds, plugin again and start normally. Indeed a funny procedure - but recommended by Intel self - and all systems should go now.
For privacy reasons, all SMBIOS information has been wiped out in the configuration file EFI/OC/config.plist
.
- You need to generate your unique
SMBIOS
info by yourself (recommend to use CorpNewt's GenSMBIOS), and inject them into your 'config.plist'. For macOS High Sierra choose Macmini7,1 (the last model which can run High Sierra normally), Catalina is good with Macmini8,1 and Big Sur is content with MacBookPro15,2.
For dual-booting systems, Windows Activation may fail due to different hardware UUID generated by OpenCore
- According to OpenCore Official Configuration, you are highly recommended to inject the original Windows system UUID to
PlatformInfo -> Generic -> SystemUUID
inEFI/OC/config.plist
: runwmic csproduct get UUID
command in Windows PowerShell app
See Current status
Work in progress ...
The active and working USB ports are listed in the following table, while all unused or non-referenced USB ports are accordingly removed:
USB 2.0 Port Name | USB 3.0 Port Name | Hardware Location | Controller |
---|---|---|---|
HS01 | SS01 | Front RIGHT socket | Primary XHCI |
HS02 | SS02 | Front LEFT socket | Primary XHCI |
HS03 | SS03 | Rear BOTTOM socket | Primary XHCI |
HS04 | SS04 | Rear TOP socket | Primary XHCI |
HS08 | n/a | Internal Bluetooth port | Primary XHCI |
n/a | SS01 | Rear USB-C socket | Secondary XHCI |
- Primary
XHCI
:8086:9f2f
- Secondary
XHCI
:8086:15db
(recognized as a subsystem for Thunderbolt ControllerJHL6340
)
Secondary XHCI
interface enables the unique USB type-C Port (which offers USB 3.1 gen2) with DisplayPort 1.2 functionality present on NUC7i3BNH. Why is this aspect so important for my config?
- Background:
- a known issue (Reddit & Mac mini 2020 M1, Reddit & Mac mini 2018, MacRumors & Mac mini 2020) between my monitor BenQ PD2500Q and Mac is a vertical line on the right side of the display at all resolutions except 1920x1080 HD one;
- this issue is related to HDMI port used for connecting display to NUC7i3BNH;
- a such issue is also documented for Mac mini 2018 or 2020 machines using HDMI ports;
- Solution: using a USB type-C (from NUC7i3BNH) to HDMI cable adapter fixes the issue for all BenQ PD2500Q available resolutions even at highest QHD one.
Increase Launchpad icons number
By default, the Launchpad shows the icons in 5×7 format (i.e. rows x columns).
Since BenQ PD2500Q is a 2k 25'' monitor, type in Terminal the following commands:
defaults write com.apple.dock springboard-rows -int 7
defaults write com.apple.dock springboard-columns -int 10;killall Dock
Relaunch the Launchpad to see the icons are changed now.
Finally you can revert to the default setting with the following commands:
defaults delete com.apple.dock springboard-rows
defaults delete com.apple.dock springboard-columns
defaults write com.apple.dock ResetLaunchPad -bool TRUE;killall Dock
(Warning: the last command also will remove any custom folders you have created)
Make macOS zsh Terminal colorful
The default macOS Terminal looks very lame since it lacks in visibility: things should be colorful like Ubuntu. In the following steps, a proper solution for that is given without installing any custom theme:
- Choose any black theme first as the color combination of my snippet is dark theme friendly
- Open Terminal and type:
cd
touch zshrc
open zshrc
- Append the following code in the file:
export CLICOLOR=1
export LSCOLORS=GxBxCxDxCxegedabagaced
- Save the file and quit your default editor
- In Terminal type:
mv zshrc .zshrc
- Quit Terminal (
cmd + q
) - Now open a new Terminal window and the changes will be reflected
By setting CLICOLOR=1
you are enabling colors.
LSCOLORS
is the variable where you will define which file should display what color: it is used to color the directory and file list.
It provides you 11 positions, each with FB
(foregroundColor backgroundColor) combination. Thus it contains 22 characters. Below is the details of which position means what:
- directory
- symbolic link
- socket
- pipe
- executable
- block special
- character special
- executable with setuid bit set
- executable with setgid bit set
- directory writable to others, with sticky bit
- directory writable to others, without sticky
The colors for each position are placed as FB
format; below is the list which color means what:
a
: blackb
: redc
: greend
: browne
: bluef
: magentag
: cyanh
: light greyA
: bold black, usually shows up as dark greyB
: bold redC
: bold greenD
: bold brown, usually shows up as yellowE
: bold blueF
: bold magentaG
: bold cyanH
: bold light grey; looks like bright whitex
: default foreground or background
The colors mentioned above are ANSI colors, but according to the version of your macOS or terminal, they may differ a little.
Dual Booting: fix Windows time
Windows uses local time by default while macOS uses universal time. You can switch Windows to use universal time. Open up a command prompt in Windows as an administrator and copy and paste this in:
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_QWORD /f
That will make Windows use universal time instead of local time. Then update your clock via the built-in internet time setting to update the time.
Setting up BenQ PD2500Q speakers as default audio output device
- Open Audio MIDI Setup.app in your
/Applications/Utilities
folder - Select the Output tab in the middle
- Then, from the side list, select the output you want as use as default --> DisplayPort; then right-click the entry and select:
- "(speaker icon)": Use this device for sound output;
- "(macface icon)": Play alerts and sound effects through this device.
Item | Version | Remark |
---|---|---|
MacOS | 11.7 | |
OpenCore | 0.8.8 | Default Bootloader |
Lilu | 1.6.3 | Kext/process/framework/library patcher |
WhateverGreen | 1.6.3 | Handle Graphics card |
AppleALC | 1.7.8 | Handle/fix onboard audio |
CPUFriend | 1.2.6 | Power management |
HibernationFixup | 1.4.7 | Handle hibernate status |
IntelBluetoothFirmware | 2.2.0 | Handle Bluetooth |
AirportItlwm | 2.2.0 beta | Handle native Wi-Fi card |
IntelMausi | 1.0.7 | Handle native Ethernet LAN card |
NVMeFix | 1.1.0 | Fix for NVMe SSDs |
RestrictEvents | 1.0.8 | Block unwanted processes |
VirtualSMC + plugins | 1.3.0 | SMC chip emulation |
Sinetek-rtsx | 9.0 | Micro SD card reader driver |
USBInjectAll | 0.7.7 | Inject USB ports |
VoltageShift | 1.25 | Undervoltage tool |
Standing on the shoulders of giants! Based on the works of many great people.
- Acidanthera
- Dortania's OC guide
- Rehabman's ACPI hotpatching guide
- CorpNewt's tools
- OpenWireless project
- Daliansky's OC-little repo
- Khronokernel's DarwinDumped repo
And to everyone else who supports and uses my repo.