Contribute
Register

[WIP-Guide] HP ENVY x360 13-y013cl - i7-7500U Kaby Lake

Status
Not open for further replies.
Seems most of you ignore the SSDTs, creating one for NVMe and CPU only. On the DSDT, I was removing the second BNUM, following Rehabman's suggested patches, but I'd like to crowdsource the best practices for patching this laptop, as well as preferred L/E kext lists, as I'm periodically having the sound fail (grey speaker menu bar icon), and only multiple reboots seem to get it back.

Also, am I right that only the Spectre supports Windows Hello? My Envy x360 shows not eligible in the settings. :(

I patch DSDT and all SSDT's except dynamic ones, right now id say that my build is still WIP ... for sound use Mirone's patcher utility ... see this thread .... Select Laptop CODEC - Realtek ALC 295

https://www.tonymacx86.com/threads/...er-wake-from-sleep.215742/page-2#post-1484638

Ensure your Apple HDA is vanilla and use the dummy HDA kext and generated codec commander along with the generated clover patches.... I worked with Mirone personally on getting working ALC 295 support and i have no sound issues at all.

If you have a basic and functional build then it might be worth holding off going much further with it as High Sierra is going to be a game changer for those with Kaby Lake CPU laptops .... right now many things are workarounds (such as fake ID injection ..etc) to get Kaby lake support working but once we get hold of the High Sierra release we will be able to have most things Native which should improve stability even further and unlock more features of our laptops chipset.

Cheers
Jay
 
Do the aDummyHDA.kext and CodecCommander.kext go in both clover (Kexts - Other) and L/E? And for the patches, is it just the config.plist patch created automatically that I need, or do I also need to manually add the HDEF_patch & system_IRQ? Asking because I'm not having any success with a number of combinations I've tried. My AppleHDA in S/L/E is untouched. I've been putting most of my clover kexts also in L/E given I have 12.5, and read that was the better way to do it than S/L/E, though it's all new to me.
 
Do the aDummyHDA.kext and CodecCommander.kext go in both clover (Kexts - Other) and L/E? And for the patches

Hi Dave,

You should always put any kext's needed by the system in /S/L/E, so that they will be cached, put the dummy hda and CC kext in /S/L/E using Kext Utility or similar which will reset the permissions and rebuild the kext cache. You should only ever have kext's in one location - kext's required to boot OSX should go in Clovers kexts folder (/EFI/C/K/10.12) in my case i only have two, FakeSMC and HackrNVMeFamily-10_12_5, many people mistakenly put all their injected kext's in this location which is bad practice as they cant be cached and will slow down boot up.
Is it just the config.plist patch created automatically that I need, or do I also need to manually add the HDEF_patch & system_IRQ?

You cant use the generated config.plist as is, it only contains the HDA patches so load it into an editor, i use text wrangler (now called now BB Edit i think) and cut and paste the kext patches (there are usually three) in to the kext patching section of your existing config plist, remove any existing ones to do with audio ... you do not need the generic 200 kaby lake chipset audio patch.

Save the file and then check that the syntax is correct by loading it into Clover Configurator as long as the patches (and everything else) is viewable in CC then you should be good to go, if you cant see anything in Clover Configurator then you have a syntax issue in your config.plist which you will have to fix manually.

The HDEF_patch & system_IRQ ACPI fixes are needed but generally these are done when you patch you DSDT, only add/select them in clover if you have not already patched your DSDT with these fixes.

Cheers
Jay
 
Last edited:
I don't know if anyone is still looking for a fix for the kernel panic caused by booting from the nvme drive, but I've found a pretty clean one:
Use a Linux installation or live USB to download the efitools package, then copy the file /usr/share/efitools/efi/PreLoader.efi to your CLOVER folder. Rename the CLOVERX64.efi file to loader.efi. Then, use efibootmgr to add a boot entry pointing to the PreLoader.efi file. Make sure secure boot is disabled.

PreLoader.efi is hardcoded to chainload the file loader.efi in the same folder. From what I can tell, HP invokes a sort of diagnostic mode (like what jaymonkey was talking about) when an efi binary tries to load drivers for the touchpad. Chainloading clover, rather than loading it directly, seems to prevent it from loading touchpad drivers and prevents the kernel panic.
 
JayMonkey, I think that perhaps 12.6 or my iasl may be messing things up for my DSDT, causing sound to be unavailable. I've followed the Mirone directions to the letter, both ways, multiple times. The one factor I want to clarify, is that FakePCIID_Intel_HD_Audio should NOT be used when using Mirone, right? I have full native Kaby Lake CPU, full native graphics, Wi-fi, bluetooth and backlight all working.

Can you possibly send your DSDT.aml so I can compare against mine? Mine is the third BIOS revision, F05, from May 2017. I'm banging my head against the wall at this point, but I know I'm really close.
 
PreLoader.efi is hardcoded to chainload the file loader.efi in the same folder. From what I can tell, HP invokes a sort of diagnostic mode (like what jaymonkey was talking about) when an efi binary tries to load drivers for the touchpad. Chainloading clover, rather than loading it directly, seems to prevent it from loading touchpad drivers and prevents the kernel panic.

@ddegrasse,

If this works like you describe it should prove to be a much better method than using the legacy method which is (IMO) a messy solution in terms of the laptops boot management and means we still have to have that pesky boot-loader in the MSR which slows down the laptops booting process as Clover has to do its own preload first ...

Like you say this method seems to validate my theory that the HP UEFI boot code in the BIOS treats CLOVER as one of its external EFI diagnostic tools thus force enabling pre-os touch screen and on-screen keyboard support, which causes the OSX boot-loader to KP - for those unfamiliar with my theory see the last paragraph of this post.

Very nice work dude .... will test this myself in the next few days.

Cheers
Jay
 
JayMonkey, I think that perhaps 12.6 or my iasl may be messing things up for my DSDT, causing sound to be unavailable. I've followed the Mirone directions to the letter, both ways, multiple times. The one factor I want to clarify, is that FakePCIID_Intel_HD_Audio should NOT be used when using Mirone, right? I have full native Kaby Lake CPU, full native graphics, Wi-fi, bluetooth and backlight all working.

Can you possibly send your DSDT.aml so I can compare against mine? Mine is the third BIOS revision, F05, from May 2017. I'm banging my head against the wall at this point, but I know I'm really close.

You should not be using FakePCIID_Intel_HD_Audio ... just the kexts and patches generated by the Mirone's HDA utility.

I'm still using the BIOS that the machine came with so my DSDT will not match yours, you should alway use your own DSDT, the following details the renames and fixes i applied to my DSDT and SSDT's :-

DSM renames

DSDT.dsl
SSDT-12.dsl
SSDT-16.dsl
SSDT-2.dsl

B0D3 renames

SSDT-2

GFX0 renames

DSDT.dsl
SSDT-16.dsl
SSDT-2.ds;


Patches/Fixes for DSDT.dsl:

Fix PARSEOP_ZERO Error" agressive" mode
Comment Out External ‘BNUM’ Ref
Battery_HP-G6-2221ss
Add IMEI
"IRQ Fix"
"RTC Fix"
Shutdown Fix V2
OS Check Fix Win 8
Skylake LPC
SMBUS Fix
Fix _WAK Arg0 v2
USB3_PRW 0x0D Skylake (instant wake)
USB3_PRW 0x6D Skylake (instant wake)
Fix Mutex with non-Zero SyncLevel
HPET Fix

Always perform renames first before applying patches and fixes, you will also need to edit ssdt16 with a call to the _OFF method to disable the Nvidia GPU or use a custom SSDT .. see rehab's man guide for more info this ....

https://www.tonymacx86.com/threads/guide-disabling-discrete-graphics-in-dual-gpu-laptops.163772/

I'm still very much old school when it comes to DSDT & SSDT patching and prefer to do it manually rather than relying on the use clovers patching and fixes, that way i can be 100% sure the code is correct and in the right place, having said that there does seem to be a gradually uptake in dynamic patching and the use of custom ssdt's to inject new methods into the ACPI/DSDT.

As I already said much of this will change now that we have Native Kaby Lake support ... so personally i think it would be better to concentrate on a clean kaby lake build rather than trying to perfect a spoofed skylake one ... just my two cents ...

Cheers
Jay
 

Attachments

  • DSDT.aml
    204.3 KB · Views: 289
Last edited:
PreLoader.efi is hardcoded to chainload the file loader.efi in the same folder.....

@ddegrasse,


One question on this method ... I seem to remember that PreLoader.efi is a work around for secure boot for linux so i assume that it would need us to re enable secure boot in the HP BIOS for this method to work ??

I will try and find some time next week to have a look at this method and test ..

Cheers
Jay
 
@ddegrasse,

One question on this method ... I seem to remember that PreLoader.efi is a work around for secure boot for linux so i assume that it would need us to re enable secure boot in the HP BIOS for this method to work ??

I will try and find some time next week to have a look at this method and test ..

Cheers
Jay

Actually, not quite. It is indeed a secure boot workaround on linux, but when secure boot is disabled it functions as a chainloader. GRUB is actually capable of the same thing, but I had issues with osxaptiofixdrv.efi when using grub.

When PreLoader.efi runs with secure boot enabled, it will search for the loader.efi file, and if the file's hash is not enrolled, it will launch HashTool.efi. However, with secure boot disabled PreLoader.efi runs none of these checks, and instead chainloads the loader.efi file.

As a side note, I believe you have the i7 model of the HP Spectre I'm using as a hackintosh. I've noticed rather bad battery life (as compared to windows). What kind of battery life are you getting?
 
Actually, not quite. It is indeed a secure boot workaround on linux, but when secure boot is disabled it functions as a chainloader. GRUB is actually capable of the same thing, but I had issues with osxaptiofixdrv.efi when using grub..

Thanks for the explanation ...

As a side note, I believe you have the i7 model of the HP Spectre I'm using as a hackintosh. I've noticed rather bad battery life (as compared to windows). What kind of battery life are you getting?

Yup I have the 2017 15" i7 Specter X360, the battery life under OSX for me is pretty good, of course it's nowhere near what it is under windows as we cant use the HP power profile and optimized drivers, but i still get around 4-5 hours on battery which for a hackingtosh laptop is pretty good, my old Sony Vaio SE2 15" laptop used to give-up after around 2.5-3 hours even with the add on battery pack.

Got to say this is the best (Hackingtosh) Laptop i've had in years, good performance, MBP like build quality and runs stable, fast and quiet, should be even better once we get full native Kaby Laky support working ...

Make sure you have the Nvida GPU disabled and patched the usb with the USB3_PRW fix in your DSDT and SSDT's .. see post above to see what i patched on my X360.

Cheers
Jay
 
Last edited:
Status
Not open for further replies.
Back
Top