- Joined
- Mar 15, 2017
- Messages
- 50
- Motherboard
- MSI H270 PC MATE
- CPU
- Core i7-7700K
- Graphics
- NVIDIA RTX2060
- Mac
-
- Mobile Phone
-
Installation of macOS Catalina on a HP Spectre x360 13-ap0000 series.
This method is supported macOS Catalina and Big Sur. EFI.zip includes macOS Catalina and Big Sur version of AirportItlwm.kext. The AirportItlwm.kext to be used is automatically switched depending on the version of the OS to be booted.
Last update:2021/03/19
Change log
2021/03/19
Region: Japan
CPU: Core ™ i7-8565U
iGPU: Intel Graphics UHD 620
RAM: 16GB
Storage: NVMe Samsung PM981 512GB
USB: USB3.1 Gen2 x 1 Thunderbolt 3 x 2
WiFi: Intel Wireless AC 9560
Bluetooth: VID 8087 PID 0AAA USB
Trackpad: SYNA329A
Touchpad: ELAN2514
Note: The boot loader for this guide has changed from Clover to OpenCore.
The method using DSDT is no longer supported. We have developed a method to use the new SSDT, so please use it.
It should probably work.
By not using DSDT, you will be able to boot without problems even after updating the firmware.
What works?
What doesn't work?
Warning
Samsung PM981 is not currently available for macOS. Replace or use external storage.
A great driver has recently been developed.
Samsung PM981 will work by using NVMeFix.kext.
However, if you want to continue using Windows, we recommend installing it on an external drive!
Use OpenCore as the boot loader.
Install OpenCore
Please install for UEFI.
https://dortania.github.io/vanilla-laptop-guide/OpenCore/config-laptop.plist/coffee-lake.html
You can also use the attached file.
Important settings in config.plist
Set Misc -> Debug -> Disable watch dog to true.
This fixes an issue where it could not boot early.
NVRAM -> 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 -> Set UIScale to 01.
This enables high resolution on OpenCore.
NVRAM -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> prev-lang:kbd
Please set the appropriate value. This is the keyboard language.
https://github.com/acidanthera/Open...AppleKeyboardLayouts/AppleKeyboardLayouts.txt
Please check this page for confirmation. For example, ja is [16384] ja - KANA , so the value to be set is ja:16384.
Booter -> DisableVariableWrite false
NVRAM -> LegacyEnable false
NVRAM -> LegacyOverwrite false
NVRAM -> WriteFlash false
ACPI -> Add
The SSDTs that should be installed are:
Please use the attached files for SSDT-BATT.aml and SSDT-I2C.aml. This file is created for the HP Specter x360 ap0000 series.
SSDT-PMC.aml is included with OpenCore. This enables NVRAM.
ACPI -> Patch
DeviceProperties
PciRoot(0x0)/Pci(0x1F,0x3)
This is an audio device.
PciRoot(0x0)/Pci(0x2,0x0)
This is a graphics device.
You don't need to set framebuffer-fbmem and framebuffer-stolenmem. These settings can be causes kernel panic.
Kernel -> Add
The kexts that should be installed are:
Kernel -> Force
To use AirportItlwm.kext, please put this
Misc -> Security -> SecureBootModel
Default or Disabled
PlatformInfo -> Generic
Set the Mac model, serial number, etc. here.
Use MacBookPro16,3 for Mac model.(Other models are possible, but this model has the closest CPU)
Set the system serial number, system UUID, MLB, ROM (Use Mac address or 11 22 33 44 55 66).
UEFI -> Audio -> AudioDevice
Please use PciRoot(0x0)/Pci(0x1F,0x3).
UEFI -> Drivers
The drivers that must be installed are:
Please change as needed.
Then turn off Secure Boot.
Change the boot order as needed.
Save.
Issues
Please switch to XPC or bootstrap_check is displayed and I cannot boot
->There is a problem with the graphics.
Installation of macOS stops in 2 minutes remaining/cannot shut down
macOS Big Sur Installer reboot loop and shows AppleActuatorDeviceUserClient::stop entered
->NVRAM may not be working properly.
EFI partition is out of space
->Press Shift + command + . on Finder(to show hidden files) and delete .Trashes
OpenCore no longer appears in boot options
->Reset NVRAM. After hitting F9 repeatedly to select the boot option, select the EFI file to start OpenCore. Execute Reset NVRAM in the menu.
Complete
This method is supported macOS Catalina and Big Sur. EFI.zip includes macOS Catalina and Big Sur version of AirportItlwm.kext. The AirportItlwm.kext to be used is automatically switched depending on the version of the OS to be booted.
Last update:2021/03/19
Change log
2021/03/19
- NVRAM is now working properly. Now you can install macOS Big Sur!
- With the update of IntelBluetoothFirmware, Bluetooth works well!
- You no longer need to use DSDT! All you need is the SSDT and DSDT patch features.
Region: Japan
CPU: Core ™ i7-8565U
iGPU: Intel Graphics UHD 620
RAM: 16GB
Storage: NVMe Samsung PM981 512GB
USB: USB3.1 Gen2 x 1 Thunderbolt 3 x 2
WiFi: Intel Wireless AC 9560
Bluetooth: VID 8087 PID 0AAA USB
Trackpad: SYNA329A
Touchpad: ELAN2514
Note: The boot loader for this guide has changed from Clover to OpenCore.
The method using DSDT is no longer supported. We have developed a method to use the new SSDT, so please use it.
It should probably work.
By not using DSDT, you will be able to boot without problems even after updating the firmware.
What works?
- Keyboard
- Trackpad(I2C)
- Touchpad(I2C)
- Touch pen
- Built-in Speaker
- Built-in microphone
- Headphone
- Graphics acceleration
- Thunderbolt 3
- USB3.1 Gen2
- Connection of external display for conversion from Type-C to HDMI
- Screen brightness adjustment
- The remaining battery capacity (The frequency of updating the battery level is unstable.)
- Wi-Fi(Built-in intel chip)
- Bluetooth(Built-in intel chip)
- Siri
- microSD card reader
- Sleep
- The screen return after opening the lid
- App Store
- iCloud
- macOS update
What doesn't work?
- Fingerprint authentication sensor
- Camera (it may be used with some software because it is recognized as a USB camera)
- iMessage
- FaceTime
Warning
Samsung PM981 is not currently available for macOS. Replace or use external storage.
A great driver has recently been developed.
Samsung PM981 will work by using NVMeFix.kext.
However, if you want to continue using Windows, we recommend installing it on an external drive!
1. Prepare the installation USB
Storage capacity must be 16GB or more. You can install the installer on the storage where macOS is installed.Use OpenCore as the boot loader.
Install OpenCore
Please install for UEFI.
2. Make config.plist
See this guide to create a config.plist.https://dortania.github.io/vanilla-laptop-guide/OpenCore/config-laptop.plist/coffee-lake.html
You can also use the attached file.
Important settings in config.plist
Set Misc -> Debug -> Disable watch dog to true.
This fixes an issue where it could not boot early.
NVRAM -> 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 -> Set UIScale to 01.
This enables high resolution on OpenCore.
NVRAM -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> prev-lang:kbd
Please set the appropriate value. This is the keyboard language.
https://github.com/acidanthera/Open...AppleKeyboardLayouts/AppleKeyboardLayouts.txt
Please check this page for confirmation. For example, ja is [16384] ja - KANA , so the value to be set is ja:16384.
Booter -> DisableVariableWrite false
NVRAM -> LegacyEnable false
NVRAM -> LegacyOverwrite false
NVRAM -> WriteFlash false
ACPI -> Add
The SSDTs that should be installed are:
- SSDT-AWAC.aml
- SSDT-PLUG.aml
- SSDT-XOSI.aml
- SSDT-PNLF-CFL.aml
- SSDT-UIAC.aml
- SSDT-EC-USBX-LAPTOP.aml
- SSDT-BATT.aml
- SSDT-I2C.aml
- SSDT-PMC.aml
Please use the attached files for SSDT-BATT.aml and SSDT-I2C.aml. This file is created for the HP Specter x360 ap0000 series.
SSDT-PMC.aml is included with OpenCore. This enables NVRAM.
ACPI -> Patch
XML:
<key>Patch</key>
<array>
<dict>
<key>Comment</key>
<string>Change _OSI to XOSI</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>X09TSQ==</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>WE9TSQ==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data></data>
</dict>
<dict>
<key>Comment</key>
<string>Change SMWR to XMWR(SSDT-BATT)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>U01XUg==</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>WE1XUg==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data></data>
</dict>
<dict>
<key>Comment</key>
<string>Change UPBI to XPBI(SSDT-BATT)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>VVBCSQ==</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>WFBCSQ==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data></data>
</dict>
<dict>
<key>Comment</key>
<string>Change UPBS to XPBS(SSDT-BATT)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>VVBCUw==</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>WFBCUw==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data></data>
</dict>
<dict>
<key>Comment</key>
<string>Change GBCO to XBCO(SSDT-BATT)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>R0JDTw==</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>WEJDTw==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data></data>
</dict>
<dict>
<key>Comment</key>
<string>Change GBIF to XBIF(SSDT-BATT)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>R0JJRg==</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>WEJJRg==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data></data>
</dict>
<dict>
<key>Comment</key>
<string>Change _BIF to XBIF(SSDT-BATT)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>X0JJRg==</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>WEJJRg==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data></data>
</dict>
<dict>
<key>Comment</key>
<string>Change _BST to XBST(SSDT-BATT)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>X0JTVA==</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>WEJTVA==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data></data>
</dict>
</array>
DeviceProperties
PciRoot(0x0)/Pci(0x1F,0x3)
This is an audio device.
XML:
<key>PciRoot(0x0)/Pci(0x1F,0x3)</key>
<dict>
<key>AAPL,slot-name</key>
<string>Internal@0,31,3</string>
<key>device_type</key>
<string>Multimedia audio controller</string>
<key>layout-id</key>
<integer>71</integer>
<key>model</key>
<string>Cannon Point-LP High Definition Audio Controller</string>
</dict>
This is a graphics device.
XML:
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>CQClPg==</data>
<key>AAPL,slot-name</key>
<string>Internal@0,2,0</string>
<key>device-id</key>
<data>pT4AAA==</data>
<key>device_type</key>
<string>VGA compatible controller</string>
<key>disable-external-gpu</key>
<data>AQAAAA==</data>
<key>enable-hdmi-dividers-fix</key>
<data>AQAAAA==</data>
<key>enable-hdmi20</key>
<data>AQAAAA==</data>
<key>framebuffer-con0-busid</key>
<data>AAAAAA==</data>
<key>framebuffer-con0-enable</key>
<data>AQAAAA==</data>
<key>framebuffer-con0-flags</key>
<data>mAAAAA==</data>
<key>framebuffer-con0-index</key>
<data>AAAAAA==</data>
<key>framebuffer-con0-pipe</key>
<data>EgAAAA==</data>
<key>framebuffer-con0-type</key>
<data>AgAAAA==</data>
<key>framebuffer-con1-busid</key>
<data>AQAAAA==</data>
<key>framebuffer-con1-enable</key>
<data>AQAAAA==</data>
<key>framebuffer-con1-flags</key>
<data>hwEAAA==</data>
<key>framebuffer-con1-index</key>
<data>AQAAAA==</data>
<key>framebuffer-con1-pipe</key>
<data>EgAAAA==</data>
<key>framebuffer-con1-type</key>
<data>AAgAAA==</data>
<key>framebuffer-con2-busid</key>
<data>AgAAAA==</data>
<key>framebuffer-con2-enable</key>
<data>AQAAAA==</data>
<key>framebuffer-con2-flags</key>
<data>hwEAAA==</data>
<key>framebuffer-con2-index</key>
<data>AgAAAA==</data>
<key>framebuffer-con2-pipe</key>
<data>EgAAAA==</data>
<key>framebuffer-con2-type</key>
<data>AAgAAA==</data>
<key>framebuffer-con3-busid</key>
<data>AAAAAA==</data>
<key>framebuffer-con3-enable</key>
<data>AQAAAA==</data>
<key>framebuffer-con3-flags</key>
<data>IAAAAA==</data>
<key>framebuffer-con3-index</key>
<data>/////w==</data>
<key>framebuffer-con3-pipe</key>
<data>AAAAAA==</data>
<key>framebuffer-con3-type</key>
<data>AQAAAA==</data>
<key>framebuffer-patch-enable</key>
<data>AQAAAA==</data>
<key>framebuffer-unifiedmem</key>
<data>AAAAgA==</data>
<key>hda-gfx</key>
<string>onboard-2</string>
<key>model</key>
<string>Intel UHD Graphics 620</string>
</dict>
Kernel -> Add
The kexts that should be installed are:
- Lilu.kext
- VirtualSMC.kext
- SMCBatteryManager.kext
- SMCLightSensor.kext
- SMCProcessor.kext
- SMCSuperIO.kext
- AppleALC.kext
- Sinetek-rtsx.kext
- AirportItlwm.kext
- USBInjectAll.kext
- VoodooI2C.kext
- VoodooI2CHID.kext
- VoodooPS2Controller.kext(by acidanthera)
- WhateverGreen.kext
- BrightnessKeys.kext
- NVMeFix.kext
- VoodooI2C.kext/Contents/PlugIns/VoodooGPIO.kext
- VoodooI2C.kext/Contents/PlugIns/VoodooI2CServices.kext
- VoodooI2C.kext
- VoodooI2C.kext/Contents/PlugIns/VoodooInput.kext
- VoodooI2CHID.kext
- VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext
- VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Mouse.kext
Kernel -> Force
To use AirportItlwm.kext, please put this
XML:
<key>Force</key>
<array>
<dict>
<key>Arch</key>
<string>Any</string>
<key>BundlePath</key>
<string>System/Library/Extensions/IO80211Family.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/IO80211Family</string>
<key>Identifier</key>
<string>com.apple.iokit.IO80211Family</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
</array>
Misc -> Security -> SecureBootModel
Default or Disabled
PlatformInfo -> Generic
Set the Mac model, serial number, etc. here.
Use MacBookPro16,3 for Mac model.(Other models are possible, but this model has the closest CPU)
Set the system serial number, system UUID, MLB, ROM (Use Mac address or 11 22 33 44 55 66).
UEFI -> Audio -> AudioDevice
Please use PciRoot(0x0)/Pci(0x1F,0x3).
UEFI -> Drivers
The drivers that must be installed are:
- OpenRuntime.efi
- OpenHfsPlus.efi(or HfsPlus.efi)
- OpenCanopy.efi(Optional)
Please change as needed.
3.BIOS settings
Turn on the laptop and hit the F10 key repeatedly.Then turn off Secure Boot.
Change the boot order as needed.
Save.
4.Install macOS
Install macOS Catalina to your drive.5.Boot your macOS!
Enjoy hackintosh!Issues
Please switch to XPC or bootstrap_check is displayed and I cannot boot
->There is a problem with the graphics.
Installation of macOS stops in 2 minutes remaining/cannot shut down
macOS Big Sur Installer reboot loop and shows AppleActuatorDeviceUserClient::stop entered
->NVRAM may not be working properly.
EFI partition is out of space
->Press Shift + command + . on Finder(to show hidden files) and delete .Trashes
OpenCore no longer appears in boot options
->Reset NVRAM. After hitting F9 repeatedly to select the boot option, select the EFI file to start OpenCore. Execute Reset NVRAM in the menu.
Complete
1. Dump of DSDT
Use OpenCore for the DSDT dump. Currently (0.6.7) you need a debug version of OpenCore to dump the DSDT.
Also, Misc -> Debug -> SysReport in config.plist must be true.
Once config.plist is complete, start OpenCore once. macOS shuts down once without booting.
Then, a SysReport folder will be created in the EFI folder.
Copy SysReport -> ACPI -> DSDT.aml.
2.Edit DSDT
Edit using MaciASL.
Please apply the following patch in the attached file.
Search PS2K by filter.
Replace Device (PS2K) {....} with the following.
Use OpenCore for the DSDT dump. Currently (0.6.7) you need a debug version of OpenCore to dump the DSDT.
Also, Misc -> Debug -> SysReport in config.plist must be true.
Once config.plist is complete, start OpenCore once. macOS shuts down once without booting.
Then, a SysReport folder will be created in the EFI folder.
Copy SysReport -> ACPI -> DSDT.aml.
2.Edit DSDT
Edit using MaciASL.
Please apply the following patch in the attached file.
- [bat]HP_Spectre_x360_apxxxx.txt
- [I2C]HP_Spectre_x360_apxxxx.txt
- [brightness_key]HP_Spectre_x360_apxxxx.txt
Search PS2K by filter.
Replace Device (PS2K) {....} with the following.
Code:
Device (PS2K) //Keyboard
{
Name (_HID, EisaId ("PNP0303"))
Name (_CID, EisaId ("PNP030B"))
Method (_STA, 0, NotSerialized)
{
If (And (IOST, 0x0400))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IRQNoFlags ()
{1}
})
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
FixedIO (
0x0060, // Address
0x01, // Length
)
FixedIO (
0x0064, // Address
0x01, // Length
)
IRQNoFlags ()
{1}
}
EndDependentFn ()
})
Method (_PSW, 1, NotSerialized)
{
Store (Arg0, KBFG)
}
}
Scope (\)
{
Name (KBFG, Zero)
}
Method (PS2K._PRW, 0, NotSerialized)
{
Return (GPRW (0x1D, 0x04))
}
Device (PS2M) //Mouse
{
Name (_HID, EisaId ("PNP0F03"))
Name (_CID, EisaId ("PNP0F13"))
Method (_STA, 0, NotSerialized)
{
If (And (IOST, 0x4000))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Name (CRS1, ResourceTemplate ()
{
IRQNoFlags ()
{12}
})
Name (CRS2, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IRQNoFlags ()
{12}
})
Method (_CRS, 0, NotSerialized)
{
If (And (IOST, 0x0400))
{
Return (CRS1)
}
Else
{
Return (CRS2)
}
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IRQNoFlags ()
{12}
}
EndDependentFn ()
})
Method (_PSW, 1, NotSerialized)
{
Store (Arg0, MSFG)
}
}
Scope (\)
{
Name (MSFG, Zero)
}
Method (PS2M._PRW, 0, NotSerialized)
{
Return (GPRW (0x1D, 0x04))
}
Attachments
-
[brightness_key]HP_Spectre_x360_apxxxx.txt283 bytes · Views: 416
-
[bat]HP_Spectre_x360_apxxxx.txt3.2 KB · Views: 465
-
SSDT-EC-USBX-LAPTOP.aml335 bytes · Views: 387
-
SSDT-PNLF-CFL.aml125 bytes · Views: 374
-
SSDT-XOSI.aml333 bytes · Views: 395
-
SSDT-AWAC.aml80 bytes · Views: 400
-
[I2C]HP_Spectre_x360_apxxxx.txt760 bytes · Views: 492
-
SSDT-I2C.aml306 bytes · Views: 238
-
SSDT-BATT.aml5.6 KB · Views: 240
-
SSDT-PMC.aml143 bytes · Views: 215
-
SSDT-EC-USBX-LAPTOP.aml335 bytes · Views: 204
-
config.plist34.8 KB · Views: 341
-
EFI.zip38.9 MB · Views: 883
Last edited: