Contribute
Register

[Guide] Lenovo IdeaPad 320-14IKB, Clover and OpenCore UEFI Hotpatch

Status
Not open for further replies.
Joined
Dec 12, 2018
Messages
56
Motherboard
Lenovo Ideapad 320 14IKB
CPU
Intel i5 7200U
Graphics
Intel HD 620
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Lenovo IdeaPad 320-14IKB (80XK) Hackitnosh

A guide for installing macOS Big Sur on Lenovo IdeaPad 320-14IKB using Clover and OpenCore UEFI hotpatch.
(Check Github guide from here).





Note

I'm not an expert in hackintoshing, this is my first Hackintosh, I managed to get everything working in my laptop, your laptop may be different than mine, higher specifications, dedicated GPU, etc, it's not guaranteed to work a %100, if it's so then this guide may not work for you, be careful and good luck!
Laptop.png



Laptop's Hardware
  • CPU: Intel i5 7200U Dual-Core CPU (Kaby Lake-U)
  • GPU: Intel HD 620 Graphics
  • Storage: 500GB WD Blue Solid State Drive & 2TB Seagate Mobile Hard Drive (Upgraded)
  • RAM: 12 GB DDR4 2133MHz (Upgraded)
  • Screen: 13.9-inch Full HD (1920 x 1080)
  • Trackpad: ELAN (I2C)
  • Wi-Fi: Broadcom DW1560 (BCM94352Z) Dual Band M.2 Ngff WiFi Card (Upgraded)
  • Ports: 1 x USB-C, 2 x USB 3.0, USB 2.0 SD Card Reader, HDMI Display Port, Ethernet Port




Overview

This is a budget laptop, by these specs, you can't do some heavy work, battery life is around 2-3 hours, it's good but not the best, if you want more you can choose higher specs, but consider that this guide may be different for your hardware.



