I start this topic to make my Lenovo Thinkpad W540 usable with High Sierra
I followed many guides but this one started by @tluck made me most progress:
My setup as in signature
I will update first post with statuses of working features:
Nvidia Quadro - disabled
Intel HD 4600 - working @ 1920x1080 and 1,5GB RAM (had to set ig-plaform-id as Haswell desktop, mobile do not work)
internal speakers and mic works with AppleACL.kext and profile 28
i boot MacOS from USB drive and it works, mouse and pendrive also works
USB power not work yet, so USB WiFi dongle and iPhone connection not work (no power @ USB)
IOReq finds only USB 3.0 controller not USB 2.0 even though I have 2 ports USB 3.0 and 2 ports USB 2.0
recognised in IOReq but not working now (probably due to USB)
as USB but works without problem
works with intelMausiEthernet.kext
internal is PS2 so VoodooPS2Controller.kext is needed - some mappings I would like to have different but works
works with VoodooPS2Controller.kext from @tluck topic
One time works mostly not - debugging in progress
intel - not working
Sleep / Hibernate:
Other found issues:
besides that graphics works @ 1920x1080 and have a lots of ram window shadows (especially dock shadow) looks bad
not tested yet
External Mini Display Port / Thunderbolt:
not tested yet
If you need DSDT edits for SkyLake, KabyLake or CoffeeLake...
-Post your full Clover folder with original tables in Origin folder(Extract with F4 in Clover boot screen)
-Run it, post files generated in your desktop
--Create a bootable copy of macOS Sierra
Check out the link
--Create a bootable copy of macOS HighSierra
Check out the link
--Install Clover in USB stick
--Replace with my Clover folder
--Install Sierra/High Sierra and boot into system!
--Install Clover in HDD/SSD and replace with my folder
--Reboot and activate video!
-Nvidia WebDriver Sierra
-Nvidia WebDriver High Sierra
My DSDT with patches for Skylake
DSDT.MaLd0n ASUS Z170M PLUS.zip
-FIX ERRORS AND WARNINGS
-HDAS to HDEF
-Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!
Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad and many, many, many others!
We're all here to have fun and learn from each other!
How to make AppleHDAController load on Ryzen boards?
Rename(/add) your audio controller to your DSDT/SSDT as HDEF
Add a _DSM method to your HDEF device with layout id 1
Patch the AppleHDAController binary, because it has a static table containing the supported PCI Vendor/DeviceID pairs and it also checks the VendorID against known values. As an example I provide a dif file and patched 10.13.3 binary, but if you want to I can patch the binary for other versions.
After AppleHDAController loads to actually get sound working you need to patch AppleHDA.kext for the codec on your board. First I tried to use Lilu+AppleALC for this task, but for some reason it refused to work. (I might look into it later why) But for the time being it was easier to use toleda's cloverALC script for that, but to make it work I had to change(/remove) the specified location of the HDEF device from the script. And for some reason it also required me to mount the EFI partition manually.
if [[ $(cat /tmp/HDEF.txt | grep -c "HDEF@1") != 0 ]]; then
if [[ $(cat /tmp/HDEF.txt | grep -c "HDEF") != 0 ]]; then
It is open source based on different projects: Chameleon, rEFIt, XNU, VirtualBox. The main is EDK2 latest revision.
I also want to thank all who help Slice with the development. Credits and copyrights remain in the sources. https://sourceforge.net/projects/cloverefiboot/?source=directory
There is a WIKI
If you have a question please provide outputs from DarwinDumper (formed from Trauma tool). Thanks Trauma! Continued by blackosx and STLVNUB.
Post#2 CloverGrower - create Clover by yourself
Post#4 Installation of the bootloader
Post#5 How to do UEFI boot
Post#6 How to use - common words
Post#7 Calculator for Automatic DSDT fix
Post#8 Instructions for GraphicsInjector
Post#9 ATIConnector patching
Post#10 Any kexts patching with some Samples
Post#12 Hiding unnecessary menu entries
Post#13 Instruction for DSDT corrections to do DeviceInjection works
Post#16 About kexts injection
Post#17 Instructions for P- and C-states generator
Post#18 Patching DSDT to get Sleep working
Post#19 CPU settings and geekbench
Post#20 ACPI tables loading
Post#22 Custom SMBios
Post#25 Using mouse.
Post#26 How to make orange icons to be metallic
Post#27 How to make software RAID (by Magnifico)
Post#28 How to modify InstallESD.dmg (by shiecldk)
Post#29 Config.plist settings
Post#30 Using extra kexts and skipping kernelcache
Post#31 Choosing EFI drivers
Post#32 Configuration files
Post#33 Automatic config.plist creating
Post#34 Custom DSDT patches
Post#35 How to do sleep/wake working with UEFI BOOT
Post#36 DeviceID substitution (FakeID)
Post#37 Using Custom OS Icons
Post#39 Floating regions
Post#41 Property List Editor
Post#42 Blocking Bad Kext
Post#44 FakeCPUID for unsupported CPU
Post#45 Multiple Boot Options - to write into UEFI BIOS boot menu
Post#46 How to install Windows UEFI
Post#47 How to speedup Clover boot
Post#48 Info.plist patching
Post#49 Arbitrary device injection
Post#50 Non-Standard Legacy Boot Files
Post#51 Reboot to Windows UEFI from Mac OSX
Post#52 Deprecated Features
Post#53 Using UDK2018
Post#54 Device Properties
I edited all posts in the thread to correspond to actual Clover revision.
Please install Clover at least 2652 and use new instructions.