- Joined
- Dec 25, 2015
- Messages
- 316
- Motherboard
- Gigabyte Z690 UD AX
- CPU
- i5-12400F
- Graphics
- Readon RX 6600
- Mobile Phone
-
Poles 2nd Coffee Lake Build:
Asus Prime H370-Plus | i3-8100 | Corsair Vengance 16GB RAM | UHD 630 | Kingston SSDNow A400 240GB
ComponentsAsus Prime H370-Plus | i3-8100 | Corsair Vengance 16GB RAM | UHD 630 | Kingston SSDNow A400 240GB
Asus Prime H370-Plus
https://www.amazon.com/dp/B07BTXJDTK/?tag=tonymacx86com-20
Intel™ Core® i3 8100 3.6GHz Coffe Lake Processor
https://www.amazon.com/dp/B0759FTRZL/?tag=tonymacx86com-20
Corsair Vengeance 2400MHz DDR4 RAM
https://www.amazon.com/dp/B019HVQJ2U/?tag=tonymacx86com-20?tag=tonymacx86com-20
Kingston SSDNow A400 240GB
https://www.amazon.com/dp/B00A1ZTZNM/?tag=tonymacx86com-20?tag=tonymacx86com-20
Cooler Master MWE 450 Bronze, 80+ Bronze Certified 450W Power Supply
https://www.amazon.com/dp/B074ZLW8DN/?tag=tonymacx86com-20?tag=tonymacx86com-20
Cooler Master CMP 500 Cabinet
https://www.amazon.co.uk/dp/B07743RD1D/?tag=tonymacx86-21?tag=tonymacx86com-20
Comments
At Apple's 30th October Brooklyn, New York, event they announced a "re-engineered" Mac Mini - the first update to small sized desktop Mac since 2014. Surprisingly, they also unveiled a new i3 8th generation based "affordable" Mac Mini which costs $799. Cool...right? Not cool for me. So, I decided to build a really "affordable" CustoMac Budget ATX instead. And it takes almost one month to get everything working