What's Working?
  • Intel HD 620 Graphics full QE/CI
  • CPU power management
  • Battery (Cycles doesn't show properly)
  • All USB ports
  • HDMI port (including HDMI Audio)
  • Realtek Ethernet
  • Battery (Cycles doesn't show properly)
  • Realtek ALC230 Audio (including headphones jack)
  • Wi-Fi & Bluetooth (including Apple services)
  • Internal webcam with Facetime
  • ELAN Trackpad with GPIO mode (including gestures)
  • Sleep (hibernation, lid sleep, and lid wake)
  • Native macOS Hibernation
  • Screen Brightness with Hotkeys
  • macOS High Sierra 10.13, Mojave 10.14, Catalina 10.15, Big Sur 11, Monterey 12

What's Not Working?
  • Apple Pay with TouchID, to confirm any purchases you need to type your password instead of using TouchID, more information here

Bugs
  • DRM support (iTunes Movies, Apple TV+, Amazon Prime and Netflix, and others) could be fixed in the future, more information here and here.
  • No sound if power unplugged or mic is being used after sleep, see issue#2
  • Microphone doesn't work on Google Chrome or Firefox, see issue#3
  • Lowest brightness, in real Macs, the lowest brightness turns the screen completely black, however, AppleBacklightSmoother Kext doesn't support this feature yet Fixed with `enable-backlight-smoother` property.
  • Screen light-up after wake, in Big Sur a second keyboard click is required to light up the screen, this can be fixed but it will break sleep causing an instant wake.
  • Bluetooth and Sleep don't seem to work in macOS Monterey 12 (for more information here Bluetooth has been fixed with BlueToolFixup in BrcmPatchRAM v2.6.0, and sleep has been fixed with 1.0.4 release of CpuTscSync.
  • RealtekCardReader and RealtekCardReaderFriend Kexts improves the SD Card experience and performance, however, a glitch occurs when inserting an SD Card, causing the SD Card to disappear until plugging it again, which could be fixed in future releases.

Requirement
  • 16GB USB drive
  • macOS Big Sur image downloaded from the Appstore
  • Mouse, because trackpad won't work in the installation Fixed with VoodoooI2C v2.4



BIOS Configuration

Before doing anything, make sure to update your BIOS to the latest version from here, preparing your laptop for macOS, reboot your laptop, when the Lenovo logo appears press F2, when the BIOS menu appears go to:
  • [Configuration] SATA Controller Mode to AHCI, HotKey Mode to Enabled.
  • [Security] Intel Platform Trust Technology to Enabled, Intel SGX to Software Controlled, Secure Boot to Disabled.
  • [Boot] Boot Mode to UEFI, Fast Boot to Enabled, USB Boot to Enabled.
  • [Exit] OS Optimized Defaults to Disabled.
Note: to install Windows 11 you need to enable Secure Boot temporarily, once it's done, you can disable it again.

Installation

After downloading macOS Big Sur from the AppStore (do not use a distro image like Hackintosh Zone otherwise it's gonna break your system and you won't get any support using it), Format your USB drive as "Mac OS Extended (Journaled)", then open Terminal and type:
sudo /Applications/Install\ macOS\ Big\ Sur\.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume
And remember, MyVolume is for the name of your USB drive, you can change it if you would, after it's done, mount the EFI partition in your USB, copy-and-paste the folder EFI in the EFI partition, unzip SMBIOS Generator, open terminal and drag-and-drop macserial to the terminal window, then type --generate-all and press enter, then copy MacBookPro14,1 SMBIOS (which is the closest one to this laptop's hardware) and change it, copy to both Clover's config.plist and OpenCore's config.plist, update your kexts and Clover Bootloader or OpenCore (if a new update is available), reboot your laptop and press F12 to enter BIOS Menu, choose your USB installer and boot from it, you should see the Clover Boot Menu, boot from the USB that shown, it may take some time to boot, after is done, you should see macOS Utilities, choose Disk Utility and erase the drive you want to install macOS on it, click on Erase and type the name that you want, like: "Macintosh HD", choose the format as APFS and Scheme as GUID Partition Map and click Erase, after it's done, close the window and go back to macOS Utilities and choose Install macOS, click Agree to accept the license agreement, the installation should starts now, your laptop should restarts several times, after it's done, login to your AppleID (for more specific guide please go here, after setting up your laptop, unzip the folder ALCPlugFix, run install.command and type your password, this is gonna fix the static noise from your headphone after sleep, install Sniki's CodecCommander Kext which can be found here to /Library/Extensions by running the command KextInstall.command, if you have problems with sleep please go here
Restart, and you're ready to go!


Extras


  • After you finish the installation you'll notice that your iMessage and other Apple services aren't working properly, to fix that issue you have to add ROM, MLB, and a proper SMBIOS (which is MacBookPro14,1 for this device) in your config.plist, for more information follow this guide from here.
  • If you have an SSD installed, you can enable TRIM support on it, just enable this option in your config.plist and enjoy! (consider that it may slow booting a bit for APFS formatted SSDs, more information about TRIM here)
Clover:
TRIM.png

OpenCore:
TRIM-OC.png

  • If you're a Synaptics trackpad user, your trackpad is supported! Just enable these options that can be found in Extras folder too your config.plist and copy VoodooI2CSynaptics.kext to Kexts or kexts/Other folder.
  • If you don't like the name of your machine that shown in "About This Mac", You can change it! Press Shift+Cmd+G (⇧⌘G) and copy-and-paste this path: /Users/Username/Library/Preferences/com.apple.SystemProfiler.plist, And remember, The word Username Is for your username, now download your favorite pilst editor (mine is "PilstEdit Pro"), Then you can change to Lenovo IdeaPad 320-14IKB (80XK) or any name you want.
Edit.png

About_This_Mac.png

  • Fn keys don't work usually on most Hackintoshes, luckily, YogaSMC can fix this! Not just enabling Fn keys and their abilities, it enables Lenovo features like Conversation Mode to stop charging the battery at %60 to increase it's age, ture Cycle Count reading because macOS ones can be wrong, Fn Mode etc, to get those features, YogaSMC[ICODE] is included inside the EFIs, all you have to do is install [ICODE]YogaSMCNC app and YogaSMCPane which are included in the release.
  • The keyboard experience on this laptop is a bit different than a real mac, in order to make the closest to a real mac we need to make a couple of changes, luckily, in the latest VoodooPS2 release, it automatically swaps Cmd to Win, if you want to reverse it, use SSDT-Swap-Alt-Cmd[ICODE] (or swap them in [ICODE]System Preferences as shown in the photo), to prevent PrtSc from disabling trackpad we need to remap it as F13 (can be remaped to take screenshots and record videos as shown in the photo) and remap F6 as PrtSc to disable trackpad, to make [/ICODE]Delete[/ICODE] key working like a real Mac we need to remap it as Backspace, BrightnessKeys Kext automatically remaps brightness keys without any ACPI requirements, if your brightness keys are F11 and F12, please remove these two lines using MaciASL which can be found here as they are not required and will affect brightness keys in Fn Mode, then compile it and replace it, if your brightness keys are F14 and F15, you're good to go! If you want to use all keyboard patches, there's an SSDT that combines them all which is SSDT-PS2-Map, please avoid using all of them to prevent having a Kernel Panic.
Remap.png
Keyboard.png
Brightness.png




  • 4GB of ram isn't enough these days, Unfortunately, 4GB is built-in the motherboard, so the maximum is 12GB, you can upgrade your RAM to 12GB total from here.
  • The Wi-Fi card that shipped with this laptop is probably an Intel Wi-Fi card which can be fixed with itlwm Kext which can be found here, please check all supported cards before buying from here, there's another option which is buying a Broadcom Card like DW1560 and DW1830, please check all supported cards before buying from here, or you can buy an Apple Wi-Fi Card like BCM94360CS2, an Apple wifi card for this laptop for less than 40$ (USD), nowadays, The DW1560 is quite expensive and it's not natively supported by Apple, fortunately, I bought it before it becomes expensive, you can buy it instead of the DW1560, no kexts needed because it's natively supported by macOS, The Wi-Fi Card, The Adapter, The Antennas.
  • You can change the frequency of your CPU in config.plist as shown in the photo, without changing it, macOS will recognize it as 2.71 GHz for some reason.
CPU.png

  • You can change the name of your graphics like this, I chose the name Intel HD Graphics 620 macOS Edition, you can choose whatever you want as shown in the photo.
Clover:
Graphics.png

OpenCore:

Graphics-OC.png

  • If your RAM information isn't shown properly in System Report you can fix that by adding it to your Clover's config.plist.
    RAM.png
  • You can make your laptop boots automatically to macOS if you don't have another OS installed as shown in the photos, type your drive's name, check Fast, now your laptop should boot automatically to macOS without the Clover Boot Menu
    Auto1.png
  • In OpenCore it's a bit different, disable ShowPicker and open System Preferences, Startup Disk, type your password, choose the disk that you boots from, and restart, if you want it to boot normally, press Esc in the startup menu, to show other disks and tools press Space, make sure to do this when you're done installing macOS and troubleshooting, in case you needed to boot to Preboot or reset NVRAM, etc.
    Auto-OC1.png
    Auto-OC2.png
    Auto-OC3.png
  • You can get the famous Mac-Chime when booting! By enabling these two options in your config.plist and copying AudioDxe.efi to Drivers folder you can get it, but consider that it may slow your booting a bit.
Chime.png

  • If you want to get these options to choose the resolution like this you can! by running this command:
    Code:
     bash -c "$(curl -fsSL https://raw.githubusercontent.com/xzhih/one-key-hidpi/master/hidpi.sh)"
    type your password and choose the numbers 1,3,1 then restart.
HiDPI.png

  • If you don't like the default Clover you can change it! Search the web and choose your favorite theme, copy-and-paste it to themes in EFI folder, then go to your config.plist, GUI section, Theme and type the name of your theme, you can use Clover OSS Theme, which looks like a real Mac boot-up screen.
Theme.png



Credits

 

Attachments

  • SMBIOS Generator.zip
    81.6 KB · Views: 409
  • Themes.zip
    2.2 MB · Views: 360
  • YogaSMC.zip
    10.4 MB · Views: 205
  • ACPI.zip
    23.2 KB · Views: 239
  • EFI Clover v1.1.7.zip
    13.5 MB · Views: 410
  • EFI OpenCore v1.1.7.zip
    13.3 MB · Views: 584
Last edited:
Hello. Our system is the same. I have successfully installed using your EFI. Is there anything you do for performance?

Ekran Resmi 2020-05-09 04.12.27.png
 
Hello. Our system is the same. I have successfully installed using your EFI. Is there anything you do for performance?

View attachment 468320
Hi
As I said, you need to disable the external GPU, by using boot-arg -wegnoegpu or add disable-external-gpu property.
And as I said earlier put credit in your guide
 
Thank you for your tutorial.
Here is a patch to change the brightness keys to f11 and f12.

My trackpad is synaptics 2b33 and I wanted your help to fix the touchpad in Opencore, if possible.

On Clover, I patch dsdt and edit some lines in iasl and it worked, but i don't understand how it works with the SSDT-I2C.

Why you use SSDT-I2C and SSDT-XOSI together?

Sorry for my horrible english.
 

Attachments

  • Patch_FnKeys_Brightness_Lenovo_Ideapad_320.txt
    292 bytes · Views: 193
Hi
Brightness keys are already patched in SSDT-KBD, delete VoodooI2CELAN kext and replace it with VoodooI2CSynaptics, in OpenCore config.plist find:
Code:
<dict>
                <key>BundlePath</key>
                <string>VoodooI2CELAN.kext</string>
                <key>Comment</key>
                <string>ELAN trackpad using GPIO mode</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooI2CELAN</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
and replace it with:
Code:
<dict>
                <key>BundlePath</key>
                <string>VoodooI2CSynaptics.kext</string>
                <key>Comment</key>
                <string>Synaptics trackpad using GPIO mode</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/VoodooI2CSynaptics</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>
SSDT-XOSI is used to remove restrictions on certain parts of the system and without it, you can't get a working trackpad.
 
Hi
Thanks for helping

I tried this yesterday and was unsuccessful.

How did you build the SSDT-I2C?

Here I have a copy of the Original DSDT and one of the Patch.

The DSDT Patch works on the touchpad.

If you could explain to me how to turn my patch into SSDT-I2C, I would be most grateful!
 

Attachments

  • DSDT Origin.aml
    115.3 KB · Views: 204
Hi
Thanks for helping

I tried this yesterday and was unsuccessful.

How did you build the SSDT-I2C?

Here I have a copy of the Original DSDT and one of the Patch.

The DSDT Patch works on the touchpad.

If you could explain to me how to turn my patch into SSDT-I2C, I would be most grateful!
Hi
What satellite are you using to get your Synaptics trackpad working? VoodooI2CSynaptics or VoodooI2CHID, also, can you provide me with a copy of IOREG to see what ACPI-device you're using, for example, ELAN trackpad uses I2C0 and TPD0, some other model requires I2C1 instead of TPD0.
I'm interested to fix your trackpad so I can add the patch to my guide.
 
Como estou usando sua EFI, talvez o meu IOReg sofra alguma interferência.

Por alguma razão, não posso usar minha antiga EFI com o Clover.

Eu não entendo o Opencore. Estou usando sua EFI para tentar se adaptar ao gerenciador de inicialização.

O touchpad é SYNA2B33.

Na pasta Kexts, existem o VodooI2C.Kext e o VodooI2CSynaptics.kext.
 
Last edited:
Hi
your Clover EFI has lots of not-needed patches like battery patches which Clover patch it automatically, use mine instead.
using GenI2C I was able to generate SSDT-I2C for my ELAN trackpad, I tried to generate one for your hardware but I couldn't because I don't have it (generate is based on hardware and I don't have Synaptics).
Do these steps to generate one for your Synaptics trackpad, and if you succeeded, share the patch so that I can add it to my guide.
Heres an example for me generating it:
1.png

2.png

3.png


4.png

5.png
 
Thank you, my dear friend!
It doesn't just work with GenI2C, but it helped a lot.
I manually edited some lines and went through trial and error.

For future users who have Synaptics trackpad, SYNA2B33, add this SSDT-SYNA2B33 with voodooI2C and VoodooI2CSynaptics.

In Clover:

Find _CRS: 5F 43 52 53
Replace XCRS: 58 43 52 53
Target Bridge TPD0: 54504430

Find _STA: 5F 53 54 41
Replace XSTA: 58 53 54 41
Target Bridge GPI0: 47 50 49 30
 

Attachments

  • SSDT-SYNA2B33.aml
    464 bytes · Views: 294
Status
Not open for further replies.
Back
Top