- Joined
- Mar 22, 2016
- Messages
- 5
- Motherboard
- Acer Spin 5 (Clover)
- CPU
- i7-8550U (KBL-R)
- Graphics
- Intel UHD 620
- Mobile Phone
(Nearly) Perfect Hackintosh setup for Acer Spin 5
Update
v1 : First version of the guide
Overview
Acer is one of this brand that offer laptops with the best value for money. With this Acer Spin 5, I hope I will keep it a long time.
Main specs are :
- Intel i7-8550U @ 1.99 GHz (Kaby Lake R)
- Intel UHD Graphics 620 1536 Mo
- 8GB DDR - 2400MHz
- 13.3" 1920 x 1080 w/ Touchscreen & Pen support
- I2C Elan TouchPad
- SSD 512GB M.2 SATA 3.0 Micron 1100 MTFDDAV512TBN
- Realtek ALC295 (@ Intel Sunrise Point-LP HD Audio)
- 1x USB 2.0, 2x USB 3.0, 1x USB-C (w/ DisplayPort), 1x HDMI, 1x Card Reader
What is ...
Working ?
- CPU : Intel i7-8550U @ 1.99 GHz (Kaby Lake R)
- IGPU : Intel UHD Graphics 620 1536 Mo
- Power Management & Battery Status
- Audio (Speakers, Mic, Headphones) : Realtek ALC295 (@ Intel Sunrise Point-LP HD Audio)
- USB's
- HDMI & DisplayPort
- Trackpad w/ gestures & Touchscreen w/ Pen support
- Functionalities (Fn) Keys
- Sleep & Wake (by closing / opening laptop)
- Built-in Bluetooth
- Webcam
Not working ?
- Fingerprint Reader
- SD Card Reader
- Wi-Fi (DW1820A/BCM94350ZAE ordered)
Needing improvements ?
- Power Management : When the battery drops under 10%, the computer becomes sluggish
- Trackpad pointer goes sometimes to the top-right of the screen
Install
I will not explain the installation part because it's really well explained on guide by @RehabMan. For the config.plist to use, see "CPU" section under "Post-Install" above.
Post-Install
Before reading this guide, you must understand some basics things for Hackintoshing like installing kexts, what is a DSDT, etc. You should also read https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/.
/L/E represents the folder /Library/Extensions/
Apps I used
Intel-FB-Patcher
MaciASL modded by RehabMan
IoRegistryExplorer
PlistEdit Pro
CPU : Intel i7-8550U @ 1.99 GHz (Kaby Lake R)
We will start from the config_HD615_620_630_640_650.plist provided by @RehabMan here because it have everything we need. You need also to download Lilu.kext and install it in /L/E and /EFI/CLOVER/kexts/Other. Everything works well with it. With a Kaby Lake R CPU, what's important is to have lilcpu=9 on boot arguments of Clover, which is present already on this config.plist.
IGPU : Intel UHD Graphics 620 1536 Mo
You need to download Whatevergreen.kext and install it in /L/E and /EFI/CLOVER/kexts/Other. Config_HD615_620_630_640_650.plist handles prefectly UHD 620. For this, the config.plist defines the Whatevergreen patches on Devices>Properties>PciRoot(0)/Pci(0x02,0) by using the value "00001B59" (which represents 0x0000591B) for AAPL,ig-platform-id. The device-id "16590000" (0x00005916) represents the Kaby Lake IntelGen.
I have changed the AAPL,ig-platform-id value to "00001659" (which represents 0x00005916) to get HDMI properly working. In the config.plist, we have also a hotpatch (section ACPI>DSDT>Patches) that replaces GFX0 to IGPU. This is important to get the IGPU properly recognized by MacOS.
For backlight control, download the latest archive of AppleBackLightFixup and install the AppleBackLightFixup.kext in /L/E and move the SSDT-PNLF.aml to EFI/CLOVER/ACPI/patched.
Power Management & Battery Status
The CPU and the IGPU are correctly set, which let's MacOS handle it properly concerning the Power Management. We need to integrate also ACPIBatteryManager.kext and install it in /L/E and /EFI/CLOVER/kexts/Other. You should now have the battery status displayed.
Audio (Speakers, Mic, Headphones) : Realtek ALC295 (@ Intel Sunrise Point-LP HD Audio)
Okay this one is a sort of lottery and we will now start to change things.
1. First, we need to be sure that we have the hotpatch on config.plist that replaces HDAS by HDEF in order to get the Audio properly recognized by MacOS.
2. Download AppleALC.kext and install it in /L/E and restart the laptop.
3. Open Intel-FB-Patcher to see if the kext has been correctly installed (2nd tab on the bottom menu).
4. Now, two options :
a. The better one, go to source code of AppleALC, more precisely in the Resources folder, and go to the correct codec folder (in our case, the ALC295). Open the info.plist and search for a mention of the laptop brand, in this case Acer. The one I have found is "Andres - ALC295 Acer Nitro 5 Spin (NP515-51)" which have the layout-id 21.
b. Try each layout-id one by one suggested by Intel-FB-Patcher (4th tab on the bottom menu) if you can't find out a laptop close to yours.
5. Let's generate the correct code with Intel-FB-Patcher. By selecting the layout-id we want on General Tab on the Audio Tab and we can go to the Patch Tab on the top menu. We select now "Auto Detect Changes", "Devices / Properties" and "Audio" on General sub-tab, and we can now press generate patch. We only need to copy the section PciRoot(0x0)/Pci(0x1f,0x3), which is in our case :
XML:
<key>PciRoot(0x0)/Pci(0x1f,0x3)</key>
<dict>
<key>layout-id</key>
<data>
FQAAAA==
</data>
</dict>
7. Restart and audio should now be fine.
USB's
Install USBInjectAll.kext in L/E and EFI/CLOVER/kexts/Other if it's not done yet.
HDMI & DisplayPort
In my case, I was getting reboots when I plugged the HDMI cable. The solution was to change the value of AAPL,ig-platform-id as "00001B59" to "00001659".
Trackpad w/ gestures & Touchscreen w/ Pen support
1. First, restart the laptop and press F4 on Clover menu (to be sure that it works, press F4 and Fn+F4).
2. Install VoodooI2C.kext and VoodooI2CHID.kext in EFI/CLOVER/kexts/Other.
3. Copy DSDT.aml from EFI/CLOVER/ACPI/origin in a folder (eg. a "dsdt" folder on your Desktop)
4. Install iasl by moving it at /usr/local/bin/ folder.
5. Open a terminal from your dsdt folder you have created before (you can drag and drop the folder to the Terminal icon in your dock to open a terminal pointing to your dsdt folder).
6. Paste this code
Code:
iasl -da -dl *.aml
8. Search and replace all "GFX0" by "IGPU".
9. Search and replace all "HDEAS" by "HDEF".
10. Press "Patch".
11. In the left pane, apply "[GPIO] GPIO Controller Enable "SKL+" and "[Windows] Windows 10 Patch" in the "_VoodooI2C-Patches" section.
12. Go back to the editor and search for "TPL1". In the _INI section, find this section :
Code:
If (LEqual (SDM1, Zero))
{
SHPO (GPLI, One)
}
and replace it by
Code:
SHPO (GPLI, One)
Code:
If (CondRefOf (\_SB.PCI0.LPCB.EC0.ECWK))
{
\_SB.PCI0.LPCB.EC0.ECWK (Arg0)
}
Code:
\_SB.PCI0.I2C1.TPL1._INI ()
Some other tips :
- I only achieve to activate the right click by touching the trackpad with 2 fingers. For this, go to Parameters > Trackpad and activate "Touch for click".
- To activate the click/tap and drag, the option can be found on Accessibility > Mouse & Trackpad > Trackpad Options. Enable Tap to drag & choose 3 fingers. You can now click with one finger on a file and drag it with 2 others.
Functionalities (Fn) Keys
Functionalities Keys are mostly implemented out of the box. The only thing we have to adjust is the brightness control.
Before to do it, don't forget to download the latest archive of AppleBackLightFixup and install the AppleBackLightFixup.kext in L/E and move the SSDT-PNLF.aml to EFI/CLOVER/ACPI/patched.
1. Open IoRegistryExplorer and search for the ps2controller in the left pane and see which 4 letters is in the level above it (in our case KBD0).
2. Open a terminal in /EFI/CLOVER/ACPI/origin (Drag and drop the folder on Terminal icon to open at the right location) and type :
Code:
grep -Ril "the4letters" .
In my case
Code:
grep -Ril "KBD0" .
You should see the name of a .aml file. Copy it to the dsdt folder create before.
3. Paste this code
Code:
iasl -da -dl *.aml
5. Open the patch menu and paste this code :
Code:
into method label _Q1D replace_content
begin
// Brightness Down\n
Notify(\_SB.PCI0.LPCB.KBD0, 0x0405)\n
end;
into method label _Q1C replace_content
begin
// Brightness Up\n
Notify(\_SB.PCI0.LPCB.KBD0, 0x0406)\n
end;
I have followed this guide to find out the correct EC Queries that generates the Brightness Fn Keys of the laptop (_Q1D and _Q1C). Concerning the 4 letters representing the ps2controller are different from the guide so be sure to verify first on IoRegistryExplorer like I have done to correctly implement the brightness control by keyboard. Credits
@RehabMan for all the guides, answers, hours he have done to make all of this possible
@alex.daoud for VoodooI2C
@vit9696 for Lilu, Whatevergreen and AppleALC
@PavelIT for this guide concerning an Acer, which was a great help for hackintoshing my Acer