Contribute
Register

[Guide] HP Envy Haswell series J/K/Q/N using Clover UEFI (10.11)

Status
Not open for further replies.
Start over and follow the guide as written. Do not do things that are not called for by the guide.

I am not going to lie I gave up after doing it for the second time today. I followed the guide and everything.

my gf however redone it and blow me with a whale it works. sound works wifi works Seirra works. so if that helps you can put that it now works for Sierra too if your not a Pratt like me.

thank you for helping me through the 30 odd posts.
 
I am not going to lie I gave up after doing it for the second time today. I followed the guide and everything.

my gf however redone it and blow me with a whale it works. sound works wifi works Seirra works. so if that helps you can put that it now works for Sierra too if your not a Pratt like me.

thank you for helping me through the 30 odd posts.

LOL!

Yes... it works for Sierra too, except for the unsolved problems here: https://www.tonymacx86.com/threads/readme-common-some-unsolved-problems-in-10-12-sierra.202316/
 
Keyboard Mapping

The mapping for Control, Option, and Command are according to the physical layout of the keys on an actual MacBook keyboard, not the labels on the keys. Control=Control, Windows=Option, and Alt=Command. If you want a more PC friendly keyboard layout, use Karabiner (formerly KeyRemap4MacBook).

Hi, i'm using karabiner for mapping my keyboard. I read that we can use it to toggle video mirroring. I use ConsumerKeyCode::VIDEO_MIRROR but seems not working. Any Help for his?

Thanks
 
Hi, i'm using karabiner for mapping my keyboard. I read that we can use it to toggle video mirroring. I use ConsumerKeyCode::VIDEO_MIRROR but seems not working. Any Help for his?

Thanks

You would first have to make the keyboard driver generate a function key (pick one that is unused like F16). You can do that by customizing the keymapping in "Custom PS2 Map" and "Custom ADB Map".
 
You would first have to make the keyboard driver generate a function key (pick one that is unused like F16). You can do that by customizing the keymapping in "Custom PS2 Map" and "Custom ADB Map".

my F7 key already generate a 41=62 in console

FYI, i have another ConsumerKeyCode working, like brightness, volume, etc
 
my F7 key already generate a 41=62 in console

FYI, i have another ConsumerKeyCode working, like brightness, volume, etc

41 is PS2 for F7.
62 is ADB for F7.

Your problem is likely with Karabiner itself. Contact the author.
 
unsolved problems here

found out not to update. Although its held up pretty well just wifi not working so good job on that 10.12.1
 
Overview

The purpose of this guide is to provide a step-by-step guide to installing El Capitan or Yosemite on the HP Envy J/K/Q series Haswell laptops. I no longer have the laptop, but original work was done when I had an HP Envy 15-J063CL.

Note: Envy N series Haswell is newly supported. Should be considered 'beta'.

Since I no longer own the laptop, I have not been able to personally test the scripts. Much of the work is based on my work with the Lenovo u430 and much of it carries over (in fact, to any similar laptop), so it should work, but there can always be small details that need adjusting. I'd appreciate accurate and detailed feedback to make the guide better. At this point, it has been tested and verified on several laptops with success.

Note: This guide will also work with Mavericks, although that is not my primary testing target.

Computer Specifics
HP Envy 15-J063CL (Costco)
i7-4700MQ @2.4Ghz, 12GB RAM
HM87 chipset
HD4600 graphics (1080p panel)
BCM4352 ac WiFi
RTL8111/8168/8411

Some early background/development is here: http://www.tonymacx86.com/mavericks...-locked-msrs-hp-envy-15-j063cl-i7-4700mq.html

Original Yosemite guide thread: http://www.tonymacx86.com/yosemite-...nvy-haswell-series-j-k-using-clover-uefi.html


What you need

- Haswell HP Envy J-series (now confirmed to work for K-series as well, Q-series too, N-series beta)
- OS X El Capitan or Yosemite downloaded from the Mac App Store
- 8GB USB stick
- (optional) 32GB USB stick for HP OEM backup
- Broadcom BCM94352(HMB) for native WiFi


BIOS settings

To start, set BIOS to Windows 8 defaults.

Then insure:
- UEFI boot is enabled
- secure boot is disabled
- enable Legacy Boot (but UEFI first) and you may experience less boot time glitches

If you own the laptop, please help with any additional required BIOS settings that may be required.

Note: The DSDT/SSDT patching script will automatically disable the discrete nVidia card if you have it enabled in BIOS. It is best, therefore to keep it enabled in BIOS so you can still use it on Windows, but have DSDT/SSDT patched properly for OS X.


Preparing USB and initial Installation

