The
HP Elite X2 1012 G2 — Still the best tablet macOS experience IMO (The next gen Elite X2 1013 G3 has soldered Wifi! Boo! Dell has a couple good options but their screens are low res and the build quality isn't quite as nice). Anyway, hot patching makes things easy to replicate so here’s the abbreviated guide…
Hardware Considerations
As always, the WiFi needs to be replaced. The Dell DW1560 is really the only choice that makes sense. The DW1830 physically won’t fit and while the DW1820a *can* be made to work, it’s not worth the effort or the potential compatibility problems down the road (it takes a kext from a previous version of OS X to get it going). It’s also best to replace the NVMe drive with a plain old SATA SSD. The battery life hit you take by using the NVMe drive isn’t worth any speed benefit you may get. Let’s face it, if you need that sort of speed, then you probably need more CPU than is available in this package.
BIOS setup
Update to the latest (as of this writing, 1.25 rev A for the G2 / 1.32 for the G1). Be sure to disable secure boot so you can install, disable fastboot and up the DVMT to 64MB. Other than that, the settings don’t matter a ton. I disable all the cameras / fingerprint sensor / sd card reader, etc, since they aren’t functional in macOS and they will consume some battery power otherwise.
USB Prep
Download the latest Mojave (10.14.4 as of now) and use the createinstall media method to create your installer. When installing clover to your USB, make sure to use v4920 or greater and select UEFI. Then simply replace the Clover folder with the one attached to this post. In the config.plist, adjust the ig-platform-id and Apple model to suit your specific device, G1 or G2 (I suggest MacBook9,1 / 00001e19 for the G1 and MacBookPro14,1 / 00001659 for the G2). It’s also probably a good idea to sort out the serial number and MLB at this time as well. Clover Configurator makes it simple to find a good serial number, once you have it use it in the MLB section as well and add 5 random hex characters / numbers to the end. Regardless, to minimize the chance of any issues with your Apple ID / iMessage, it is best not to connect to any networks until you’ve sorted out any post install issues. Also, add back the dart=0 boot flag if you kept Virtualization enabled in the BIOS. And lastly, if you have the G1, use the separately attached SSDT-UIAC instead of the one in the Clover zip.
Installation
If you swapped out your SSD, then after the install USB boots up, simply format / partition the SSD however you like. Bear in mind that if you plan to dual / triple boot, only use OS X partition types for now or otherwise you will end up with a hybrid disk and you won’t be able to install any other OS’s later on. If you plan to keep the stock drive, chances are the boot partition is too small. Starting fresh is probably best, but macOS’s Disk Utility doesn’t cope well with erasing it. However, you can use the Terminal and ‘dd’ to overwrite it. This will wreck the stock Windows installation so back up whatever you had on there and reinstall after you install macOS if you intend to dual boot.
Post Install
Not much to do here, install Clover to the internal drive (selecting UEFI again) and copy over the included Clover folder. Seems the best technique is to install all the kexts to /Library/Extensions/ and leave everything *but* VoodooI2C/VoodooI2CHID/AlpsT4USB in /CLOVER/kexts/Other/; then set 'Inject Kexts' to 'Detect' in the config.plist. Rebuild the kextcache and reboot. You'll get the benefit of booting with the kernel cache, but will still be able to boot via kext injection if something goes wrong with the cache as well as update without issue.
Oddities
There are some boot flags in the config that help with Bluetooth wake from sleep. USB-C hot plug works like a champ, but shows up as an express card icon in the menu bar. I just acquired a TB3 to displayport device and can confirm that with the current config, you can insert a TB3 device and it will work. However, you will get a kernel panic on unplug. This is expected behavior as a real mac has the TB3 controller powered at all times and the OS KPs when it is powered down unexpectedly. To avoid this simply shutdown your tablet before unplugging the TB3 device. And of course, still no pressure with the stylus. We still collect the data, but Apple removed the bits that passed it to the OS back in Sierra and every attempt I've made to get it back have failed. Gotta go back to 10.11 if you need the pressure to work and since we are hot patching, the Clover folder will very likely work.
Future Items
I may look into hibernation at some point. I also have a couple different WWAN cards on the way and will update with any findings.
*** Edit 5/1/19 -- Recompiled the Bluetooth kext to include the fix outlined here --
https://www.tonymacx86.com/threads/guide-how-to-fix-bcm94352z-dw1560-bt-lost-after-sleep.276501/
On my machine, this also eliminates the boot glitch completely for some reason.
*** Edit 5/3/19 -- After more testing it seems that the wake from sleep issue happens regardless of which combo you use FakeSMC/ACPIBatteryManager or VirtualSMC/SMCBattery. It also appears to be USB related, possibly because the charge port is USB 3.1 / TB3.
*** Edit 5/7/19 -- The issue with charge state seems to have been due to incompatible BIOS settings that lingered after the BIOS upgrade (very likely hidden settings). If you have any of those issues, then reset your BIOS to factory defaults and set it up from scratch.
*** Edit 5/18/19 -- I ported the Linux driver for our vendor defined Alps touchpad to allow native multitouch using VoodooI2C's MT2 engine. The AlpsT4USB.kext must be placed in /Library/Extensions along with the latest VoodooI2C / VoodooI2CHID (as of now v2.1.6). It will not work injected from Clover. It's added to the zip in this post but source and release here -
https://github.com/blankmac/AlpsT4USB/releases It should also work for the Elite X2 1012 G1 but it's only been tested on the G2.
*** Edit 5/23/19 -- Changed the audio layout from 3 to 21 to fix the headphone jack on the G2.
*** Edit 6/14/19 -- Update AlpsT4USB.kext to latest.