This repository is about a Hackintosh based on the Asus ROG STRIX B460I motherboard.
The Hackintosh is based on OpenCore (0.6.5 at time of writing) and macOS Catalina 10.15.7 following the Dortania Guide for Comet Lake.
The focus of this Hackintosh was looks, functionality and quiet operation rather than performance per Dollar. This has been achieved since there is currently nothing that doesn't work and the fans barely spin at all.
- Case: Louque Ghost S1
- Motherboard: Asus ROG STRIX B460-I (BIOS version 0707)
- WiFi module: Broadcom BCM94360NG NGFF M.2. This replaces the intel chip that comes with the Asus board. See here for instructions on how to do this. The B460 board was chosen because it doesn't have a CNVi wifi module, like the ROG STRIX Z490I board for example, that can't be replaced. You can buy this module on eBay, Aliexpress or Amazon.
- CPU: Intel Core i5-10600
- Cooler: Noctua NH-L12 Ghost S1 Edition
- GPU: Intel UHD630 and Sapphire Pulse RX 5600 XT BE. The normal (not BE) edition doesn't fit in the case!
- RAM: CORSAIR VENGEANCE LPX DDR4 3000 16GB(8G×2)
- Storage: Western Digital SN750 1 TB M.2-2280 NVME
- PSU: Corsair SF 600W 80+ Platinum
There is no CFG-lock issue with this board. Installing BIOS version 0707 is worth it as it enables higher resolutions in the boot loader screen for me.
Things I changed from default:
- Fast boot: OFF
- Intel Virtualization Technology: ON
- OS type: Windows UEFI
- Multi Monitor support: ON
- Clear the platform key as this disables secure boot.
Compiled by following the Dortania's ACPI Guide, the .dsl
SSDT files can be found in SSDTS folder. You will need MaciASL to compile them.
- SSDT-AWAC (enable the legacy RTC clock)
- SSDT-EC-USBX (Fix embedded controller)
- SSDT-PLUG (Power management)
- SSDT-RHUB (reset USB controller)
- SSDT-SBUS-MCHC (SMBus support)
- SSDT-RX5700XT (Better support for RX5600/5700)
Download them from their official repo
- AppleALC.kext - Audio
- FakePCIID.kext and FakePCIID_Intel_HDMI_Audio.kext - Also needed for audio to work
- IntelMausi.kext - Ethernet
- Lilu.kext - Enables various patching
- NVMeFix.kext - Better NVMe support
- VirtualSMC SMCProcessor.kext, SMCSuperIO.kext, VirtualSMC.kext - SMC emulator
- USB-Map.kext - Available from the kexts folder in this repo. This maps the 6 USB3 ports and the two internal ones used for Bluetooth and the Aura header. See USB section.
- WhateverGreen.kext - Various graphics related patches
- XHCI-unsupported.kext - There is a patched version of this in this repo. Needed for USB3 to work.
- DAGPM.kext - Better power management for AMD Navi GPUs.
- HibernationFixup.kext - Added this back as it seems like my computer crashed when in sleep mode for more than 24h. Need more testing to see if this fixes it though.
This board has two USB controllers. The Intel one that drives the 6 USB3 ports on the rear panel as well as Bluetooth and the Aura header. I'm not using the internal USB ports - so the supplied USB Map will not map these. Currently 14 ports are mapped - so there is room for one more logical port. The second controller is for the rear USB-C port and it doesn't need a USB map.
The front USB ports that I didn't map have the following IDs (thanks to zhzhzh88):
- HS01, port 0x01 (USB2)
- HS02, port 0x02 (USB2)
- SS01, port 0x11 (USB3)
- SS02, port 0x12 (USB3)
In addition to the USB-Map.kext you also need the modified XHCI-unsuported.kext to enable USB3 ports. The modification is to add an entry for device id 0xa3af8086. See here
I found that installing the kext and SSDT from here not only improves Geekbench scores (see below), but also real world performance in Mafia III. Without it the GPU seemed to thermal throttle after a few minutes of playing and the frame rate would drop really low. Interestingly I did not see this happen with Unigine Heaven which is much harder on the GPU.
Below are the properties that are board specific or deviate from the Dortania guide
PciRoot(0x0)/Pci(0x2,0x0)
- AAPL,ig-platform-id = 07009B3E
- framebuffer-patch-enable = 01000000
- igfxfw = 02000000
- device-id = 9B3E0000
The device-id is needed, otherwise you will get crashes in Firefox/Safari and probably elsewhere. igfxfw enables the Apple firmware to be uploaded which improves performance.
PciRoot(0x0)/Pci(0x1F,0x3)
- device-id = 70A10000
- layout-id = 0B000000
Quirks > DisableRtcChecksum = TRUE - This prevents the BIOS from restarting into safe mode Misc > Boot > HibernateMode = Auto - Not sure if this is necessary. The machine sleeps fine without this, but maybe this enables deeper hibernation. All other settings follow the Dortania guide.
I used the iMac19,1 SMBIOS because that was what the guide recommended at the time. It has now been updated to use iMac20,1 instead. So I would use this for a new build. But since I haven't found any issues with iMac19,1 I see no reason to change it.
7C436110-AB2A-4BBB-A880-FE41995C9F82 > boot-args: Add agdpmod=pikera - This is needed for Navi GPUs to work.
Item | Score |
---|---|
CPU - Geekbench | Single / Multi-Core: 1221 / 6275 |
Intel UHD630 - Geekbench | OpenCL / Metal: 5319 / 4972 |
RX 5600 XT - Geekbench | OpenCL / Metal: 43209 / 45144 |
RX 5600 XT - Geekbench (with Radeon performance improvements) | OpenCL / Metal: 54139 / 61044 |