Prior to installing OS X, it is a good idea to create an OEM recovery USB from Windows. If anything goes wrong and you want/need to get back to Windows, you can restore it via the USB. Use the utility provided by HP to accomplish this.

You can also leave Windows intact, but it can get tricky. Read here for more information: http://www.tonymacx86.com/multi-booting/133940-mavericks-windows-8-same-drive-without-erasing.html

This guide for creating USB and installing using Clover UEFI works well for this laptop: http://www.tonymacx86.com/el-capita...de-booting-os-x-installer-laptops-clover.html

Special notes:

- Definitely copy RealtekRTL8111.kext to Clover/kexts/Other as having network support during post-install is helpful. The rest of this guide depends on it. An alternate is to copy FakePCIID.kext and FakePCIID_Broadcom_WiFi.kext to Clover/kexts/Other. This will enable WiFi, provided you have the BCM94352HMB WiFi card already installed.

Note: FakePCIID.kext and FakePCIID_Broadcom_WiFi.kext are available here: https://github.com/RehabMan/OS-X-Fake-PCI-ID

- GenericUSBXHCI.kext is not necessary with this laptop since AppleUSBXCHI.kext appears to work well natively. Also, GenericUSBXHCI.kext does not work on 10.11, so do not use it.

- Use the 'createinstallmedia' approach. It works well, and there is little chance for pilot error. This method also gives you an OS X recovery partition.


Post Installation

