View attachment 376306
(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 "00001
659" (which represents 0x0000591
6) 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 :
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>
6. Open the config.plist from CLOVER EFI partition with PlistEdit Pro and in the bottom part of the window (which is the plain text editor), we search for "PciRoot" to get the correct section. We can paste the copied code over the PciRoot(0)/Pci(0x1f, 0x3) present on the file.
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 "00001
659".
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
7. Open the new DSDT.dsl file with MaciASL.
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
13. Search for "_WAK" and in the function, after the 1st if
Code:
If (CondRefOf (\_SB.PCI0.LPCB.EC0.ECWK))
{
\_SB.PCI0.LPCB.EC0.ECWK (Arg0)
}
Paste this
Code:
\_SB.PCI0.I2C1.TPL1._INI ()
14. We can now save the file with .aml extension and paste it in /EFI/CLOVER/ACPI/patched and restart
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
You should see the name of a .aml file. Copy it to the dsdt folder create before.
3. Paste this code
4. Open the new .dsl file with MaciASL.
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