This repository contains an OpenCore EFI for a custom Hackintosh build named "Sequoia". The EFI is configured to run macOS on a Gigabyte B760M DS3H AX DDR5 system with an AMD GPU. The goal is a smooth dual-boot setup with Windows 11 (on NVMe1) and macOS (on NVMe2).
| Component | Model |
|---|---|
| Motherboard | Gigabyte B760M DS3H AX DDR5 |
| CPU | Intel i5 12400 (Non F) |
| GPU | Sapphire Nitro+ RX 6800 XT 16GB |
| RAM | ADATA 2 × 16 GB 6000 MHz |
| NVMe 1 (Windows) | Team Group MP44L 1 TB (Gen4) |
| NVMe 2 (macOS) | ADATA 850 Lite 512 GB (macOS install) |
| SATA SSD | Team Group Vulcan 512 GB |
| HDD 2.5" | Seagate 1 TB |
| HDD 3.5" | WD Purple 4 TB |
| Wireless Card | Intel® Wi-Fi 6E AX210 + BT5.2 |
| Keyboard | Langtu GK64 |
| Mouse | Logitech M330 |
| Monitor 1 | Xiaomi A27Qi 27" (2560×1440) |
| Monitor 2 | BenQ G615HDPL 15.5" (1366×768) |
| Webcam + Mic | Generic China-made (unknown brand) |
| Case | Gamemax Spark |
EFI/OC/config.plist— your OpenCore configuration.EFI/OC/ACPI/— SSDTs used for various fixes (EC, USB, USBX, etc.).EFI/OC/Kexts/— kernel extensions used (VirtualSMC, Lilu, Whatever is present in this repo).EFI/OC/Drivers/— OpenCore drivers required at boot.
Check EFI/OC/ first when troubleshooting boot or hardware issues.
These items are working reliably in this configuration:
- Wi‑Fi 2.4 GHz (HeliPort + itlwm family support)
- Wi‑Fi 5 GHz (where supported by the card/driver)
- Bluetooth (basic devices pairing and audio)
- Dual-boot: Windows 11 on NVMe1 and macOS on NVMe2 via OpenCore menu
- Dual-monitor setup (external monitors recognized, extended/duplicate displays)
- GPU acceleration for RX 6800 XT (no kext changes required after upgrading from RX 6700 XT)
- Audio (AppleALC or alternative pin config in-place)
- All audio ports are working, bluetooth and usb audio as well
- USB ports (including XHCI fixes and USB mapping via SSDTs /
USBPorts.kext) - All USB ports are working
- Sleep / Wake (basic sleep, wake tested)
- Screensaver animations and UI graphics
- Keyboard and mouse (Langtu GK64 and Logitech M330)
- NVMe and SATA storage detection
Notes: Wi‑Fi uses HeliPort for GUI control. RGB control for system lighting uses OpenRGB.
- AirDrop — not functional on this hardware/configuration.
- RAM per‑LED RGB control — modules show colors but per-effect/brightness/speed control for the RAM is not available (we can read RGB as 'on' but not programmatically change types/animations reliably).
These are hardware/protocol limitations or require vendor-specific firmware/APIs that are not available in macOS on this platform.
- GPU upgrade note: This setup previously used a Red Devil RX 6700 XT. Upgrading to a Sapphire Nitro+ RX 6800 XT worked without changing kexts or major config. If you change GPUs again, check
config.plistdevice properties and framebuffer patches. - Wi‑Fi: HeliPort is used as the user-facing app for network selection when using Intel-based Wi‑Fi patched drivers (itlwm). Keep
HeliPort.appupdated. If networks disappear after sleep, toggle the interface or re-run HeliPort. - RGB: OpenRGB provides system-wide RGB control. Some devices (especially RAM) rely on vendor-specific controllers that OpenRGB cannot fully manage.
- Dual boot: When installing or updating Windows, be careful not to overwrite your OpenCore EFI on the system disk. Prefer installing Windows to NVMe1 and macOS to NVMe2 as currently set up.
- Backups: Keep a copy of
EFI/OC/(and especiallyconfig.plist) off the EFI partition. Before any macOS update, snapshot the EFI folder in case you need to roll back.
-
Boot fails / black screen:
- Reboot into OpenCore's picker and try
Safe ModeorVerbosemode. - Check
Driversand make sure OpenRuntime/OpenCanopy are present. - Verify
config.plistSerial/SMBIOS are correct.
- Reboot into OpenCore's picker and try
-
USB devices not recognized:
- Ensure correct USB mapping (SSDTS +
USBPorts.kext), and disable unwanted ports via SSDT if necessary.
- Ensure correct USB mapping (SSDTS +
-
No audio:
- Verify
AppleALC.kext+ Lilu are present and layout-id/patches match your motherboard audio codec.
- Verify
-
Wi‑Fi or Bluetooth issues:
- Confirm the correct kext (itlwm family for Intel), run HeliPort for Wi‑Fi; for Bluetooth, try re-pairing devices in Bluetooth settings.
-
Sleep Issue (optional), run the comments below and don't forget to disable secure boot & fast boot:
- sudo pmset autopoweroff 0
- sudo pmset powernap 0
- sudo pmset standby 0
- sudo pmset proximitywake 0
- sudo pmset tcpkeepalive 0
- sudo pmset -a hibernatemode 0
- sudo pmset -a ttyskeepawake 0
Update (RX 6800 XT Sleep Fix): I previously faced a "Sleep Wake failure" issue where the system would freeze on login screen with a non-functional cursor/keyboard upon waking up.
- Cause:
NootRX.kextwas found to be unstable for power management (sleep/wake) on this specific RX 6800 XT setup. - Fix: Switched from
NootRX.kextback to the industry-standardWhateverGreen.kextwithagdpmod=pikeraandpcie_aspm=off. - Result: Sleep and Wake now function correctly without freezing. If you experience this issue again, ensure you are NOT using
NootRX.kextand have theGPRWtoXPRWACPI patch enabled inconfig.plist.
Update (RGB Control Automation): In macOS, motherboard RGB controllers often don't receive the "Off" command during sleep, causing lights to stay on. We use
OpenRGBandsleepwatcherto automate this.1. Prerequisites:
- Install OpenRGB.
- Install
sleepwatchervia Homebrew:brew install sleepwatcher && brew services start sleepwatcher. - Required Permissions (macOS Sequoia/Sonoma):
- Go to System Settings > Privacy & Security > Full Disk Access.
- Click (+) and add
/usr/local/sbin/sleepwatcher(UseCmd + Shift + Gand type/usr/local/sbin/to find it). - Ensure it is toggled ON.
- Repeat for Accessibility if required by your setup.
- Disable OpenRGB's built-in autostart (check
~/Library/LaunchAgentsforOpenRGB.plistand delete if exists).
2. Setup Scripts:
- Sleep Script (
~/.sleep):cat <<EOF > ~/.sleep #!/bin/bash echo "\$(date): Sleep script triggered" >> ~/.rgb_debug.log # /Applications/OpenRGB.app/Contents/MacOS/OpenRGB --server --profile baron_night --noautoconnect >> ~/.rgb_debug.log 2>&1 /Applications/OpenRGB.app/Contents/MacOS/OpenRGB --server --profile baron_night --noautoconnect & sleep 1 /Applications/OpenRGB.app/Contents/MacOS/OpenRGB --color 000000 >> ~/.rgb_debug.log 2>&1 EOF
- Wake Script (
~/.wakeup):cat <<EOF > ~/.wakeup #!/bin/bash echo "\$(date): Wake script triggered" >> ~/.rgb_debug.log # Wait for hardware to wake up completely sleep 10 killall OpenRGB 2>/dev/null sleep 1 # /Applications/OpenRGB.app/Contents/MacOS/OpenRGB --profile baron_awake >> ~/.rgb_debug.log 2>&1 /Applications/OpenRGB.app/Contents/MacOS/OpenRGB --server --profile baron_awake --noautoconnect & sleep 10 /Applications/OpenRGB.app/Contents/MacOS/OpenRGB --profile baron_awake >> ~/.rgb_debug.log 2>&1 EOF
- Stable Startup Script (
~/.start_rgb_stable.sh):cat <<EOF > ~/.start_rgb_stable.sh #!/bin/bash # Wait for system to stabilize (30 seconds) sleep 30 # Kill any existing instances killall OpenRGB 2>/dev/null # Start server in the background /Applications/OpenRGB.app/Contents/MacOS/OpenRGB --server & sleep 10 # Start server and load profile # /Applications/OpenRGB.app/Contents/MacOS/OpenRGB --server --profile baron_awake --noautoconnect & /Applications/OpenRGB.app/Contents/MacOS/OpenRGB --profile baron_awake # Secondary load attempt after 10s to ensure hardware detection sleep 5 /Applications/OpenRGB.app/Contents/MacOS/OpenRGB --profile baron_awake EOF
- Permissions:
chmod +x ~/.sleep ~/.wakeup ~/.start_rgb_stable.sh
baron_awakeandbaron_nightare my OpenRGB profile names (I setbaron_nightto turn off all lights).3. Deployment (Choose one option):
-
Option 1: Via Login Items (Easiest) Add
~/.start_rgb_stable.shto System Settings > General > Login Items. Note: UseCmd + Shift + .to see hidden files. This will open a Terminal window during startup. -
Option 2: Via LaunchAgent (Recommended/Silent) This method runs the script invisible in the background without opening a Terminal window.
- Create the plist file:
cat <<EOF > ~/Library/LaunchAgents/com.baron.rgb.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.baron.rgb</string> <key>ProgramArguments</key> <array> <string>/bin/bash</string> <string>/Users/baron/.start_rgb_stable.sh</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist> EOF
- Register the task:
launchctl load ~/Library/LaunchAgents/com.baron.rgb.plist
- Create the plist file:
-
Tested in My PC since Jun, 2025
- Mount the EFI partition of your macOS disk or USB installer.
- Copy this repo's
EFI/folder to the EFI partition root (replace existing EFI after backing up). - Check
EFI/OC/config.plistand update paths/serials if you customized SMBIOS or serial numbers. - Reboot and choose the OpenCore entry to boot macOS or Windows.
- OpenCore Install Guide — follow for proper SMBIOS and kext/driver versions.
- Dortania's guide for USB mapping and ACPI patching.
- HeliPort documentation for Wi‑Fi GUI usage.
- OpenRGB project for RGB control notes.
This EFI bundles many community contributions (Lilu, VirtualSMC, Whatever is included in Kexts/), and uses SSDTs and drivers adapted from public guides. Please consult the upstream projects for licensing and attribution.
