Fujitsu Esprimo Q958 Mini Hackintosh OpenCore
August 9, 2026 · View on GitHub
TABLE of CONTENTS
- About
- System Specs
- What works?
- BIOS Settings
- EFI Folder Content
- Deployment
- Post-Install
- Geekbench 5 Benchmarking Results
- Maintenance
- Credits
About
OpenCore EFI folder for running macOS Sonoma, Sequoia and 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 daily as my primary office/streaming purposes with a 4k display. It's a quite capable and powerful mini-pc with a true 300-series chipset. It can be maxed-out with an i9-9900T (8 Cores 16 Threads) and 64 Gigs of RAM.
System Specs
| 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 |
What works?
- 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.
Notable Features
- 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)
- Added file system support for Linux (How to add a distro icon to the bootpicker)
BIOS Settings
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
EFI Folder Content
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
Deployment
Prepare EFI
- 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.
Disable CFG Lock
- 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
:bulb: 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.
macOS Installation
- 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
Post-Install
This section contains post-install-measures to enable features, work around issues and some optional settings.
Disable Gatekeeper
Disable Gatekeeper since it blocks running 3rd party scripts and apps from github etc. To do so, open Terminal and enter:
sudo spctl --master-disable
Disabling Gatekeeper in macOS Sequoia and Tahoe requires additional steps.
Using AirportItlwm instead of Itlwmin macOS Sequoia/Tahoe (optional)
Currently, my EFI is configured to use itlwm.kext for WLAN since it doesn't rewquire root patching with OpenCore Legacy Patcher and works with any version of macOS up to Tahoe. The downsides are it requires an additional app called Heliport to connect to accesspoints and that you can't use WLAN during macOS setup.
If you want use Airportitlwm_Sequoia.kext in macOS Sequoia/Tahoe, you have to apply root patches with OCLP Mod. Make sure to connect the system via LAN so OCLP-Mod can download additionally required ressources.
Config Preparations
Prior to applying Root Patches, you have to adjust some config settings:
- Mount your EFI System Partion
- Open your config.plist
- Change the following Settings:
- Kernel/Block: Set
com.apple.iokit.IOSkywalkFamilytotrue - Kernel/Add: Set
Itlwm.kexttofalse - Kernel/Add Set
AirportItlwm.kextto `true
- Kernel/Block: Set
Applying Root Patches
- Download the latest release of OCLP-Mod
- Install and run OCLP-Mod
- Click the top right button:
- It should say "Intel" somewhere in the Chinese 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)
For more detailed instuctions, check my Guide.
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.
Enabling Audio in macOS Tahoe
There are 3 options to enable audio in macOS Tahoe see → Re-enabling Audio in macOS Tahoe beta 2+ for details.
Modify Power Management Settings
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-LAN
Test 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.
Strengthen Security (optional)
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.
Enable brightness control for external displays (optional)
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.
Add Eject button for optical drive to Menu Bar (optional)
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:
Geekbench 5 Benchmarking Results
CPU
macOS:
Test results: https://browser.geekbench.com/v5/cpu/23512366
Windows 10:
Test results: https://browser.geekbench.com/v5/cpu/24103178
iGPU
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 |
Maintenance
Adding kext URLs to OCAT
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.
Credits
- 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 - Chris1111 for VoodooHDA-Tahoe