Jump to content

[Guide] Mojave 10.14.2 + Asus Prime H370-Plus + i3-8100 + UHD 630


poles89
 Share

5 posts in this topic

Recommended Posts

Introduction

30th October Brooklyn, New York, Apple 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" hackintosh mac mini instead and successfully managed to build it around $614 .This is my 4th hackintosh build.

 

Hardware

Asus Prime H370-Plus

Intel Core i3 8100 3.6GHz

Corsair Vengeance 2400MHz DDR4  16 GB RAM

Kingston SSDNow A400 240GB

Cooler Master MWE 450 Bronze, 80+ Bronze Certified 450W Power Supply

 

LG VGA Monitor (1366x768)
HDMI to VGA Adapter

DVI-D to VGA Adapter (Optional)

Logitech USB Keyboard & Mouse

 

Software used

macOS Mojave 10.14.2

Clover EFI Bootloader 2.4k r4813

Clover Configurator 5.3.2.0

 

What works

  • Graphics
  • Audio
  • All USB ports
  • Sleep/Wake
  • iMessage/FaceTime

 

 

Instructions

 

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:

 

 

NY4cnfY.png

 

 

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. 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:

Run Clover Configurator and go to TOOLS > Mount EFI > Mount Partition > Open Partition (choose your macOS drive)
Copy the EFI folder from USB's EFI to your drive's EFI.

Gather the necessary kexts.

Now open Terminal and type the following one by one:

 

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 any Kext Installer to install them to /Library/Extensions/.

Then run the following command into terminal:

 

sudo kextcache -i /


Open /EFI/EFI/CLOVER/config.plist with Clover Configurator

Next, we have to edit config.plist 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.

Reboot.

 

Graphics:
This is where I stuck nearly 1 month. 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 whenever I tried to boot.

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. I tried to use Intel FB-Patcher a.k.a Hackintool, but its shows me like this:

 

 

emYJoRW.png

 

 

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 different combinations of framebuffer patching which I found in this forum but it didn't work.

 

IGPU@2.thumb.png.9d1a6bdcc1697154a7eeb2277c7d965e.png

 

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.

Then I found  a framebuffer patch which also consists a connectors patch, which worked 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 

Just go to Deviecs->Properties and paste this:

Spoiler

<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>

 

Save the config file & restart. Now I have 1536 MB Intel UHD 630. YESS !!!

The patch works for both DVI-D & HDMI even I don't have to change type HDMI to DVI-D.

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:
 

O5gROa0.png

 

And here are the connectors tab for HDMI & DVI-D respectively.

 

OR3FxUA.png              LQsdz6z.png

 

USB Port Fix:

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:

 

bwoGXyi.png

 

Next, after rebooting with -uia_exclude_hs uia_include=HS09,HS10 boot flag it looks like this:

 

D2YJGd0.gif

 

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.

 

wK8YWTR.png

 

 

 

config_usb.plist

config.plist

USBPorts.kext.zip

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...
  • 1 year later...
  • 3 weeks later...
 Share

×
×
  • Create New...