The Build
BIOS Settings:
Use "Delete" to enter you UEFI setup.
- Load Optimized Defaults
- Disable VT-d
- Disable Secure Boot Mode
- Set OS Type Other
- Turn off internal Serial port
- Turn off Network stack for boot
- Set XHCI Handoff to Enabled
- Enable HD Audio
- Don't enable decode over 4G
- Set Primary Display to iGPU
- Set DMVT pre-alloc to 64MB or 128 MB
- Set USB legacy to enabled
- Activate XMP profile 1
- Set ERP to enable
Installation:
I used the default command to create a bootable Mojave Installer on a 8GB USB drive. Then I installed the Clover_v2.4k_r4813 pkg on the bootable drive with these options:
Also select EmuVariableUefi-64.efi from UEFI Drivers list which will fix the rebooting issue if you may face during Mojave installation. Next, mount the USB's EFI partition and navigate to Clover/kexts/Other and place FakeSMC.kext & USBInjectAll.kext into that. Now go back to Clover folder and delete config.plist file and paste an empty config.plist file. Its just basically what UniBeast creates after making a bootable drive. I have attached it at the end of the post.
Plug the USB to your machine and press F8 and select your bootable drive. Next Format the drive using disk utility & install macOS. During installation the computer will reboot several times but every time press F8 and select your bootable drive and then select Install Mojave from your SSD/hard drive.
Post Installation:
Though MultiBeast is a great option, I have gone for vanilla installation this time.
Copy the EFI folder from USB's EFI to your drive's EFI.
Gather the necessary kexts.
- FakeSMC.kext
- Realtek Lan Driver a.k.a RealtekRTL8111.kext
- Lilu.kext
- WhateverGreen.kext for graphics
- AppleALC.kext for audio
- USBInjectAll.kext for USB ports
Code:
sudo chmod -R 755 /System/Library/Extensions/*
sudo chmod -R 755 /Library/Extensions/*
sudo chown -R root:wheel /System/Library/Extensions/*
sudo chown -R root:wheel /Library/Extensions/*
sudo chown root:admin /
This will fix ownership and permissions...
Copy & paste all kexts to Desktop & use KextBeast to install them to /Library/Extensions/.
Then run the following command into terminal:
Code:
sudo kextcache -i /
config.plist
Now we have to edit the file. First make a backup of the empty config file. Download the latest Clover Configurator and open the config file. Next I have done the following modifications:
- ACPI: HDAS -> HDEF, HECI -> IMEI, GFX0 -> IGPU, XHC1 -> XHC, EHC1 -> EH01, EHC2 -> EH02
- Under Generate Options, check PluginType
- Under Fixes, check FixShutDown, FixHPET, FixIPIC
- Under Drop Tables, check Halt Enabler, FixHeaders, FixMCFG
- Boot: Arguments: dart=0
- Devices: IntelGFX=0x3E928086, USB-> check Inject, FixOwnership, Audio=1, check ResetHDA
- GUI: Under Hide Volume, Click + and enter "Preboot"
- Graphics: Inject Intel, ig-platform-id=0x3E9B0007
- SMBIOS: iMac 18,1
- Rt Variables: Click the dropdown and select "UseMacAddr0", in MLB enter the Board Serial Number from SMBIOS section. Double check if CsrActiveConfig value is set to 0x67 or not.
Graphics:
Now here comes the most challenging part. After setting IntelGFX=0x3E928086 & Inject Intel with ig-platform-id=0x3E9B0007 it should work right after reboot as WhateverGreen handles the rest. But it didn't work, the display goes off on booting halfway.
I have tried the other combination like, IntelGFX & ig-platform-id to blank with uncheck Inject Intel as i3 8th gen UHD 630 is natively supported in mojave. But no luck. I only able to boot with a invalid IntelGFX.
Next, I followed @headkaze's framebuffer patching using WhateverGreen guide. As I was naive in framebuffer patching I also followed @jaymonkey's An iDiot's Guide To Lilu and its Plug-ins. I tried to use Intel FB-Patcher a.k.a Hackintool, but its shows me like this:
That means it can't detect the CPU generation & also the video memory. No matter what SMBIOS I tried. Even ioreg showed no "AppleIntelFrameBufferX". So forget about framebuffer patching. Though I tried some framebuffer patchings suggested by @shuhung & @jaymoneky but it didn't work.
Detecting CPU generation & Video memory is really important if you want a framebuffer patch. I also tried different Lillu+WEG versions. I even upgraded the BIOS to the latest version. Nothing worked but I didn't give up. You can track my struggle by this thread in this forum

Then @CaseySJ shared a framebuffer patch which also consists a connectors patch, originally suggested by @vonrussel for ASUS H370M-Plus motherboard, worked for me.
As I have only HDMI, DVI-D & VGA video port.
Row 1: Index 2, BusID 0x02, Type HDMI
Row 2: Index 3, BusID 0x04, Type HDMI <-- assumes HDMI here
Row 3: Index 1, BusID 0x01, Type DP
Some of this does not seem to make sense, but worth a try due to success on the H370M-Plus Prime board. These changes are included in the attached file.
<key>Properties</key>
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>
BwCbPg==
</data>
<key>device-id</key>
<data>
mz4AAA==
</data>
<key>framebuffer-con0-busid</key>
<data>
AgAAAA==
</data>
<key>framebuffer-con0-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con0-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con0-index</key>
<data>
AgAAAA==
</data>
<key>framebuffer-con0-pipe</key>
<data>
CgAAAA==
</data>
<key>framebuffer-con0-type</key>
<data>
AAgAAA==
</data>
<key>framebuffer-con1-busid</key>
<data>
BAAAAA==
</data>
<key>framebuffer-con1-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con1-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con1-index</key>
<data>
AwAAAA==
</data>
<key>framebuffer-con1-pipe</key>
<data>
CAAAAA==
</data>
<key>framebuffer-con1-type</key>
<data>
AAgAAA==
</data>
<key>framebuffer-con2-busid</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con2-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con2-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con2-index</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con2-pipe</key>
<data>
CQAAAA==
</data>
<key>framebuffer-con2-type</key>
<data>
AAQAAA==
</data>
<key>framebuffer-patch-enable</key>
<data>
AQAAAA==
</data>
</dict>
</dict>
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>
BwCbPg==
</data>
<key>device-id</key>
<data>
mz4AAA==
</data>
<key>framebuffer-con0-busid</key>
<data>
AgAAAA==
</data>
<key>framebuffer-con0-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con0-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con0-index</key>
<data>
AgAAAA==
</data>
<key>framebuffer-con0-pipe</key>
<data>
CgAAAA==
</data>
<key>framebuffer-con0-type</key>
<data>
AAgAAA==
</data>
<key>framebuffer-con1-busid</key>
<data>
BAAAAA==
</data>
<key>framebuffer-con1-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con1-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con1-index</key>
<data>
AwAAAA==
</data>
<key>framebuffer-con1-pipe</key>
<data>
CAAAAA==
</data>
<key>framebuffer-con1-type</key>
<data>
AAgAAA==
</data>
<key>framebuffer-con2-busid</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con2-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con2-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con2-index</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con2-pipe</key>
<data>
CQAAAA==
</data>
<key>framebuffer-con2-type</key>
<data>
AAQAAA==
</data>
<key>framebuffer-patch-enable</key>
<data>
AQAAAA==
</data>
</dict>
</dict>
The patch works for both DVI-D & HDMI even I don't have to change type HDMI to DVI-D. Why? Then you need to follow @CaseySJ's excellent & detailed connectors patch guide. He already managed to list some of the connector patches for different type of motherboards with the help of other members in this forum. Now, he is trying to list patches for all possible hackintosh motherboards in future. So do check that thread once before applying framebuffer patching for your motherboard. If listed then you don't have to go the long way. That thread also explains how physical port mappings are defined for your motherboard.
So you see how connectors patch plays a crucial part if you want to use your Intel iGPU & onboard HDMI, DVI-D & DP connectors. After applying the patch the Hackintool looks like:
And here are the connectors tab for HDMI & DVI-D respectively.
Now I can apply the rest of the patches like USB port patching.
USB Port:
I followed the @headkaze's USB port patching guide mentioned in his thread. Now, as my USB controller's device id is 8086:A36D I had to install XHCI-unsupported.kext in Clover/kexts/Other. So after removing unused ports General->USB tab looks like this:
Next, after rebooting with -uia_exclude_hs uia_include=HS09,HS10 boot flag it looks like this:
Now, I used “Export” button to generate the USBPorts.kext & copied the file into EFI/CLOVER/kexts/Other. Removed unnecessary files like boot flags (-uia_exclude_ss -uia_exclude_hs uia_include=x), USBInjectAll.kext, Clover Renames (XHC, EH01, EH02). After rebooting the USB port limit is fixed. I have attached the kext files also if anybody needs it.
What Works
Everything is working as far I know.
Future Upgrade
Integrate a Fenvi 802.11AC wifi card.
Thanks to all who have supported me throughout the hackintosh build process. Also I suggest buyers to buy a motherboard which has a DP port. It makes the iGPU working with less hurdle.
Attachments
Last edited: