Hello
@excelon
Sorry this is coming rather late, it took a while for my Wi-Fi card to get to me. As Rehabman pointed out in the other thread, sharing DSDT/SSDT is not the best option when choosing to configure hackintosh, even with the same laptop models. A simple modification in BIOS settings, or some internal hardware replacement could cause a change in the DSDT/SSDT files. Further more, my DSDT wouldn’t be considered vanilla anymore since I’ve swapped my Wi-Fi card and the SATA HDD with an SSD. With that said, I will give an overview of what I did to get mine to this (mostly working) stage. Please take note that I’m not running High Sierra on this laptop, I never tried it since Mojave was stable when I started installation, so I’m running on Mojave.
The
Booting the OS X installer on LAPTOPS with Clover guide covers installation of macOS Mojave onto flash drives. My BIOS settings are visible in the pictures below. I used RehabMan’s Clover build available on his
repo (this is optional, the default clover build should work just fine). Essential kext’s installed into EFI/CLOVER/kexts/Other include the following:
- FakeSMC.kext
- Lilu.kext
- RealtekRTL8111.kext
- VoodooPS2Controller.kext
- WhateverGreen.kext
The config.plist used,
config_HD615_620_630_640_650.plist can be found in RehabMan's
laptop repo. Download links for the essential kexts can be found in the Clover guide linked above. BIOS settings used are in the pictures below:
I installed Clover onto the hard drive afterwards. Essential kexts are installed to /Library/Extensions again (I prefer terminal for kext installations. This is optional, a good kext installer app should work as well). At this point, many things should already be working. Fixes for the some that aren't are detailed below.
Power Management
There's very little to do in terms of power management since the Clover guide above is used. The guide followed can be found
here. The only step required from the guide is disabling hibernation. Run in terminal:
Bash:
sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage
sudo mkdir /var/vm/sleepimage
sudo pmset -a standby 0
sudo pmset -a autopoweroff 0
Extracting & Patching DSDT/SSDT
Basically, I followed RehabMan's guide
here. It's a good idea to download the whole of RehabMan's laptop
patches repo, because (almost) all the patches are from there. The steps I followed are summarised below:
- Extract ACPI files using Clover's F4 option.
- Separate SSDT/DSDT files from other ACPI files.
- Install iasl and MaciASL according to the guide
- Disassemble using:
iasl -dl DSDT.aml SSDT*.aml
- Fix DSDT.dsl compilation by removing the firmware errors / external declaration error comments at the top of the file.
- Apply general DSDT patches + problem specific patches (see below)
- Export as AML and move to EFI/CLOVER/ACPI/patched
General DSDT patches
After fixing errors in DSDT, some general patches are applied. These patches can be found in /system of the laptop patches repo. The file names are:
- system_WAK2.txt
- system_HPET.txt
- system_SMBUS.txt
- system_IRQ.txt
- system_RTC.txt
- system_OSYS_win10.txt
- system_Mutex.txt
Problem specific patches
Most of the patches are applied to DSDT, only SSDT-13-8259 required patching while disabling the discrete graphics card.
Battery
RehabMan's battery
guide helped with battery status / charging & discharging. Basically, ACPIBatteryManager.kext is to be
dowloaded and installed in /Library/Extensions. Afterwards, the DSDT battery patch used can be located in the /battery directory of laptop patches repo. The file name is
Battery_HP_G6_2221s.txt.
Note that the patch doesn't work without uncommenting the ACEL line at the beginning of the patch. The line is right at the end of the block that reads
Note: some may require this patch
An EC reset would probably be needed after applying the patch. The process involves shutting down, unplugging all connected devices, then holding the power button until the laptop comes up and goes off back.
Disable discrete graphics
To prevent the NVIDIA graphics card from drawing power unnecessarily, it can be disabled by applying an SSDT patch. The guide
here covers the implementation. All that's to be done is apply the patch found in /graphics directory of the laptop patches repo within the file named
graphics_INI-disable.txt. The patch is to be applied to
SSDT-13-8259.dsl.
Brightness control / keys
I followed
this guide to enable brightness slider in system preferences. The steps include installing AppleBacklightFixup.kext to /Library/Extensions and putting SSDT-PNLF.aml in EFI/CLOVER/ACPI/patched. Download links for both can be obtained from the thread.
For brightness keys, the ACPI patch below can be used. It was gotten from
another guide, and it is to be applied to DSDT.
Code:
into method label _Q10 replace_content
begin
// Brightness Down\n
Notify(\_SB.PCI0.LPCB.PS2K, 0x0405)\n
end;
into method label _Q11 replace_content
begin
// Brightness Up\n
Notify(\_SB.PCI0.LPCB.PS2K, 0x0406)\n
end;
Audio
AppleALC and
Lilu (already installed above) kexts enable audio. I followed this
guide. After installing both kexts to /Library/Extensions, config.plist have to be edited (use a plist editor, I use PlistEdit Pro). The changes are:
- Under Devices -> Properties -> PciRoot…(0x1f,0x3), change
layout-id
to 0D000000
. This signifies codec layout 13 in hex. Layout 28 also works.
- Under Devices -> Properties -> PciRoot…(0x2,0x0),
AAPL,ig-platform-id
should be 00001B59
. And device-id should be 1B590000.
CodecCommander needs to be installed to enable swapping from headphones to speakers and vice-versa. CodecCommander kext can be downloaded from
here. Right-click the kext file and select 'show package contents', the Info.plist file inside the Contents folder have to be edited, so as to include our codec (ALC295). Using a plist editor is advisable.
- Under IOKitPersonalities -> CodecCommander -> Codec Profile, duplicate the
10ec_0292
profile. Then change the key and value to match 295 instead.
- Under IOKitPersonalities -> CodecCommander -> Codec Profile, duplicate the dictionary for the
Realtek ALC292
profile. Rename the string value for the key to match 295 instead.
Save the file and install the kext into /Library/Extensions, rebuild kernel cache
sudo kextcache -i /
and reboot twice. Audio should be enabled by now, but the volume is low. I haven't found any fix for this bug. A workaround I've been using is the Boom 3D app (with its drivers), it boosts up the volume and you can enable it on start-up.
If running a dual boot with Windows 10 (like I am doing), macOS might lose audio after restarting from Windows. The fix for this is uninstalling the Realtek sound drivers in Windows device manager, leaving only Microsoft sound drivers. The volume takes a little hit with this fix, but it's tolerable.
Wi-Fi / Bluetooth
The built in Wi-Fi card that came with the HP Omen does not work with macOS, as expected. I bought the Broadcom BCM Wi-Fi card BCM94352Z from
AliExpress. The card is a Wi-Fi/Bluetooth combo. You can also get it from Amazon based on which is closer to your location. Videos showing the laptop being opened up can be found on YouTube. After installation, the following kexts are to be installed:
The last kext should enable Airdrop and other continuity features. (the Airdrop bar shows up and attempts to establish a connection with a compatible device, but I don't have a compatible device to test).
HDMI
I haven't gotten HDMI display working. I have tried swapping my SMBIOS (from MacBookPro 14,3 to 14,1) with no luck. I even temporarily enabled my NVIDIA card back but still got no visuals. The reason for this might be very simple: HDMI video is tied to the discrete card. I have tested HDMI on Windows (it works) while checking device manager. So, I can confirm HDMI is being attached to the discrete GPU. What I don't know is if it can be configured to attach to the Intel GPU since the NVIDIA device has been disabled. This is the only feature (afaik) not working on this hackintosh. If I run out of options on getting it fixed, I'd open a new support thread for the issue.
SMBIOS
SMBIOS data can be generated using Clover Configurator app. It's essential to generate one very close to the laptop hardware specs. The config.plist file from the clover guide comes with a minimal MacBook Pro 14,1 SMBIOS data, but I found MacBook Pro 14,3 to be much closer to the hardware. Based on the SMBIOS used, there might be delays when logging in and entering admin password in authentication dialogs. User
@GffMaC notified me of this and its fix. The reason for the delay is the Touch ID feature, it can be disabled by installing a Lilu plugin kext named
NoTouchID.
I'll try to update this post if I get any new updates.