Contribute
Register

[GUIDE]HP Spectre x360 13-ap0037TU(Late 2018)

Joined
Mar 15, 2017
Messages
50
Motherboard
MSI H270 PC MATE
CPU
Core i7-7700K
Graphics
NVIDIA RTX2060
Mac
  1. iMac
  2. MacBook
Mobile Phone
  1. Android
  2. iOS
I can share my efi folder and give some more info soon :)
Also it's weird that the webcam is detected but doesn't work. I'll make a custom SSDT for usbinjectall maybe it'll fix some things :/

Also my (and probably your) trackpad is I2C. On windows PS2 driver only enables basic trackpad features. I2C driver unlocks precision trackpad features. Should find a way to make VoodooI2C work. Our trackpad is SYNA329A and our touchscreen device seems to be ELAN2514. I think we need to edit DSDT to make them work.
Thank you. I will make a patch for DSDT based on that information.
 
Joined
Feb 20, 2017
Messages
80
Motherboard
HP Spectre x360 13-ap0xxx
CPU
i5-8265u
Graphics
UHD 620, 1920x1080
Classic Mac
  1. iMac
Mobile Phone
  1. Android
Thank you. I will make a patch for DSDT based on that information.
We need to apply os check fix for windows 7 to enable I2C, other check fixes won't work
 
Joined
Feb 20, 2017
Messages
80
Motherboard
HP Spectre x360 13-ap0xxx
CPU
i5-8265u
Graphics
UHD 620, 1920x1080
Classic Mac
  1. iMac
Mobile Phone
  1. Android
We have to apply GPIO pinning patch for elan and synaptic in the DSDT.

Edit: nevermind... Pinning seems to be correct from the get go.. VoodooI2C sees the devices but in kernel log there is errors. SSCN and FMCN not implemented in ACPI tables.

Also I wanted to make an SSDT-UIAC for usbinjectall but I am confused. When I connect a superspeed usb devices to the type c ports, these devices shows up under SS01 and SS02 under the thunderbolt usb controller. Meanwhile when I connect a slower type c device to the usb-c ports it shows up on HS02 and HS03 under the cannon point lp usb controller :/

Edit: okay nvm I just found out USBInjectAll.kext supports Intel chipset XHC only.
 

Attachments

  • Screenshot 2020-07-12 at 14.03.33.png
    Screenshot 2020-07-12 at 14.03.33.png
    466.2 KB · Views: 120
Last edited:
Joined
Feb 20, 2017
Messages
80
Motherboard
HP Spectre x360 13-ap0xxx
CPU
i5-8265u
Graphics
UHD 620, 1920x1080
Classic Mac
  1. iMac
Mobile Phone
  1. Android
Okayy. Ugh, I checked on windows device manager think we might have a synaptics smbus touchpad. I checked in windows device manager and noticed Synaptics SMBus driver PCI\VEN_8086&DEV_9DA3&SUBSYS_8514103C&REV_30.. Could be why the i2c driver loads but doesn't work.
 
Joined
Feb 20, 2017
Messages
80
Motherboard
HP Spectre x360 13-ap0xxx
CPU
i5-8265u
Graphics
UHD 620, 1920x1080
Classic Mac
  1. iMac
Mobile Phone
  1. Android
Touchscreen and touchpad are fully working now with VoodooI2C, only a few remaining issues now. Pencil and its right click button also works, haven't tested further yet. Hover works.

I can help you rewrite the guide soon :) for ex instead of rtc fix i used ssdt-awac and for os check fix i used windows 2017 because it enables I2C, not all os check fixes do.
 
Last edited:
Joined
Feb 20, 2017
Messages
80
Motherboard
HP Spectre x360 13-ap0xxx
CPU
i5-8265u
Graphics
UHD 620, 1920x1080
Classic Mac
  1. iMac
Mobile Phone
  1. Android
Do you think it would be possible to make the camera work or not?
 
Joined
Mar 15, 2017
Messages
50
Motherboard
MSI H270 PC MATE
CPU
Core i7-7700K
Graphics
NVIDIA RTX2060
Mac
  1. iMac
  2. MacBook
Mobile Phone
  1. Android
  2. iOS
Touchscreen and touchpad are fully working now with VoodooI2C, only a few remaining issues now. Pencil and its right click button also works, haven't tested further yet. Hover works.

