TABLE of CONTENTS
- About
- System Specs
- What works?
- BIOS Settings
- EFI Folder Content
- Deployment
- Post-Install
- Geekbench 5 Benchmarking Results
- Maintenance
- Credits
OpenCore EFI folder for running macOS Sonoma, Sequoia and even Tahoe on the Fujitsu Esprimo Q958 Small Form Factor PC. As far as I am aware, this is the first OpenCore EFI for this system. I am using it for office/streaming purposes. It's a quite capable and powerful mini-pc. It has a true 300-series chipset, the system can be maxed-out with with an i9-9900T (8 Cores 16 Threads) and 64 Gigs of RAM.
| Component | Description |
|---|---|
| Model | Fujitsu Esprimo Q958 |
| Formfactor | Small Form Factor (Mini-PC) |
| Chipset | Intel Q370 |
| CPU | 9th Gen Intel® Core™ i7-9700T (Coffee Lake, delidded) |
| GPU | Intel UHD Graphics 630 |
| RAM | 32 GB DDR4 (2666 MHz) |
| Storage | WD Blue SN550 NVMe SSD |
| NIC | Intel® I219-LM (1 Gbit) |
| WiFi/BT | Intel® Wireless-AC 9260 160MHz
|
| Sound | Realtek ALC671 (Layout-ID: 16) |
| I/O | Serial Port (DE-9, disabled) |
| BIOS | R1.38.0 (08/29/22024) |
| SMBIOS | iMac19,1 |
| Support Files | Downloads for Esprimo Q958 |
- OS:
- macOS Sonoma+
- Windows 10+
- iGPU
- SATA drive
- NVME drive
- USB port mapping (USB 2, USB 3.1, USB C, Bluetooth)
- Ethernet
- Audio (Line-out, Headphone, Mic, Integrated Speaker)
- Intel Wi-Fi
- Bluetooth
- Sleep and Wake
Important
This EFI uses AirportItlwm.kext for WLAN. It supports Handoff, Universal Clipboard, Location Services and Instant Hotspot support but iServices won't work unless root patches are applied in Post-Install with OCLP-Mod.
- Hibernation fully working (Modes 3 and 25)
- All 3 Graphics ports are working (
con0= DVI,con1= DP1 (bottom),con2= DP2 (Top)) - USB Port Mapping via ACPI to maximize compatibility
- 3D Globe in Apple Maps.
- Optimized EFI folder size by using slimmed kexts (11 MB in total instead of the default 54 MB)
Click to show BIOS settings
Begin by loading "Optimized Defaults" (under Save & Exit → "Restore Defaults"). Next, adjust the following settings for booting macOS:
- Advanced [TAB]
- CPU Configuration
- Package C State Limit: Change it from
AurotoCPU Defaultfor a more silent operation. Otherwise the fan goes ham once the screensaver kicks in.
- Package C State Limit: Change it from
- Drive Configuration
- OnBoard SATA Configuration
- SATA Mode: AHCI
- OnBoard SATA Configuration
- Trusted Computing
- TPM Support: Disabled
- Super IO Configuration
- Serial Port 1 Configuration
- Serial Port: Disabled
- Serial Port 1 Configuration
- Network Stack Configuration
- Network Stack: Disabled
- Graphic Configuration
- Primary Display: Internal Graphics
- Internal Graphic: Enabled
- DVMT Shared Memory Size: 64 MB
- DVM Total Graphics Memory Size: 256 MB (or MAX)
- System Management
- Fan Control:
- [Auto]: Less aggressive fan activity
- Fan Control:
- CPU Configuration
- Security [TAB]
- Secure Boot Configuration:
- Secure Boot Control: Disabled
- Secure Boot Configuration:
- Boot [TAB]
- New UEFI OS Option Policy: Place Last
- Boot Option Priorities:
- Boot Option #1: OpenCore
- Windows Boot Manager
Click to show
EFI
├── BOOT
│ └── BOOTx64.efi
└── OC
├── ACPI
│ ├── DMAR.aml
│ ├── SSDT-EC.aml
│ ├── SSDT-MCHC.aml
│ ├── SSDT-OSDW.aml
│ ├── SSDT-PLUG.aml
│ ├── SSDT-PMC.aml
│ ├── SSDT-RTCAWAC
│ ├── SSDT-SBUS.aml
│ ├── SSDT-USBX.aml
│ └── SSDT-XHUB.aml
├── Drivers
│ ├── HfsPlus.efi
│ ├── OpenCanopy.efi
│ ├── OpenRuntime.efi
│ └── ResetNvramEntry.efi
├── Kexts
│ ├── AdvancedMap.kext (macOS 12+)
│ ├── AirportItlwm_Sequoia.kext
│ ├── AirportItlwm_Sonoma.kext
│ ├── AMFIPass.kext (macOS 12+)
│ ├── AppleALC.kext
│ ├── BlueToolFixup.kext (macOS 12+)
│ ├── CPUFriend.kext
│ ├── CPUFriendDataProvider.kext
│ ├── IntelBluetoothFirmware.kext
│ ├── IntelBTPatcher.kext
│ ├── IntelMausiEthernet.kext
│ ├── IO80211FamilyLegacy.kext (macOS 14+)
│ ├── IOSkywalkFamily.kext (macOS 14+)
│ ├── itlwm.kext
│ ├── Lilu.kext
│ ├── NVMeFix.kext
│ ├── RestrictEvents.kext (macOS 11+)
│ ├── SMCProcessor.kext
│ ├── SMCSuperIO.kext
│ ├── VirtualSMC.kext
│ └── WhateverGreen.kext
├── OpenCore.efi
├── Resources (NOTE: shows sub-folders only, no files)
│ ├── Font
│ └── Image
│ └── Acidanthera
│ │ └── GoldenGate
│ └── Label
└── config.plist
- Download the latest OC EFI folder from the Releases section
- Extract it
- Open the
config.plistwith OCAT - Enable Kernel/Quirks →
AppleXcpmCfgLock - Go to
Misc/Toolsand set enable theCFGLocktool. - Next, go to
PlatformInfo/generic. Press "Generate" to create Serials, MLB etc. (or use GenSMBIOS - Save the
config.plist - Copy the EFI folder to a FAT32 formatted USB flash drive and reboot
- Press F12 to enter the BIOS Boot Menu
- Select the USB Flash Drive and press Enter to run OpenCore
Continue with the next section, "Disable CFG Lock"
Note
When using macOS Sequoia or older, disable/delete the unfairvgva=4 boot-arg if you want to use AppleTV+ or Apple Music.
- In the OC Bootmenu, press space bar to show hidden tools
- Select
CFGLock.efiand press Enter to run it - Follow the on-screen Instructions to disable CFGLock (set it to
0) - Quit the tool
- Boot into macOS
- Mount EFI partition and open your
config.plist - Disable the
CFGLockTool (Misc/Tools) - Save your config and reboot
💡 Once CFG Lock is disabled, you can disable the AppleXcpmCfgLock Quirk in your config.plist!
Important
Disabling CFG Lock this way is not a persistent. Once you reset the BIOS back to defaults, you have to run CFGLock.efi again to disable it – otherwise macOS won't boot without the AppleXcpmCfgLock Quirk.
- Put the EFI folder at the root of a FAT32-formatted USB flash drive. You can boot OpenCore from it
- To create a macOS USB installer, follow Dortania’s OpenCore Install Guide
This section contains post-install-measures to enable features, work around issues and some optional settings.
In order for Wi-Fi to work in macOS Sequoia/Tahoe, you have to apply root patches with either OCLP Mod. Make sure to connect the system via LAN so OCLP-Mod can download additionally required ressources.
- Download the latest release of OCLP-Mod
- Install and run OCLP-Mod
- Click the top right button:

- It should say "Intel" somewhere in the Chines text of the Patches that will be applied:

- Click the first button from the top to start root patching.
- Additional files required for patching will be downloadded automatically:

- Once that's done, patching will commence:

- Reboot the system
- Reset NVRAM
- Boot into macOS Sequoia/Tahoe
- WiFi should work now, so should Audio (applies to macOS Tahoe only)
Important
Once root patches are applied, the security seal of the system volume will be broken. And once it is broken, the complete macOS version will be downloaded every time an update for macOS is available. The workaround would be to revert root patches before installing updates and then use LAN to to download and install incremental updates. But there's a chance that applying incremental updates will fail. In this case, the full installer will be downloaded on the next attempt.
Open Terminal and enter the following commands, to adjust Power Management. If you don't want to use Hibernation, use hibernatemode 3 instead:
# Enable hibernatemode 25 (sleep to disk, power off RAM)
sudo pmset -a hibernatemode 25
# Enable standby (required for hibernation to actually work)
sudo pmset -a standby 1
# Set standby delays (time before entering hibernation)
sudo pmset -a standbydelayhigh 900 # 15 minutes when battery > 50%
sudo pmset -a standbydelaylow 900 # 15 minutes when battery < 50%
# Sleep timings (optional - adjust to preference)
sudo pmset -a displaysleep 10 # Display sleeps after 10 minutes
sudo pmset -a disksleep 10 # Hard disk sleeps after 10 minutes
sudo pmset -a sleep 1 # System sleeps after 1 minute of inactivity
# Disable wake-causing features
sudo pmset -a powernap 0 # Disable Power Nap
sudo pmset -a tcpkeepalive 0 # Prevent network from waking system
sudo pmset -a proximitywake 0 # Disable wake when iPhone/iPad nearby
sudo pmset -a ttyskeepawake 0 # Prevent remote login from preventing sleep
sudo pmset -a womp 0 # Disable wake-on-LANTest sleep and wake by entering pmset sleepnow. Wait 30 seconds and move the mouse or press a key on the keyboard. The system should wake and the screen(s) should wake when using HibernateMode 3 or 25.
Note
For more configuration options, follow my hibernation configuration guide properly.
I disable Gatekeeper on all my systems by default, since it blocks running scripts from github etc. To do so, enter sudo spctl --master-disable in Terminal. Disabling Gatekeeper in macOS Sequoia and Tahoe requires additional steps.
In config.plist, navigate to Misc/Security/SecureBootModel and change it to: Default. But you may have to disable it when updating macOS, otherwise the installer might crash. Ever since the release of macOS Sonoma 14.4, it does not longer work correctly during install.
There's a new app called MonitorControl which allows controlling the brightness and contrast of attached external displays right from the menu bar and/or keyboard.
macOS locks the optical drive sometimes so that you can't open it by pressing the physical eject button – even if no media is present. If you have an Apple Keyboard, you can simply press the Eject key to open the drive.
But if you don't, you can add an Eject button to the menu bar:
- Open Finder and navigate to:
System/Library/CoreServices/Menu Extras - Double-click on
Eject.menu. This adds the Eject button icon to the Menu Bar:
macOS:
Test results: https://browser.geekbench.com/v5/cpu/23512366
Windows 10:
Test results: https://browser.geekbench.com/v5/cpu/24103178
macOS:
| Metal | OpenCL | RPS Control |
|---|---|---|
| 4941 | 5341 | ON |
| 4776 | 4995 | OFF |
I also tested force-loading Apple's GUC firmware (4858 points in the Metal test), but that's no usable option for me since it causes Firefox Tabs to crash. It has no impact on Safari, though.
Tip
- If iGPU performance is sufficient for your needs and you want a nearly silent operation of the system, disable the
rps-controlproperty by changing it to00000000 - If you need higher iGPU performance, enable
rps-controlby changing the value to01000000. But this will increase temps which results in more fan activity.
Windows 10
| Vulkan | OpenCL |
|---|---|
| 6657 | 6380 |
OCAT does not contain all the links to kext repos used in my EFI folder. So in order to fetch updates for them, you need to add them to KextURL.txt.
Instructions
- Open Finder
- Press CMD+Shift+G
- Paste in this path and hit Enter:
~/.config/OCAuxiliaryTools/ - Open
KextUrl.txtwith TextEdit - Add the following entries:
AdvancedMap.kext | https://github.com/notjosh/AdvancedMap AMFIPass.kext | https://github.com/bluppus20/AMFIPass IntelMausiEthernet.kext | https://github.com/Mieze/IntelMausiEthernet - Save the file
The next time, you check for kext updates in OCAT (enable the Dev option), the color of the squares in front of the kexts above will no longer be grey (not found) but either red (outdated) or green (up to date). All the kexts coming from the OCLP repo can't be fetched automatically, so they will remain grey.
- Acidanthera for the OpenCore Bootloader
- Dortania for OpenCore Legacy Patcher
- lzhoang2801 for OpCore Simplify
- ic005k for OC Auxiliary Tools
- CorpNewt for SSDTTime, MMIODevirt, ProperTree and MountEFI
- benbaker76 for Hackintool (and all users who contributed framebuffer patches for it because it was a pita to get the Display Ports working)
- Unknown for USBToolBox
- Brumbaer for
CFGLock.efi