Install Clover UEFI as described in the guide linked by the previous section (post #2). After installing Clover, and configuring it correctly (config.plist, kexts, etc) you should be able to boot from the HDD/SSD.

But there are still many issues and devices that won't work correctly. For that, we need to patch DSDT, provide a proper config.plist, and install the kexts that are required.

Since you have RealtekRTL8111.kext already injected by Clover, you should have internet access simply by using an Ethernet cable to your router. Plug it in and make sure you have internet access before continuing. Or if you're using FakePCIID_Broadcom_WiFi.kext, you can connect to your WiFi router before continuing.

Installation of the tools and patching is easy provided the scripts and tools at the HP Envy repository: https://github.com/RehabMan/HP-Envy-DSDT-Patch (J-series), or https://github.com/RehabMan/HP-Envy-K-DSDT-Patch (K-series), or
https://github.com/RehabMan/HP-Envy-Q-DSDT-Patch (Q-series), or
https://github.com/RehabMan/HP-Envy-N-DSDT-Patch (N-series)

To start, the developer tools must be installed. Run Terminal, and type:

Code:
git

You will be prompted to install the developer tools. Since you have internet working, you can choose to have it download and install them automatically. Do that before continuing.

After the developer tools are installed, we need a copy of the appropriate project.

In Terminal:
Code:
mkdir ~/Projects
cd ~/Projects

If you have an Envy-J series:
Code:
git clone https://github.com/RehabMan/HP-Envy-DSDT-Patch envy.git

If you have an Envy-K series:
Code:
git clone https://github.com/RehabMan/HP-Envy-K-DSDT-Patch envy.git

If you have an Envy-Q series:
Code:
git clone https://github.com/RehabMan/HP-Envy-Q-DSDT-Patch envy.git

If you have an Envy-N series:
Code:
git clone https://github.com/RehabMan/HP-Envy-N-DSDT-Patch envy.git

Now it is time to install some more tools and all the kexts that are required...

In Terminal:
Code:
cd ~/Projects/envy.git
./download.sh
./install_downloads.sh

The download.sh script will automatically gather the latest version of all tools (patchmatic, iasl, MaciASL) and all the kexts (FakeSMC.kext, IntelBacklight.kext, ACPIBatteryManager.kext, etc) from bitbucket. The install_downloads.sh will automatically install them to the proper locations.

If you wish, you can reboot to verify a few more items are working (many only partially).

With the current project, no patched DSDT/SSDTs are used. Instead I use Clover hotpatches and a small SSDT called SSDT-HACK.

In Terminal:
Code:
cd ~/Projects/envy.git
make
make install

The 'make' causes the SSDT-HACK.aml files to be compiled (with iasl), the results placed in ./build.

Finally, 'make install', mounts the EFI partition, and copies the built files where they can be loaded by Clover (to EFI/Clover/ACPI/patched).


Power Management

Use the ssdtPRGen.sh script by Pike R. Alpha: https://github.com/Piker-Alpha/ssdtPRGen.sh

Instructions for using it are provided in the README.

The generated SSDT.aml should be placed on the EFI partition at /EFI/Clover/ACPI/patched/SSDT.aml.

Based on the current instructions at the README, what follows is a synopsis...

To prepare, you only need to do the first two commands:
Code:
cd ~/Projects/envy.git
curl -o ./ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh
chmod +x ./ssdtPRGen.sh

Then you can run the script:
Code:
./ssdtPRGen.sh

When it asks if you want to copy to /Extra just respond 'n'. Same for opening ssdt.dsl... respond 'n'.

The results are at ~/Library/ssdtPRGen/SSDT.aml.

Copy that file to EFI partition, /EFI/Clover/ACPI/patched/SSDT.aml

Code:
cd ~/Projects/envy.git
sudo ./mount_efi.sh /
cp ~/Library/ssdtPRGen/ssdt.aml /Volumes/EFI/EFI/Clover/ACPI/patched/SSDT.aml

Also, be aware that hibernation (suspend to disk or S4 sleep) is not supported on hackintosh.

You should disable it:
Code:
sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage
sudo mkdir /var/vm/sleepimage

Always check your hibernatemode after updates and disable it. System updates tend to re-enable it, although the trick above (making sleepimage a directory) tends to help.


Final config.plist

Up to now, you've been using the same config.plist we were using for installation. After all the APCI files are in place (previous two steps), you're ready to use the final config.plist from the Envy repo.

First, mount the EFI partition:
Code:
cd ~/Projects/envy.git
sudo ./mount_efi.sh /

Then copy the file:
Code:
cd ~/Projects/envy.git
cp config.plist /Volumes/EFI/EFI/Clover/config.plist

You could also copy the file using Finder.

After copying the config.plist from the repo to EFI/Clover/config.plist, you should customize the SMBIOS so you have a unique serial. You can use Clover Configurator to do this (use google to find/download it). DO NOT use Clover Configurator to edit your actual config.plist. Instead edit a "dummy" config.plist to create the SMBIOS data and then use copy/paste with a plist editor (I use Xcode) to copy the SMBIOS section into my active config.plist. Clover Configurator is too buggy and cannot be trusted with edits to your real config.plist. This guide uses MacBookPro11,1. Do not use any other model identifier.


Do not stop reading

Although most of the post-install tasks are done, continue to read this guide. It it has important information you should know about.

Be sure to visit "Known Problems", especially the instructions in the "Audio:" section. Typically, even after completing all the above tasks, audio will not work on the first reboot. You must follow the specific instructions in that section in order to get the audio kexts in cache.

In the case of a problem, don't bother asking about with without all files requested in "Problem Reporting".


WiFi using BCM94352HMB

My Envy came with BCM94352HMB WiFi/bluetooth combo card. It works well.

The ./download.sh and ./install_downloads.sh script have both been updated to install the necessary kexts for BCM94352HMB. The config.plist contains the patches required for WiFi 5Ghz and Bluetooth handoff features. The patch in config.plist for 5GHz is the US/FCC patch by the-darkvoid. If you're not in the US, you might consider a different patch. Read here: http://www.tonymacx86.com/network/104850-guide-airport-pcie-half-mini-v2.html


Updates to the patch repositories

From time to time, updates may become available to the Envy or laptop patch repositories. In the event of such updates, you may want to update your copies, and re-patch DSDT/SSDT with the updates.

Since you're using git, it is easy...

In Terminal:
Code:
cd ~/Projects/envy.git
git pull
./download.sh
./install_downloads.sh
make
make install


What works

I have tested the following features:
- UEFI booting via Clover
- built-in keyboard (with special function keys)
- built-in trackpad (basic gestures)
- HDMI video/audio with hotplug (please verify, the patches came from the u430 repo and may need tweaking depending on the port used on the Envy)
- AirPlay mirroring to AppleTV
- native WiFi via BCM94352HMB
- Bluetooth (with handoff) using BCM94352HMB
- native USB3 with AppleUSBXHCI (USB2 works also)
- native audio with AppleHDA (using injector for easy updates), including headphone
- built-in mic
- built-in camera
- native power management
- battery status
- backlight controls with smooth transitions, save/restore across restart
- accelerated graphics for HD4400 including OpenCL
- wired Ethernet
- Mac App Store working
- screen works without flicker (contrary to HP ProBook)
- touchscreen (single touch only)

Not tested/not working

The following features have issues, or have not been tested:
- Messages/FaceTime (not tested, see guide: http://www.tonymacx86.com/general-help/110471-how-fix-imessage.html)
- some special Fkeys not working (??)
- card reader is not working


Known Problems

Find My Mac/Locking: Find My Mac does not work properly. Don't lock your mac because it's difficult (or impossible) to unlock again.

Slow WiFi after sleep/wake cycle: Disable "Wake for network access" in SysPrefs->Energy Saver.

Audio: After installing new/updated kexts or after the initial installation, you may lose audio.

To fix:
- reboot without caches (hit space at Clover, select without caches)
- rebuild cache
Code:
sudo touch /System/Library/Extensions && sudo kextcache -u /
- reboot normally (if needed, two times)

Audio subwoofer: The subwoofer doesn't work, requires more work on AppleHDA. There were additional audio solutions created after I sold the laptop. More info here: http://www.insanelymac.com/forum/topic/290687-wip-hp-envy-17t-j000-quad-haswell-10851091010/

Audio (K-series): The internal mic does not work. It appears the ALC290 (provided by Mirone) does not quite match up with the K-series audio codec dump from Linux. A custom patch will be required. Those with the skills should look into it.


Other post-install tasks

Trackpad: Be sure to visit the options in SysPrefs->Trackpad and change them to your liking.

Trackpad three finger support: You can configure three finger swipes in SysPrefs->Keyboard->Shortcuts. Instead of pressing keys for a given function, do the three finger swipe (up/down/left/right).

Disable trackpad when using an external mouse: The latest script installs the VoodooPS2Daemon. It allows you to disable the built-in trackpad when a USB mouse is plugged in. Just check the box in SysPrefs->Accessibility->"Mouse & Trackpad".

Bluetooth: If you get the Bluetooth Setup Assistant popup, go to SysPrefs->Bluetooth->Advanced, uncheck the boxes.


Keyboard Mapping

The mapping for Control, Option, and Command are according to the physical layout of the keys on an actual MacBook keyboard, not the labels on the keys. Control=Control, Windows=Option, and Alt=Command. If you want a more PC friendly keyboard layout, use Karabiner (formerly KeyRemap4MacBook).

Brightness up/down are implemented with DSDT patches and my VoodooPS2Controller. Mirror Toggle is also implemented. Since I don't have the laptop, I forget the physical keys used.

The function of Fn+F1..F12 and F1..F12 can be changed in SysPrefs->Keyboard.


Major updates

For example... 10.10 to 10.11.

First step should be to update to the latest repository.

To do so:
Code:
cd ~/Projects/envy.git
git stash
git pull
make
make install
./download.sh
./install_downloads.sh

Also update Clover to the latest using the Clover installer. Be sure to fix EFI/Clover/kexts, so that only EFI/Clover/kexts/Other is existing. All version specific directories under EFI/Clover/kexts should be removed.

Also update config.plist at EFI/Clover/config.plist to the latest content from the repo. Be sure to retain your own SMBIOS data at config.plist/SMBIOS.

Now you can update via the App Store. Just boot the installer/updater upon restart.

After updating, run ./install_downloads.sh again:
Code:
cd ~/Projects/envy.git
./install_downloads.sh


Mavericks compatibility

This guide will also work with Mavericks.

Here are some notes/exceptions regarding Mavericks:
- not much testing with Mavericks
- FakePCIID_HD4600_HD4400.kext is installed on Mavericks even though it is not needed (doesn't seem to do any harm)
- AppleHDA_IDT76e0_Envy.kext must be regenerated for Mavericks (note: K-series uses AppleHDA_ALC290.kext).

The AppleHDA_IDT76e0_Envy.kext injector checked into the project is for the current version of El Capitan.

To regenerate it under Yosemite/Mavericks:
Code:
cd ~/Projects/envy.git
rm -Rf AppleHDA_IDT76e0_Envy.kext
make AppleHDA_IDT76e0_Envy.kext
make install_hda

That will generate AppleHDA_IDT76e0_Envy.kext in the envy.git project directory and install it to /S/L/E. You can also install it with ./install_downloads.sh or with Kext Wizard if you wish.

Note: I've never tested it, but the guide will likely work for Mountain Lion 10.8.5 as well.


Problem reporting

If you have an issue with DSDT patching, you'll need to provide your native DSDT/SSDTs.

Other problem reports should be accompanied by various files that allow your progress to be accounted for...

In terminal,
Code:
rm -Rf ~/Downloads/RehabMan
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract

Post contents of Downloads/RehabMan directory (as ZIP).

Also, post ioreg: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.

And output from:
Code:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
kextstat|grep -y applelpc
kextstat|grep -y applehda

Also, press F4 at the main Clover screen, then compress and post the EFI/CLOVER folder in use. And please, in order to reduce the size, omit EFI/Clover/themes... especially if you have an overabundance of themes installed.

Also post output of:
Code:
sudo touch /System/Library/Extensions && sudo kextcache -u /
is there any video tutorial?
 
if anyone have the problem of high pitch noise?
today i switched SDD from my old HDD
then i boot my device up after re-install hackintosh
a very loud high pitch noise appear,not gonna go away
do u guys know how to fix this?
not gonna happen when booting on HDD
(just found out the problem is come from the internal speaker, i tried to remove those sound kext, no high pitch noise coming out anymore, but is there a way to fix this properly?)
 
Last edited:
Status
Not open for further replies.
Back
Top