I can help you rewrite the guide soon :) for ex instead of rtc fix i used ssdt-awac and for os check fix i used windows 2017 because it enables I2C, not all os check fixes do.
I switched from Clover to OpenCore.
OpenCore was the first attempt, and it was very difficult.
However, it is now bootable.
But I2C, battery and Bluetooth don't work well.
I have confirmed that GPIO pinning is not required.
I'm still adjusting.

Do you think it would be possible to make the camera work or not?
I don't think the webcam works. There may be some special protocol.
 
Joined
Feb 20, 2017
Messages
80
Motherboard
HP Spectre x360 13-ap0xxx
CPU
i5-8265u
Graphics
UHD 620, 1920x1080
Classic Mac
  1. iMac
Mobile Phone
  1. Android
I added 0x006B to tpd0 pin list, probably not necessary but just in case. (I have an European i5-8265u model so your pin situation might be different)
{ // Pin list
0x006B
}
and I removed all conditions from _crs method of tpd0 and tpl0 devices, so it looks like this
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (ConcatenateResTemplate (SBFB, SBFG))
}

With opencore kext order is very important.

I used this OS check fix patch to enable i2c devices.

# Windows 10 DSDT Patch for VoodooI2C
# Allows I2C controllers and devices to be discovered by OS X.
# Based off patches written by RehabMan

into_all method code_regex If\s+\([\\]?_OSI\s+\(\"Windows\s2017\"\)\) replace_matched begin If(LOr(_OSI("Darwin"),_OSI("Windows 2017"))) end;

Also instead of RTC fix I used SSDT-AWAC

In my EFI kext folder there is itlwm.kext, this is necessary for wifi. You have to go into the kext and open the plist to add your networks (name and password). It has a front-end application called heliport, I have included it as well. Add it to your applications folder and login items.

Note: patch your own dsdt! also my acpi folder has some junk. don't even have a look at the dsdt.dsl it is outdated.
 

Attachments

  • EFI.zip
    26.7 MB · Views: 297
Last edited:
Joined
Mar 15, 2017
Messages
50
Motherboard
MSI H270 PC MATE
CPU
Core i7-7700K
Graphics
NVIDIA RTX2060
Mac
  1. iMac
  2. MacBook
Mobile Phone
  1. Android
  2. iOS
I added 0x006B to tpd0 pin list, probably not necessary but just in case. (I have an European i5-8265u model so your pin situation might be different)
{ // Pin list
0x006B
}
and I removed all conditions from _crs method of tpd0 and tpl0 devices, so it looks like this
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (ConcatenateResTemplate (SBFB, SBFG))
}

With opencore kext order is very important.

I used this OS check fix patch to enable i2c devices.

# Windows 10 DSDT Patch for VoodooI2C
# Allows I2C controllers and devices to be discovered by OS X.
# Based off patches written by RehabMan

into_all method code_regex If\s+\([\\]?_OSI\s+\(\"Windows\s2017\"\)\) replace_matched begin If(LOr(_OSI("Darwin"),_OSI("Windows 2017"))) end;

Also instead of RTC fix I used SSDT-AWAC

In my EFI kext folder there is itlwm.kext, this is necessary for wifi. You have to go into the kext and open the plist to add your networks (name and password). It has a front-end application called heliport, I have included it as well. Add it to your applications folder and login items.

Note: patch your own dsdt! also my acpi folder has some junk. don't even have a look at the dsdt.dsl it is outdated.
thank you for the advice.
I created a DSDT patch for the battery. As a result, the battery level indicator now works properly. The difference between Windows and macOS is 1-2%.

But the trackpad doesn't work at all. Apparently GPIO pinning seems necessary, I specified 0x4F but it didn't work.

Also, when I enable Intel Bluetooth Firmware, it becomes unbootable.
 
Joined
Feb 20, 2017
Messages
80
Motherboard
HP Spectre x360 13-ap0xxx
CPU
i5-8265u
Graphics
UHD 620, 1920x1080
Classic Mac
  1. iMac
Mobile Phone
  1. Android
Finding the right pin is actually very simple. What are the values under iointerruptspecifiers for tpd0 and tpl0?
Also are the kexts in the correct order in plist? first has to be voodoogpio, then voodooi2cservices, then voodooi2c, then voodooi2chid like in my config.
 
Top