- Joined
- Oct 11, 2017
- Messages
- 83
- Motherboard
- MSI Z390-A PRO
- CPU
- i5-8400
- Graphics
- Vega 64
Guide moved to Big Sur: https://www.tonymacx86.com/threads/guide-lenovo-510s-14-isk-using-opencore-uefi.307622/
Last edited:
Hello everyone,
these are just some useful notes I took during the process if I have to do it again.
You can use them at your advantage during the installation if you are new to hackintosh .
My laptop specs
Mobo: Lenovo 510s 14-ISK (Clover UEFI)
CPU: i5-6267u
Graphics: Iris 550, 1920x1080
BIOS model: 0VCN26WW(V1.10)
Notes
Guides followed
- To access the BIOS use an eject sim tool or something similar and hit the reset button for 3 or more seconds on the left side of your computer where ports are located.
- WiFi Card needs to be replaced (BCM94352Z works great, another user reported bcm94350zae also works after Shielding pins), refer to "Hardware maintenance manual - Page 38".
- Hardware maintenance manual
- Installing on /System/Library/Extensions or /Library/Extensions is the same. Catalina only: Use Hackintool to install kexts
- Don’t worry about warning when rebuilding kexts (just make sure it’s accepted), signature warnings are OK.
- If updating (clean install) you need to update kexts in clover and create a bootable USB from step 1). It can be done without installing clover to USB.
- If updating via MacOS you need to update clover and kexts.
- To update clover you only need to download the newer version and proceed with install (check if everything is correct via customize button).
- Use https://www.tonymacx86.com/threads/tool-generate-proper-problem-reporting-files.235953/page-3 for error reporting.
- If you have multiple OS in dual booting and you want to change your hard drive (HDD, SDD) use clonezilla (it copies all volumes including EFI, make sure to shrink and restore the partitions after cloning so that free space is visible).
1) Installation process
https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/
2) Patching process
https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/
3) Brightness slider fix
https://www.tonymacx86.com/threads/...rol-using-applebacklightinjector-kext.218222/
4) Brightness keys fix (acpi patch needed)
https://www.tonymacx86.com/threads/guide-patching-dsdt-ssdt-for-laptop-backlight-control.152659/
5) Power management patch
https://www.tonymacx86.com/threads/guide-native-power-management-for-laptops.175801/
https://www.tonymacx86.com/threads/skylake-hwp-enable.214915/
6) WiFi Card software implementation (Read FAQs "BCM94352 requirements")
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
7) Fix battery icon - The DSDT.dsl already has 8-bit fields so there is no need to patch it, just install ACPIBatteryManager.kext
https://github.com/RehabMan/OS-X-ACPI-Battery-Driver
8) Enable HiPDI at the resolution you like (i.e. I suggest 1600x900 and 1280x720, notice that the official guide from tonymacx didn't work for me)
https://github.com/xzhih/one-key-hidpi
9) USBInjectAll custom SSDT
https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/
Highlighted steps
1) Installation process
1).1
Configure the BIOS to let it read the USB drive we will create next step.
Configuration Tab
Security Boot
- USB Legacy [Disabled]
- Wireless LAN [Enabled]
- Power Beep [Disabled]
- Intel Virtual Technology [Disabled]
- BIOS Back Flash [Disabled]
- HotKey Mode [Enabled]
- Always On USB [Enabled]
Boot
- Intel Platform Trust Technology [Disabled]
1).2 (if you have macOS installed on another PC)
- Boot Mode [Legacy Support]
- Boot Priority [UEFI First]
- Fast Boot [Disabled]
- USB Boot [Enabled]
- PXE Boot to LAN [Disabled]
-Format USB (min 8GB) in terminal typing:
-Use UniBeast to create a bootable UEFI usb after having downloaded macOS form the App StoreCode:diskutil list diskutil partitionDisk /dev/diskX 1 GPT HFS+J "install_osx" R (e.g diskutil partitionDisk /dev/disk3 1 GPT HFS+J "install_osx" R)
1).3 (if you have macOS installed on another PC)
Add to /Volumes/EFI/EFI/Clover/drivers64UEFI manually, or select via CLOVER installer:
Delete folders in /Volumes/EFI/EFI/CLOVER/kexts except Other
- ApfsDriverLoader.efi. If you're installing High Sierra or later (10.13+) to an SSD, keep in mind that the file system will be APFS. APFS support is automatic with ApfsDriverLoader.efi. It should be a default selection.
- AptioMemoryFix.efi
- AudioDxe.efi
- DataHubDxe.efi
- FSInject.efi
- HFSPlus.efi (“Note: Please, DO NOT forget HFSPlus.efi. Without it, you won't see any HFS+ partitions, including the HFS+ partition that the OS X installer is on.”)
- SMCHelper.efi
- VirtualSmc.efi (MUST HAVE IF YOU USE VirtualSMC.kext)
Install basic kexts by copying them in /Volumes/EFI/EFI/CLOVER/kexts/Other (make sure to find the latest version compatible with your OS):
To have a bootable MacOS installer you need a "SSDT-EC.aml" in EFI/CLOVER/ACPI/Patched. All you need to do is to compile the SSDT as aml: https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/SSDT-EC.dsl. It is also necessary to "Remove all patch about renaming acpi of EC or H_EC" in config.plist or disable them by adding a Disabled YES entry (reference: https://www.insanelymac.com/forum/topic/339035-pre-release-macos-catalina/?page=52).
- FakeSMC.kext or VirtualSMC.kext (consider using this)
- VoodooPS2Controller.kext
- USBInjectAll.kext
I suggest using my config.plist (which is a modified version of Rehabman's).
Boot macOS Installer from USB by using the boot menu (hit the reset button for it to show up) and configure your mac.
Format your volumes with diskutil in terminal to configure your mac or use Disk Utility:
Create a new partition from Disk Utility.Code:diskutil eraseDisk JHFS+ DiskName /dev/DiskNodeID (e.g. diskutil eraseDisk JHFS+ MacOS /dev/disk1)
1).4
To boot the OS without USB you need to install Clover on your volume.
1).5
-Follow the same steps above to get a properly configured CLOVER.
-Change Volumes/EFI/Clover/config.plist to the one I provide.
-It’s time to install kexts (install in both /Library/Extensions and /CLOVER/kexts), always search for the most updated version:
You also need
ACPIBatteryManager (only on /Library/Extentions - DO NOT USE THIS IF USING VirtualSMC.kext)
AirportBrcmFixup.kext
RealtekRTL8111.kext
BrcmPatchRAM2.kext (catalina: https://www.insanelymac.com/forum/t...-catalina-broadcom-bluetooth-firmware-upload/)
BrcmFirmwareData.kext
BrcmBluetoothInjector.kext
BT4LEContinuityFixup.kext
FakePCIID.kext
FakePCIID_Broadcom_WiFi.kext
FakePCIID_Intel_HD_Graphics.kext
VoodooPS2Controller.kext
USBInjectAll.kext
AppleALC.kext (see #8)
Lilu.kext
WhateverGreen.kext
Sinetek-rtsx.kext
or VirtualSMC.kext (DO NOT USE ACPIBatteryManager.kext, place VirtualSmc.efi in drivers folder!)
FakeSMC.kext
FakeSMC_ACPISensors.kext
FakeSMC_CPUSensors.kext
FakeSMC_GPUSensors.kext
FakeSMC_LPCSensors.kext
FakeSMC_SMMSensors.kext
VirtualSMC.kext
SMCBatteryManager.kext (DO NOT USE ACPIBatteryManager.kext)
SMCLightSensor.kext
SMCProcessor.kext
SMCSuperIO.kext
2) Patching process
Generate aml with fn+f2 fn+f4 in clover.
Remove duplicates if there are.
Patches I applied:
Use RehabMan's patch:
- "instant wake" 0x6D Skylake
- brightness keys fix (see below)
- "Fix _WAK Arg0 v2"
- "HPET Fix"
- "SMBUS Fix"
- "IRQ Fix"
- "RTC Fix"
- "OS Check Fix"
- "Fix Mutex with non-zero SyncLevel"
- "Fix PNOT/PPNT" (use only if you're dropping CPU related SSDTs)
- "6-series USB"
- "7-series/8-series USB"
- "Rename _DSM methods to XDSM"
4) Brightness keys fix (acpi patch needed)
- config.plist (for sorded-order)
- /acpi/patched/DSDT.aml
- /acpi/patched/SSDT-PNLF.aml
- /acpi/patched/SSDT-EC.aml (necessary to boot the installer when updating)
- /acpi/patched/SSDT-XCPM.aml or /acpi/patched/SSDT.aml (see power management)
Refer to Disassembly with refs.txt
Adding sources is in app preferences
Copy-paste and patch
Code:into method label _Q11 replace_content begin // Brightness Down\n Notify(\_SB.PCI0.LPCB.PS2K, 0x0405)\n end; into method label _Q12 replace_content begin // Brightness Up\n Notify(\_SB.PCI0.LPCB.PS2K, 0x0406)\n end;
5) Power management patch
Choose ONLY one between: Experimental technique: XCPM only , Custom SSDT.aml using ssdtPRGen.sh - install the beta version (for Skylake CPU and be sure https://github.com/Piker-Alpha/ssdtPRGen.sh/blob/Beta/Data/Skylake.cfg is included in ~/Library/ssdtPRGen/Data/), HPWEnable with config.plist.
Note: I suggest to use Custom SSDT.aml using ssdtPRGen.sh as the CPU is supported.
Related Geekbench 4 test: https://browser.geekbench.com/v4/cpu/14431751, https://browser.geekbench.com/v4/cpu/14432806
6) WiFi Card software implementation (Read FAQs "BCM94352 requirements")
Install FakePCIID.kext and FakePCIID_Broadcom_WiFi.kext, BrcmPatchRAM2 and
BrcmFirmwareRepo.kext.
5Ghz patch not necessary.
For bluetooth add to KextsToPatch in clover.config (https://github.com/RehabMan/OS-X-BrcmPatchRAM, see my config.plist):
Code:<dict> <key>Comment</key> <string>10.11.dp1+ BT4LE-Handoff-Hotspot, credit RehabMan based on Dokterdok original</string> <key>Find</key> <data>SIX/dEdIiwc=</data> <key>Name</key> <string>IOBluetoothFamily</string> <key>Replace</key> <data>Qb4PAAAA60Q=</data> </dict>
9) My custom SSDT for USBInjectAll.kext is the following (NO USB3 devices were injected, even if two ports of the 3 are USB3):
Code:// SSDT-UIAC-ALL.dsl // // This SSDT can be used as a template to build your own // customization for USBInjectAll.kext. // // This SSDT contains all ports, so using it is the same as without // a custom SSDT. Delete ports that are not connected or ports you // do not need. // // Change the UsbConnector or portType as needed to match your // actual USB configuration. // // Note: // portType=0 seems to indicate normal external USB2 port (as seen in MacBookPro8,1) // portType=2 seems to indicate "internal device" (as seen in MacBookPro8,1) // portType=4 is used by MacBookPro8,3 (reason/purpose unknown) // // NO USB3 PORTS ARE INJECTED // DefinitionBlock ("", "SSDT", 2, "hack", "_UIAC", 0) { Device(UIAC) { Name(_HID, "UIA00000") Name(RMCF, Package() { "8086_9dxx", Package() // examples: 0x9d2f, 0x9ded { "port-count", Buffer() { 18, 0, 0, 0 }, "ports", Package() { "HS02", Package() // HS USB right up { "UsbConnector", 0, "port", Buffer() { 2, 0, 0, 0 }, }, "HS03", Package() // HS USB right down { "UsbConnector", 0, "port", Buffer() { 3, 0, 0, 0 }, }, "HS04", Package() // HS USB left { "UsbConnector", 0, "port", Buffer() { 4, 0, 0, 0 }, }, "HS05", Package() // camera { "UsbConnector", 255, "port", Buffer() { 5, 0, 0, 0 }, }, "HS07", Package() // bluetooth { "UsbConnector", 255, "port", Buffer() { 7, 0, 0, 0 }, }, }, }, }) } } //EOF
Working features
Not working features
- if videos are not working install flash player and reboot.
- sleep (acpi "instant wake" patch is necessary).
- keyboard backlight enable/disable -> fn (control) + space
- Bluetooth and WiFi after card replacement
- Gestures: 2 finger scroll, 3 finger swipe (L and R), PinchToZoom, rotate, go back or forward with 2 fingers (see most updated VoodooPS2Controller.kext)
Installing Windows 10 after MacOS is installed
- SDcard reader (a user reported it can be fixed with Sinetek-rtsx.kext)
Make sure the BIOS is configured properly.
For dual boot make sure you add inf drivers to install.wim, using DISM gui, for ssd to be read during Windows 10 setup. Format (as NTFS, within the Windows installer) the placeholder HFS+J partition created with diskutil in MacOS (I get an error during setup but somehow after creating a new bootable usb it got solved: https://www.tonymacx86.com/threads/...next-to-macos-high-sierra-on-same-ssd.239403/).
Format USB with terminal:
Code:diskutil eraseDisk FAT32 USB GPT /dev/disk2
After installation is completed you won't be able to see clover bootloader at start. Using cmd.exe with administrator priviledges:
mount the EFI partition,Code:mountvol P: /S
Code:P:
access the partitionCode:cd EFI\Microsoft\Boot
rename the Windows bootloader file.Code:move bootmgfw.efi bootmgfw-orig.efi
Personal notes
Keyboard:
- system_profiler
- fans control -> intel app
- For sleep (start+alt+insert = alt option+cmd+eject)
Key logs:
- eject = insert
- cmd = Alt = AltGr
- Alt Option = Start
- Fn = Fn
- Control = Ctrl
Code:default 23:06:41.903320 +0100 kernel ACPIDebug: "EC _Q11 enter" default 23:06:41.905924 +0100 kernel ACPIDebug: "EC _Q11 exit" F11 default 23:06:46.545831 +0100 kernel ACPIDebug: "EC _Q12 enter" default 23:06:46.547385 +0100 kernel ACPIDebug: "EC _Q12 exit" F12 default 23:06:55.884069 +0100 kernel ACPIDebug: "EC _Q44 enter" default 23:06:55.884294 +0100 kernel ACPIDebug: "EC _Q44 exit" F4 default 22:08:19.706744 +0100 kernel ApplePS2Keyboard: sending key 3f=60 down default 22:08:19.839885 +0100 kernel ApplePS2Keyboard: sending key 3f=60 up F5 default 22:08:34.386758 +0100 kernel ApplePS2Keyboard: sending key e05b=3a down default 22:08:34.389130 +0100 kernel ApplePS2Keyboard: sending key 26=25 down default 22:08:34.611671 +0100 kernel ApplePS2Keyboard: sending key e05b=3a up default 22:08:34.615547 +0100 kernel ApplePS2Keyboard: sending key 26=25 up F9 default 22:08:39.417449 +0100 kernel ApplePS2Keyboard: sending key e05b=3a down default 22:08:39.420193 +0100 kernel ApplePS2Keyboard: sending key 19=23 down default 22:08:39.424453 +0100 kernel ApplePS2Keyboard: sending key 19=23 up default 22:08:39.431010 +0100 kernel ApplePS2Keyboard: sending key e05b=3a up F10 default 22:08:55.437706 +0100 kernel ApplePS2Keyboard: sending key e037=0, 0=80 down default 22:08:55.652938 +0100 kernel ApplePS2Keyboard: sending key e037=0, 0=80 up PRTSC default 22:08:59.427663 +0100 kernel ApplePS2Keyboard: sending key e052=92 down default 22:08:59.668309 +0100 kernel ApplePS2Keyboard: sending key e052=92 up INSERT
Installing linux
Remember to change boot order after installation if clover doesn't show up.
Do that using
Code:sudo efibootmgr sudo efibootmgr -o XXX,XXX,XXX
Special thanks to
RehabMan
without whom my machine wouldn't work.
Hi, you mean that the screen on your PC won't turn off? Can you try different SMBIOS? I have some problems when connecting to HDMI too, I think that you need properly patched backlight control (as suggested by Rehabman in some answers) and kexts installed in the correct way.... the screen won’t turn on if the system boots with a monitor attached ...
I can check this when I can connect to an HDMI monitor, stay tunedtoo lazy to read, but does audio work stable on HDMI?
Hey Uchika
I have got the trackpad to work properly using the ApplePS2SmartTouchPad.kext - It now appears as proper touchpad in system prefs
I am still having issues with my Geekbench score, the laptop feels stable but it's appearing very low in comparison to your score you posted - if you have a chance could I grab a copy of your .EFI just to see if I have messed something up
-
For anyone reading remove the VoodooPS2Controller Kext using
sudo rm -rf /Library/Extensions/VoodooPS2Controller.kext
And install the ApplePS2SmartTouchPad.kext using Hackintool
See point 11), I have fixed audio and HDMI problems following that guide if you are still interested.too lazy to read, but does audio work stable on HDMI?
Thanks for sharing. I have just updated my bootloader to OpenCore. I will share my configuration in a new post.I've created a custom voodoops2controller with modifying resolution and scrollresolution so it feels better to use, still need to set tracking speed to max though in system preferences.
In case for anyone who uses custom precision touchpad when using windows like me, and it feels weird with default setting of the kext.
Edit: Also forgot that the best layout-id for applealc is so far 15. But the only working internal mic is the right one.
Thanks for sharing. I have just updated my bootloader to OpenCore. I will share my configuration in a new post.