This repo, the readme and all the files it containes won't get updated as I'm not using my hackintosh anymore. Please see below for which OpenCore version the config.plist is applicable and don't use it with any other version.
For the best success follow the vanilla OpenCore guide created by Dortania to set everything up: https://dortania.github.io/OpenCore-Install-Guide/
No pre-built kexts or ACPI files will be provided in this repo. Please use the provided links to download each file.
Note: Files marked with (e) are essential for booting, all other are providing extra functionality or fixing issues. If you decide to not use any of the files then you need to make changes according to this in the config.plist
DISCLAIMER: Use the provided files at your own risk. I´m not responsible if you break your laptop by just copy-pasting everything. If your laptop model is slightly different this setup may not work for you! Please don´t blindly copy-paste anything.
- Lenovo Ideapad 330s-15ikb 81F5
- CPU: Intel i5-8250U (KabyLake-R)
- iGPU: UHD620 (KabyLake-R)
- Disk 1: 512GB WD NVMe
- (added) Disk 2: 250GB sATA SSD (for Windows)
- (replaced) Wifi/BT-Card: BCM94352Z (Lenovo branded)
- macOS Big Sur 11.1
- OpenCore 0.6.4
- all used kexts up-to-date
external displays connected via HDMI are not recognized after wake from sleep/ reboot, need to re-plug cable (help appreciated)fixed by adding "force-online" under DeviceProperties>Add>PciRoot(0x0)/Pci(0x2,0x0)- Wifi, Bluetooth, Airdrop, SideCar, Sleep, Wake, iGPU acceleration etc. all working
- no non-working features known (please open an issue if you find any)
- Dortania OpenCore guide for Vanilla macOS/ Hackintosh setup
- RehabMan DSDT patching for working battery status
- WEG Framebuffer patching
Configuration> Intel Virtual Technology: Disabled(this option actually refers to the "VT-x" technology, which can be left enabled. VT-d is not accessible from the BIOS on this laptop)- Configuration> Storage> Controller Mode: AHCI mode
- Security> Intel Platform Trust Technology: Disbaled
- Security> Secure Boot: Disbaled
- Boot> Boot Mode: UEFI (should already be UEFI, just to be sure)
- Boot> USB Boot: Enabled
-> everything else can be left default
- the config.plist is the exact result of follwing the Dortania guide for Kabylake laptops
- do not forget to set up the Platforminfo/Generic/ section, this is unique to every Hackintosh as it contains SerialNumber, MLB, ROM. Use this guide
- for this setup the SMBIOS of the MacBookPro15,2 with i5-8259U is used, as it´s the closest we can match the i5-8250U of the Ideapad
- according to the Dortania guide a MacBookPro14,X is better, feel free to try and use those SMBIOS and see if it gets you better results. More information on choosing the right SMBIOS
Name | Description | Source |
---|---|---|
SSDT-BAT0 | for battery/ charging status | self-made, with RehabMan DSDT/SSDT-hotpatch guide |
SSDT-EC-USBX (e) | fake EC device and manag USB power settings | created with SSDTTime, https://dortania.github.io/Getting-Started-With-ACPI/Universal/ec-fix.html |
SSDT-ECRW | adds read/ write access for the EC | taken form Rehabman DSDT patch guide, https://www.tonymacx86.com/threads/guide-how-to-patch-dsdt-for-working-battery-status.116102/ |
REPLACED BY SSDT-TouchPad |
||
SSDT-GPRW | fixing sleep issues | https://dortania.github.io/OpenCore-Post-Install/usb/misc/instant-wake.html |
SSDT-HPET (e) | fixing IRQ conflicts | created with SSDTTime |
SSDT-LID | making sleep on lid-close work | self-made |
SSDT-PLUG | for CPU managment | created with SSDTTime, https://dortania.github.io/Getting-Started-With-ACPI/Universal/plug.html |
SSDT-PNLF | for backlight adjustment | https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-PNLF.aml |
SSDT-Q0A_QC9 | dirty work around for fixing ACPI errors with these methods, still need to find out what they are used for | self-made |
SSDT-SBUS-MCHC | make the SMBus work for better combatibility | https://dortania.github.io/Getting-Started-With-ACPI/Universal/smbus.html |
SSDT-TouchPad | makes the TPD0 (TouchPad) device think Windows is booted to make it fully functional (SSDT-GPI0 is merged into this) | self-made |
REPLACED BY SSDT-TouchPad |
Note: Please use the provided links, download the kexts and copy-paste them to your /EFI/OC/KEXT folder.
Name | Description | Source |
---|---|---|
AirportBrcmFixup | for WIFI on non-native WIFI cards | https://github.com/acidanthera/AirportBrcmFixup |
AppleALC | for native audio Input/ output (used with layoutid=14) | https://github.com/acidanthera/AppleALC |
BrcmBluetoothInjector + BrcmFirmwareData + BrcmPatchRam3 | uploading Bluetooth firmware | https://github.com/acidanthera/BrcmPatchRAM |
BrightnessKeys | make F11 and F12 work as brightness keys | https://github.com/acidanthera/BrightnessKeys |
CPUFriend (+ CPUFriendDataProvider) | more detailed power managment, to create the DataProvider kext follow the instructions in the source link | https://dortania.github.io/OpenCore-Post-Install/universal/pm.html#using-cpu-friend |
Lilu (e) | basically needed for almost all other kexts to work | https://github.com/acidanthera/Lilu |
NoTouchID | disbale TouchID-check for faster authorization | https://github.com/al3xtjames/NoTouchID |
NVMeFix | different patches for non-Apple SSDs | https://github.com/acidanthera/NVMeFix |
VirtaulSMC (e) + SMCProcessor + SMCBatteryManager | SMC virtualisation and sensor reading | https://github.com/acidanthera/VirtualSMC |
USBMap | mapping the USB ports | created with USBMap tool |
VoodooI2C + VoodooI2CHID | trackpad | https://github.com/VoodooI2C/VoodooI2C |
VoodooPS2Controller | keyboard (remove VoodooInput and VoodooPS2Trackpad from Plugins folder) | https://github.com/acidanthera/VoodooPS2 |
WhateverGreen (e) | framebuffer patching for iGPU and display ports | https://github.com/acidanthera/WhateverGreen |
YogaSMC | provides additional features to Lenovo laptops such as ThinkPad, Ideapad and Yoga (WIP) | https://github.com/zhen-zen/YogaSMC |
- only the additional driver HfsPlus.efi is needed, all other are provided by OpenCore: https://github.com/acidanthera/OcBinaryData/blob/master/Drivers/HfsPlus.efi
- these files are needed only for cosmetic reasons and add a GUI to the OpenCore boot picker menu: https://dortania.github.io/OpenCore-Post-Install/cosmetic/gui.html#setting-up-opencore-s-gui
- if you want to use the OC GUI you need to change the following in the config.plist: Misc> Boot> PickerMode: External
- download the OpenCore bootloader (the provided config.plist is only for version 0.6.4, and will not work on any other version): https://dortania.github.io/builds/?product=OpenCorePkg&viewall=true&version=0.6.4
- place all provided files in the respective folders
- (optional) add the "Resources" files from the link provided above to get a GUI for the boot picker
- follow this guide to get the macOS installer and create a bootable USB stick (for Windows): https://dortania.github.io/OpenCore-Install-Guide/installer-guide/winblows-install.html#downloading-macos
- copy the OpenCore folders BOOT and OC to the EFI folder on your USB stick
- insert the USB stick on the IdeaPad, press the power button and then repeatedly "F12" to select the USB in the boot manager
- you should (hopefully) be able to see the OpenCore boot picker with the option to "Install macOS..."
Warning: this can potentially damage or brick your BIOS.
To achieve 4k@30Hz over HDMI 1.4 and overall better iGPU performance it´s necessary to change the "DVMT pre-allocated" and "total DVMT pre-allocated" in the BIOS. Lenovo is locking down the BIOS so only a few options are available to the normal user and even the moddified GRUB shell method (explained [here] (https://dortania.github.io/OpenCore-Post-Install/misc/msr-lock.html#what-is-cfg-lock)) is blocked by Lenovo. However there´s another method to change hidden BIOS settings without actually modding the BIOS: via the RU.efi tool as explained here.
You can follow that guide to change the DVMT. Instead of "CFG" search through your extracted BIOS file for "DVMT" and note down the VarOffsets. Then proceed with the RU-tool like the guide explaines.
There´s a sample picture on how these values can look like provided in the repo. These values may vary for each BIOS version and/ or motherboard, so do not at all use the shown values!