Recently Browsing 0 members
No registered users viewing this page.
I'm working on a mATX build, but I'm really not sure about the mobo.
I'm thinking about going with Gigabyte because look it's the easiest mobo to get everything working.
But I'm really not sure about the model. so far the main differences are:
H370M-D3H (there's an amazing guide here)
- USB 3.1 Gen2
- expansion for Intel CNVi WIFI (it will work?) Dell NGFF M.2 is a possible solution
- limited to DDR4 2666/2400/2133 MHz
- CPU/DDR4 overclocking (I'm not sure if it will work 100%...)
- allows more DRR4 options over 3000 MHz
And most important, about the installation itself, it's similar for both chips (H370 and H270) or one of then generally better?
here is the link for the build parts:
By Luan Eduardo
Installing macOS Mojave 10.14 on Gigabyte Z370N WIFI + i7 8700K + UHD 630
10/11/2018 04:15h GMT-0
- Added USB 3.0 patch.
- Adjusted some steps.
- Changed text formatting.
10/11/2018 03:42h GMT-0
- Added missing UEFI configuration.
10/07/2018 00:36h GMT-0
- First version.
What works and what does not
- Processor -> Work. All SpeedStep stages.
- Video Card -> Work. QE/CI and Metal.
- Chipset -> Work.
- HDMI (1st) -> Work.
- HDMI (2nd) -> Work.
- DP -> Not tested.
- Audio -> Not work.
- WiFi/Bluetooth -> Not work.
- Ethernet (1st) -> Work.
- Ethernet (2nd) -> Not work.
- USB3.0 -> Work.
- Sleep -> Work.
- Make audio work.
- Make HDMI audio work.
- Test DisplayPort.
- Make second ethernet work.
- Replace Wifi/Bluetooth.
What you need to install
- Running install of macOS
- One USB flash drive of 8GB or bigger
- macOS Mojave install app
- Clover EFI
- Clover Configurator
- Some KEXTs
How create create the install flash drive
Prepare install flash drive
Format the flash drive with GUID partition mapping and name it "Install".
- Open Disk Utility.
- Click in View, then "Show All Devices".
- Select the destination flash drive, then Erase.
- Name: Install, Format: Mac OS Extended (Journaled) and Scheme: GUID Partition Map
Create install flash drive
Open terminal and run this command:
sudo /Applications/Install\ macOS\ .app/Contents/Resources/createinstallmedia --volume /Volumes/Install--nointeraction This will take about 30 minutes.
Download the CloverEFI (used 4674) and install with this options on "Install macOS Mojave":
- Install for UEFI booting only
- Install Clover in the ESP
- UEFI Drivers - ApfsDriverLoader-64
- UEFI Drivers - AptioMemoryFix64
Make things works
Will be created a partition named EFI and mounted in Desktop. Edit the /Volumes/EFI/CLOVER/config.plist inside this new partition, open with Clover Configurator (used 22.214.171.124)
Full UHD630 Acceleration
config.plist (Clover Configurator):
- Uncheck: Acpi - Fixes - FixDisplay
- Uncheck: Acpi - Fixes - AddHDMI
- Add value: Devices - Properties - Devices*: PciRoot(0x0)/Pci(0x2,0x0)
- Add value: Devices - Properties - Devices* - PciRoot(0x0)/Pci(0x2,0x0):
Propertie Key: framebuffer-patch-enable
Propertie Value: 01000000
Propertie Key: AAPL,ig-platform-id
Propertie Value: 07009B3E
- Change value: Gui - Screen Resolution to 3840x2160 (Your screen resolution, mine is 4k)
- Change value: Rt Variables - CsrActiveConfig to 0x3
- Select value: SMBIOS - Up/Down arrows - iMac18,1 - Intel Core i5-7360U @ 2.30Ghz (I know, it's not our processor, but is that option)
Download those Kexts and put in /EFI/CLOVER/kexts/10.14/
- Download the Lilu.kext from here. I used the version 1.2.7.
- Download the WhateverGreen.kext. I used the version 1.2.3.RELEASE.
All USBs (2.0, 3.0, Type-C, internal)
config.plist (Clover Configurator):
- Add value: Kernel and Kext Patches - KextsToPatch:
Find* [HEX]: 83FB0F0F 83030500 00
Replace* [HEX]: 83FB0F90 90909090 90
Comment: disable port limit in XHCI kext (credit PMHeart)
config.plist (Clover Configurator):
- Check: Boot - Arguments - dart=0
Download those Kexts and put in /EFI/CLOVER/kexts/10.14/
- Download the FakeSMC.kext from here. I used the version 2018-0915.
- Download the IntelMausiEthernet.kext from here. I used the version 2018-0424.
Put the Clover installer on the flash drive too.
Now you can start the instalation without problem (I guess).
UEFI Setup Configuration and Installation
- Shutdown and insert the flash.
- Power on with DEL pressed to enter BIOS setup.
- Change value: Periphelrals - Initial Display to IGP
- Change value: Periphelrals - USB Configuration - XHCI Hand-off to ENABLE
- Change value: Chipset - VT-d to DISABLE
- Change value: Chipset - Internal Graphics to ENABLE
- Change value: Chipset - DVMT Pre-Allocated to 128M
- Change value: Chipset - Wake On Lan to DISABLE
- Save & Exit Setup
- Now, hold the F12
- In the list, select your flash drive.
- It will show twice. One with UEFI prefix and another without.
- Select with UEFI prefix. Ie.: "UEFI: Sandisk Cruzer"
The installer will start.
Format destination disk
Format the disk with GUID partition mapping and name it "HD".
- Select Disk Utility in the list, then press Continue.
- Click in View, then "Show All Devices".
- Select the destination Disk, then Erase.
- Name: HD, Format: APFS and Scheme: GUID Partition Map
Close Disk Utility.
Select "Install macOS", then Continue.
Follow instructions in screen.
After first part install the system will reboot.
The second part of the installation will begin. This will take 16 minutes.
When the second part of install finish, the system will reboot again.
After performing the user initial setup and go to the desktop, you need to install Clover on internal disk.
Open the Clover installer inside flash drive that you copied before.
Use same options above but choose the system partition this time.
Now you need to replace the config.plist inside your destination disk EFI parittion with config.plist inside flash card EFI partition.
The flash drive EFI partition is unmounted. Mount with terminal "sudo diskutil mount /dev/rdiskXs1". To know what X is, use "diskutil list", most likely is 1.
Copy all Kexts from flash drive to /Library/Extensions, with those commands in Terminal:
sudo cp -R /Volumes/EFI/EFI/CLOVER/kexts/10.14/* /Library/Extensions/ sudo chmod -Rf 755 /Library/Extensions sudo chown -Rf 0:0 /Library/Extensions sudo kextcache -system-prelinked-kernel sudo kextcache -system-caches Restart the system.
And last but not least
I would like to thank the following community members, by making these dream possible:
@crushers, @snatch, @apianti, @blackosx, @blusseau, @dmazar, @slice2009, @autumnrain, @phpdev32, @EMlyDinEsH, @RehabMan, @Scellow, @mitch_de, @Shailua, @Andy Vandijck, @maxfierke, @ArturXXX, @LexHimself, @brumas and all others members involved directly or indirectly.
In 5 minutes you get your sound on Hackintosh up and running. 100% working Vanilla, Easy & Fast Solution. Works with all systems and codecs. Hackintosh sound fix most easiest way.
Due to Apple's QA, an update to Mojave will come when Mojave reaches its second 2nd point release (aka .2)
The H370 chipset powers 8th generation Intel Core-i CPUs. Even though the name H370 rings comparable to Z370, the H370 is based on newer silicon. This it also requires some new approaches compared to the Z370. An example would be on-die USB 3.1 and WiFi support.
Since this guide is not a "hold-your-hand-every-step" guide, I assume you know:
Clover installation and configuration How to create an install medium for MacOS Access and configure the BIOS Have heard of ACPI patching (I'm a newb at this myself)
Sleep (via DSDT edits and emulated NVRAM) On-board Audio (via CloverALC script) Native power management (without any kext or patch) All USB ports (and only those present are active) iGPU for both acceleration and display dGPU (I'm running an Nvidia GTX 1080)
NIC --> I'm using WiFi only
What doesn't work
Native NVRAM via AptioMemoryFix.efi DMVT Pre-alloc higher than 64MB (but not necessary)
Changes to the guide:
22.5.18: Added SSDT hot-patching to enable sleep, replacing DSDT static patching as an alternative.
23.5.18: Add iMac18,1 as alternative SMBIOS config for those relying on the iGPU for output
25.6.18: Added update info
28.8.18: Small changes for clarity, changed info for afps loading & updated USB patch for 13.6
04.10.18: Update to Mojave will come once Mojave is more mature
This guide heavy inspired by the work of /u/corpnewt of /r/hackintosh and his (sorta) Vanilla guide
1.1 Create the install media for MacOS
Follow this, if you are using a Mac to start off with. If you are totally new to MacOS, then please check the basic guide Creation of an installer media in windows or linux
1.2 Install Clover on the install media
Using the Clover installer, ensure you are installing to the USB medium you are using for the installer.
Chose the following options, leaving the others on default:
UEFI driver: AptioMemoryFix UEFI driver: ApfsDriverLoader UEFI booting only Install to ESP
You have to get your hands on an apfs.efi. A google search can help, or extracting it from the Installer package. Make sure you procure a version matching the MacOS version you are about to install. Place the apfs.efi in drivers64UEFI.
1.2 Adjust the config.plist for the installer
You can use the config.plist attached as a guideline, but take a look at it before and at least adjust the SMBIOS - otherwise it won't boot.
Attention: The attached plist contains audio patches introduced by a post-install step. If you run into problems, you might remove those. It also contains a manual slide value, which should normally not be needed, but works fine for me. It is also tuned for usage with an Nvidia Pascal dGPU as main GPU.
The config you create now should serve you nicely for install and running the system.
Take care of adding the following basics:
SMBIOS: iMac18,3 - You can generate a serial number via Clover Configurator. The creation of a proper SMBIOS is covered in many guides to good extend Note: If you aim at using the iGPU for output, a user reported that iMac18,1 works better - since iMac18,3 produces sever flicker. Look at the graphics section and adjust the injection for Intel to your situation
Change 0x59120003 to 0x59120000 if you don't use a dGPU as your main display Driver and instead use the iGPU for output.
Also note. SMBIOS iMac18,1 has been reported to work better in this configuration. But 18,3 works fine for me.
Kernel and Kext patches
1.3 kexts and friends
Add the supplied SSDT-UAIC.aml to "patched" - it limits the injected USB Ports to the actual number and ports valid for this board.
Required kexts on "Other":
FakeSMC.kext IntelGraphicsFixup.kext Lilu.kext When having an Nvidia card: NvidiaGraphicsFixup.kext IntelMausiEthernet.kext in case you're running Ethernet USBInjectAll.kext with the HCI-300-series-injector.kext --> These two should be installed to /L/E after install
We are leaving sound out at the moment, this is something for post-install. Please note the absence of Shiki, I don't find it necessary. Video material I tried made use of the iGPU without shiki.
1.4 Check BIOS and install
You should be ready for install. But before you reboot, please take a look at your BIOS and set it up accordingly (copied from the aforementioned guide and adapted):
Load Optimized Defaults Disable VT-d setting If your system has Secure Boot Mode, disable it Set OS Type to Windows 8/10 or OtherOS - I have not seen a difference Turn off internal Serial and Parallel port Turn off Network stack for boot Turn off wake-on-lan (for now) Set XHCI Handoff to Enabled Don't enable decode over 4G Depending on your GPU, set priority for boot Set internal GPU to enable Set DMVT pre-alloc to 64MB Set USB legacy to enabled Activate XMP profile 1 f your Ram has it (mine doesn't and I added the timings manually) Set ERP to enable, disable platform power management (I need to do more research if this could be enabled)
I've attached my current BIOS config "hack2". You can place that on a fat32 drive (the EFI partition of your install USB drive might be an idea) and see if it loads. It's made for and with the F2 BIOS.
The install itself should be like other MacOS Hackintosh installs with it several reboots and ensuring to select the correct boot device in Clover.
2.1 Install clover on target
This is a no-brainer, but install a fresh copy of Clover on your target medium.
During install select again AptioMemoryFix but also additionally
EmuVariableUefi-64.efi Install RC scripts on target volume because otherwise NVRAM doesn't seem to work
After the install, copy
config.plist contents of "Other" content of "patched" apfs.efi from drivers64UEFI to your new clover install.
2.1 Edit ACPI for slumber
Choose one option, not both. The hot-patch is experimental, but for the moment it is stable.
2.1.1 Edit DSDT
This is necessary only once on initial install and every time, you edit or upgrade the BIOS. The DSDT.aml attached to this post might work for your system or give you a file to compare to. Don't expect it to work for you, though.
I won't go into the details of DSDT extraction and patching. There are better guides (the linked guide is a rip-off of rehabman's guide from a different forum). Please follow such a guide to extract your ACPI data.
Locate and disassemble the DSDT with the newest iasl binary you can put your hands on, then open it with MacIASL in its newest version you can find (Hint: Here is a good source) You can check if the version is new enough if MacIASL doesn't throw error upon compiling a freshly extracted DSDT.aml or DSDT.dst
Add rehabmans repo (as per linked guide) and apply the following patches:
Rename _DSM to _XDSM Fix _WAK Arg0 v2 USB3 _PRW 0x6D Skylake (instant wake) Find the CNVW device and remove the _PWR function there.
Compile the DSDT and place it in "patched".
2.1.2 Use SSDT hot-patching
Instead of having to re-extract and re-patch the DSDT on every BIOS change or update, Hardware change one can also use ACPI hot-patching.
It's a combination of config.plist patches and an SSDT, which is hot-patched into the ACPI (if I understand the process correctly)
You need to add this SSDT-GPRW.aml to your Clover folder in the designated position at Clover/ACPI/patched You need to add this patch to your config.plist. It goes into the DSDT patch section
Note: This works for me, but the patch removes the _PRW method from all devices in the DSDT. This could have side-effects. So far, I have seen none. At the moment I'm also not applying any other patch, compared with the additional edits I made to the DSDT method before.
2.2 Install kexts to system
As mentioned in the install section, it's better to follow rehabman's instruction and install USBinjectAll.kext to /L/E:
sudo cp -R Release/USBInjectAll.kext /Library/Extensions sudo touch /System/Library/Extensions && sudo kextcache -u / 2.3 Enable onboard Audio
This is where I'm not so happy currently, I'd like it to work without altering AppleHDA. But currently I find no other way.
2.3.1 Install FakePCIID & FakePCIID_Intel_HDMI_Audio
Rehabman tells us to use a kext installer to install it to /S/L/E. Chose the RELEASE folder
2.3.2 Run CloverALC command
Ensure your EFI partition is mounted before running this command
Get the newest version of CloverALC command (audio_cloverALC-xxx.sh) and run it. Our Audio codec is RTL887 and I'm running with layout ID 1
2.4 Optional steps
If you have a dGPU, now it's the time to install its drivers and adjust the config.plist for it.
This is out of scope of this guide. Yet, my supplied config.plist is ready to be used with Nvidia Pascal cards and using the Nvidia web driver.
Updating inside 10.3.x point updates doesn't require much attention:
Download the update from the AppStore as any Mac would do Allow the system to reboot Before booting MacOS with Clover, make sure to disable extra drivers for dGPUs which require non-native support. If using an Nvidia dGPU: Remove "nvda_drv=1" from your boot arguments and disable Nvidia injection If using a non natively supported AMD card, do the same for AMD (I'm not using AMD, thus I cannot be specific) Boot into the newly created Install MacOS partition Repeat this process until the Install partition is gone Boot MacOS again, still following 3., and potentially install updated drivers Your Audio might require re-patching
Move away from static DSDT patching to SSDT hotpatching --> requires my work Native NVRAM --> requires developer work Audio without AppleHDA patching --> requires developer work
5. Thanks to
@MaLd0nfor helping finding the right way with the DSDT
@RehabMan, for being a legend and helping me out patching
@toleda, for audio patches for the 300 series
/u/corpnewt, for his superb vanilla guide
@wmchris for his super XPS 9550 guide and introducing me to hot-patching
all the developers of clover and it's awesomeness
[SUCCESS] Asrock H370M-ITX/ac and getting RX560 or RX580 to work with Intel graphics for full hardware acceleration on Mojave (and maybe High Sierra 10.13.6)By macinsane
Mojave (and maybe High Sierra 10.13.6) on Asrock H370M-ITX/ac and getting RX560 or RX580 to work with Intel graphics for full hardware acceleration
Core i7 8700, UHD 630
Gigabyte Radeon RX560
Wifi/BT BCM943602BAED (DW1830) M.2
Sapphire Nitro RX 580
Samsung PM961 NVMe SSD
*This guide requires you to know the basics, meaning how to create a macOS install drive, installing and using Clover. There are great beginners guides out there! As always you need at least FakeSMC to boot, every other kext I’ve used is mentioned in the guide. For Mojave beta you need to be enlisted with your Apple-ID in Apple’s beta programme. What is described here may work for High Sierra 10.13.6, but I doubt it to be reliable. Even in early beta status (PB3) Mojave runs much more stable and smoother than High Sierra ever did for me.*
*UPDATE Mojave final*
For the final release of Mojave you can use my attached Clover folder as a reference. If you don't have a Radeon RX 580 installed or you prefer WhatEverGreen just use the DSDT_no_graphics.aml and rename it to DSDT.aml. You need to have updated to BIOS V3.00 to use it.
I've updated to BIOS Revision 3.00 which seems to work fine in contrast to 1.50. Already compiled a new DSDT and uploaded it alongside a new config.plist. You can use both if you like. If you don't use a RX 580 you need to edit the PEG0-PEGP section in the DSDT to adjust it to your graphics hardware. With this DSDT and config in place you'll only need FakeSMC, IntelMausiEthernet, USBinjectall plus XHCI-300-Injector, Lilu plus AppleALC for Sound. You can add Shiki for iTunes DRM playback if you like, I've uploaded the latest version as well. Avoid Whatevergreen at this time.
The board comes with BIOS version 1.20, there is an update 1.50 on the Asrock website. Usually it is good to stay updated but in this case I’ll recommend to stay on 1.20, because the 1.50 version seems to be unstable and I had restarts upon wake and things like that I couldn’t get fixed even with dsdt patches. So I just downgraded to 1.20 which runs fine.
Settings needed: Just the usual. Disable fast boot and security boot (everything Windows-related), disable vt-d and enable XHCI hand-off. Activate multi monitor support and set VRAM to 64MB to activate the Intel IGPU. From what I’ve read most people recommend 128MB but I find the 64MB setting to be more reliable, getting artifacts with settings below or above 64MB. 128MB may be needed for 4k support, though. *Update* BIOS V 3.00 with Mojave final release works fine with 128MB. As for nVidia users: You may have to disable the Intel graphics. I’m using an AMD card and that is the brand to go these days since Apple decided to work with AMD
Clover and power management:
I recommend upgrading to 4586. It seems that Aptiomemoryfix is now working with H370 chipsets. I stayed on OsxAptiomemoryfix2 together with Emuvariable and it works. Feel free to experiment. *Update* Now using OsxAptioV3.
For power management with your CoffeeLake cpu you can just tick plugin type within Clover or compile a ssdt with Pikeralphas script. Mojave reports my cpu correctly as Core i7 since PB3, before that it is just “Unknown” but that is just cosmetic.
Whatevergreen 1.2.3 now supports Displayport on Nitro RX580. Still recommend DSDT or SSDT port activation instead as it runs more reliable and faster than WhatEverGreen.
I updated to PB4/DP5 and switched to a Sapphire Nitro RX 580. You don't need to spoof Kabylake anymore, SMBIOS 18,x now works and can use my attached DSDT_RX580 for your convenience! You'll need it for displayport to work as primary display or else you get black screen on boot and can use only HDMI. Problems are the same as written below in the graphics section. If you need iTunes you absolutely need to keep a copy of the latest Shiki that is available, because it is discontinued. The newest WhatEverGreen-Fix (1.2.0/1.2.1) does not work! If you want to use Final Cut and don't need iTunes just stay away from Shiki or Whatevergreen.
This is the worst part. Getting the Radeon to run correctly alongside the Intel graphics took me weeks to figure out.
While RX570 and 580 run out of the box in most cases, the RX560 models often do not or at least not correctly. Apple even banned them from eGPU use. For my approach you cannot use “Whatevergreen.kext”, it simply didn’t work for me the way I needed it. Instead I added some fixes to my DSDT to set the correct number of ports used (DP, HDMI, DVI) and tell macOS to use the correct frambuffer. For those who are not into dsdt editing I added my DSDT, look at the “PEGP” section how it is done. This works for the RX560 using the “Acre” framebuffer, you can replace it with “Radeon”, that works too. Other cards need a different framebuffer and a different number of ports. You can do it! BTW: Do not buy this Gigabytecard!!! It has some weird VBIOS on it, which caused me nightmares before I got the card to work! Buy a Sapphire card instead, they are used by Apple too.
To get full hardware acceleration for encoding videos you have to have the Intel graphics enabled alongside your AMD card. Problem is, you cannot have it running simply as a second graphics card but you’ll need to “hide” it, means telling macOS that it doesn’t have any display connectors. Otherwise you’ll have screen artifacts or in the worst case just constant crashes. This can be done by adding a certain ig-platform-id in Clover. If you use 59120003 the Intel graphics will not show up in system profiler but it is there. You can check it with iStats or HWMonitor or look if the Kaby Lake graphics kexts are loaded. This ID makes the CoffeeLake UHD 630 to be recognized as a Kaby Lake gpu that has no display ports, is just used as a helper card.
You’ll need it as a helper card for video encoding. That is what Intel graphics are used for in Macs, to support video encoding on the hardware side. You can check if hardware encoding is supposedly enabled by using MacX Video Converter Pro and VDADecoderChecker. If both say “yes” and “fully supported” this is a good start. But despite the widespread belief this doesn’t mean everything is set correctly! You now have to find out, how to get both cards working together. This is the moment where you have to choose between work and fun: Are you using FinalCut Pro for video editing or are you planning to use iTunes for entertainment? Up until this day (Mojave PB3 PB4/DP5, High Sierra 10.13.6) you cannot have both working correctly! I’ll show you how it is done both ways.
The best settings for Final Cut:
Use the DSDT I’ve added with the respective AMD settings for the RX560 or modify them for your graphics card.
Use SMBIOS for iMac17,1 (14,2 does work but picture over DP port is ugly, iMac 18,1/2/3 do not work *Since Mojave PB4 they do work at least for RX580*) in Clover.
Have AppleIntelKBLGraphicsFramebufferInjector_3e9x.kextin your Clover/kexts/Other folder.
Until Mojave PB2 (may work on High Sierra 10.13.6):
Fake-ID 3E928086 plus ig-platform-id 59120003
These are the correct setting when installing Mojave (usually you will start with PB1 as the full installer).
For Mojave PB3 and higher:
Fake-ID 59128086 plus ig-platform-id 59120003
After upgrading to PB3 you will get a black screen with 3E92 fake id because PB3 introduces Coffee Lake kexts and macOS will use these kexts instead but that doesn’t work with our ig-platform-id. So you can download the update to PB3 but before installing it you’ll need to change the fake-id to a usual Kaby Lake id. While this didn’t work in High Sierra and the first two Mojave betas (meaning you didn’t get full hardware encoding) it is now magically working with PB3. It is safe to remove AppleIntelKBLGraphicsFramebufferInjector_3e9x.kext after upgrading to PB3.
For Mojave PB4 and higher (including final release):
Only add ig-platform-id 3E920003 and inject Intel = Yes in Clover, no need for spoofing a fake id anymore. Now iMac18,3 works best with AMD. Intel only users should use iMac18,1 instead.
The best setting for iTunes and why it is the worst for Final Cut:
Just do the same thing as for FinalCut, put Shiki.kext into your Clover/kexts/other folder and add -shikigva boot argument. You can use -shikigva=1 or 2 or 12 it will work either way. Now you can watch movies with iTunes, yay! But it has some sideeffects. You cannot use this setting when seriously editing with Final Cut.
While this works by tricking macOS to use the IntelGraphics to play protected video content, it doesn’t seem to be the way real Macs are doing this. As soon as you open FinalCut you will notice (check this with iStats or HWMonitor) that the Intel graphics is not or only barely utilized under certain circumstances depending on your material. Instead cpu usage skyrockets, indicating that slow software rendering is used instead of hardware encoding through Intel graphics. To make it worse the Radeon still “thinks” there is an Intel graphics helping so it does not run at highest potential.
Wifi and Bluetooth
With Mojave PB4/DP5 Bluetooth stopped working with Rehabman's kext, my MagicMouse simply isn't connecting anymore. I decided to finally remove the card because handoff isn't working anyway these days with M.2 or NGFF bluetooth on High Sierra or Mojave (tried several ones "the internet" claims they would work oob but they do not ;)). That is what I wanted Bluetooth for. If you need Wifi I recommend you go with a cheap Wifi-only card, you don't need to pay 30 or 40 $ for dual cards that won't work the way they were intended to work. If you are on a micro ATX board and can have a graphics card plus PCIe Wifi/BT-card that actually connects to a physical USB port on you're board then you may be lucky enough to have handoff working as expected. I'm having a wifi repeater laying around with an ethernet port in case I may need wifi someday on my hack.
I swapped the Intel Wifi card that was coming with the mainboard plugged into the onboard M.2 port with a compatible Dell card. The DW1830 or BCM943602BAED. The wifi part runs half way out of the box, but if you want the card to appear as Apple AirportExtreme and set the country code according to your country you need to put FakePCIID_Broadcom_WiFi.kext into Clover/kexts/other and add some Clover kext-to-patches by PMHeart.
Find: 75166644 3BA3581A 0000750C 4183FE04 7406
Replace: 66906644 3BA3581A 00006690 4183FE04 6690
Comment: AirPortBrcmNIC - PCIe in 10.13.x
Find: 4183FCFF 7435488D 55D0
Replace: 66C70644 45EB348D 55D0 (*this is for DE country code, change for your need)
Comment: BCM4352-Country Code
Bluetooth will work thanks to Rehabman’s kexts. You’ll need BrcmPatchRAM2.kext and BrcmFirmwareData.kext OR BrcmFirmwareRepo.kext. The Data.kext can be injected through Clover, just throw it into the kexts/other folder, the Repo.kext has to be installed in /Library/Extensions on your mac drive, it won’t work with Clover. I had issues with the Data.kext, Bluetooth was gone on every second or third reboot. The Repo.kext is more reliable, haven’t had any issues yet. I really don’t like the kexts to be installed in my system but I guess I have to live with it for the time being.
Oh, handoff and continuity don’t work, doesn’t matter that system profiler shows them as enabled. At least it works in one way: the mac can handoff Safari pages to my iPhone, but not the other way around. Documents opened on my phone show up in the dock, but they are not loaded.
This issue is around since at least High Sierra and from what I’ve read Rehabman is not going to fix this, because he founds this features not worth it. I have to disagree, these are very convenient and valuable features if you work with desktop, laptop and tablet in different situations, I miss this capability very much!
Audio works with Lilu.kext plus AppleALC.kext and you need to inject Layout ID=1 in Clover if you don't use a patched DSDT. For Mojave use the boot setting -lilubetaall to force the kexts to load. If you like to have DP or HDMI audio add a HDAU device to your dsdt (see mine for reference). There's an audio patch already added in my DSDT, so you don't need to use the Clover patch.
Credits go to this great community! I hope I mentioned everyone in this guide whose insights made this hack possible. If I have forgotten someone please let me know!