Fujitsu Esprimo Q958 Mini Hackintosh OpenCore

August 9, 2026 · View on GitHub

OpenCore MacOS release


OC_Bootpicker


TABLE of CONTENTS


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

ComponentDescription
ModelFujitsu Esprimo Q958
FormfactorSmall Form Factor (Mini-PC)
ChipsetIntel Q370
CPU9th Gen Intel® Core™ i7-9700T (Coffee Lake, delidded)
GPUIntel UHD Graphics 630
RAM32 GB DDR4 (2666 MHz)
StorageWD Blue SN550 NVMe SSD
NICIntel® I219-LM (1 Gbit)
WiFi/BTIntel® Wireless-AC 9260 160MHz
  • WiFi Firmware: iwm-9260-46
  • BT Firmware:
    • ibt-18-16-1.sfi
    • ibt-18-16-1.ddc
SoundRealtek ALC671 (Layout-ID: 16)
I/OSerial Port (DE-9, disabled)
BIOSR1.38.0 (08/29/22024)
SMBIOSiMac19,1
Support FilesDownloads 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 Auro to CPU Default for a more silent operation. Otherwise the fan goes ham once the screensaver kicks in.
    • Drive Configuration
      • OnBoard SATA Configuration
        • SATA Mode: AHCI
    • Trusted Computing
      • TPM Support: Disabled
    • Super IO Configuration
      • Serial Port 1 Configuration
        • Serial Port: Disabled
    • 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
  • Security [TAB]
    • Secure Boot Configuration:
      • Secure Boot Control: Disabled
  • 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.plist with OCAT
  • Enable Kernel/Quirks → AppleXcpmCfgLock
  • Go to Misc/Tools and set enable the CFGLock tool.
  • 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.efi and 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 CFGLock Tool (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.IOSkywalkFamily to true
    • Kernel/Add: Set Itlwm.kext to false
    • Kernel/Add Set AirportItlwm.kext to `true

Applying Root Patches

  • Download the latest release of OCLP-Mod
  • Install and run OCLP-Mod
  • Click the top right button:
    patch01
  • It should say "Intel" somewhere in the Chinese text of the Patches that will be applied:
    oclpmod_intel01
  • Click the first button from the top to start root patching.
  • Additional files required for patching will be downloadded automatically:
    oclpmod_intel02
  • Once that's done, patching will commence:
    intel_spoof06
  • 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:
    Eject

Geekbench 5 Benchmarking Results

CPU

macOS:

gb5_sonoma

Test results: https://browser.geekbench.com/v5/cpu/23512366

Windows 10:

Win10_GB5

Test results: https://browser.geekbench.com/v5/cpu/24103178

iGPU

macOS:

MetalOpenCLRPS Control
49415341ON
47764995OFF

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-control property by changing it to 00000000
  • If you need higher iGPU performance, enable rps-control by changing the value to 01000000. But this will increase temps which results in more fan activity.

Windows 10

VulkanOpenCL
66576380

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

  1. Open Finder
  2. Press CMD+Shift+G
  3. Paste in this path and hit Enter:
    ~/.config/OCAuxiliaryTools/
    
  4. Open KextUrl.txt with TextEdit
  5. 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
    
  6. 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