{"config":{"indexing":"full","jieba_dict":null,"jieba_dict_user":null,"lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"","title":"Home"},{"location":"#faq","text":"","title":"FAQ"},{"location":"#does-everything-work","text":"
Core functions work flawlessly. Notable non-functional features include the fingerprint reader, WWAN, and USB 3.1 Gen2 hotplug.
","title":"Does everything work?"},{"location":"#is-this-project-maintained","text":"Yes, until eventually my x1c6 dies or macOS phases out update (even then, it'll likely last a few more years).
","title":"Is this project maintained?"},{"location":"#can-this-brick-my-laptop","text":"Not very likely, expect drive wipes and lost time, however.
","title":"Can this brick my laptop?"},{"location":"#can-you-port-this-for-x-machine","text":"No.
","title":"Can you port this for X machine?"},{"location":"#how-do-i-keep-my-hackintosh-setup-updated","text":"Currently, there is no automatic solution available. For now, I recommend you create a GitHub watch alert and update the EFI as it comes along.
","title":"How do I keep my Hackintosh setup updated?"},{"location":"#basic-references","text":"Warning
Please read, or at the least, browse through these great resources to get an idea of what's going on before proceeding. This is especially important if this is your first time (OpenCore) Hackintosh-ing.
multiboot
USB map
guideConfiguration.pdf
and Differences.pdf
in each OpenCore
releases.Tip
If I missed something here, refer to the official OpenCore docs first, then Dortania's docs. Only then, if you still haven't found what you're looking for, seek Google or forum help.
docs/references/
DISABLED
in BIOS to save power if not used in other OSes. Linux support was only recently added Wireless WAN \u274c DISABLED
in BIOS to save power if not used in other OSes. Unable to investigate as I have no need and my model did not come with WWAN. Load Apple's Graphics Micro Code (GuC) \u274c See Issue #103. Will never work AFAIK due to inherent incompatibility.","title":"Non-Fuctional:"},{"location":"#video-and-audio","text":"Feature Status Dependency Remarks Full Graphics Accleration (QE/CI) \u2705 WhateverGreen.kext
- Audio Recording \u2705 AppleALC.kext
with Layout ID = 21 - Audio Playback \u2705 AppleALC.kext
with Layout ID = 21 - Automatic Headphone Output Switching \u2705 AppleALC.kext
with Layout ID = 21 -","title":"Video and Audio"},{"location":"#power-charge-sleep-and-hibernation","text":"Feature Status Dependency Remarks Battery Percentage Indication \u2705 SSDT-Battery.aml
and /patches/OpenCore Patches/Battery.plist
CPU Power Management (SpeedShift) \u2705 XCPM
and CPUFriend.kext
, generate your own CPUFriendDataProvider
with CPUFriendFriend or one-key-cpufriend. iGPU Power Management \u2705 XCPM
, enabled by SSDT-PM.aml
NVMe Drive Battery Management \u2705 NVMeFix.kext
In my experience, NVMe drives will drain more power than SATA drives. S3 Sleep/ Hibernation Mode 3 \u2705 SSDT-Sleep.aml
Hibernation Mode 25 \u2705 RTCMemoryFixup.kext
and HibernationFixup.kext
Supported, macOS uses mode 3 by default. Change to mode 25 via pmset
. Custom Charge Threshold \u2705 SSDT-EC.aml
, YogaSMC.kext, and YogaSMCPane Adjust with YogaSMCPane in System Preferences Fan Control \u2705 SSDT-EC.aml
, YogaSMC.kext, and YogaSMCApp Adjust with YogaSMC App. Battery Life \u2705 Native, comparable to Windows/Linux. Biggest impact is TB3, see docs/BIOS.md Will need a modded BIOS to disable CFG Lock
","title":"Power, Charge, Sleep and Hibernation"},{"location":"#input-output","text":"Feature Status Dependency Remarks WiFi \u2705 Native with BCM94360CS2
, Intel AX200
is preferred. See /patches/ Network Patches/
for patches. Bluetooth \u2705 Native with BCM94360CS2
. Intel AX200
is preferred. See /patches/ Network Patches/
for patches. Ethernet \u2705 IntelMausi.kext
Needs Lenovo Ethernet adapter: Item page HDMI hotplug \u2705 Custom EDID Override /patches/Internal Displays/
Refer to Issue #60 if one does not exist already for your display. 4K UHD output via HDMI/ DisplayPort (Modded BIOS) \u2705 See DMVT Pre-Allocated
to 64M
See docs/BIOS.md for information about modding the BIOS. 4K UHD output via HDMI/ DisplayPort (Vanilla BIOS) \u2705 See /patches/OpenCore Patches/4K-Output-wo-BIOSmod.plist
- USB 2.0, USB 3.0, and Micro SD Card Reader \u2705 SSDT-XHC1.aml
- USB 3.1 \u26a0\ufe0f SSDT-TB-DSB2-XHC2.aml
USB 3.1 Gen2 hotplug will likely never work. It is also neither planned nor currently worked on. If you need USB 3.1 Gen2, coldboot the machine with the device attached. USB Power Properties in macOS \u2705 SSDT-XHC1.aml
- Thunderbolt 3 Hotplug \u2705 SSDT-TB-*
Native interface within System Report","title":"Input/ Output"},{"location":"#display-trackpad-trackpoint-and-keyboard","text":"Feature Status Dependency Remarks Brightness Adjustments \u2705 WhateverGreen.kext
, SSDT-PNLF.aml
, and BrightnessKeys.kext
HiDPI (Optional) \u2705 xzhih/one-key-hidpi Scaling issues post-sleep fixed with AAPL, ig-platform BAAnWQ==
TrackPoint \u2705 VoodooPS2Controller.kext
- TrackPad \u2705 VoodooPS2Controller.kext
or VoodooSMBus.kext
and VoodooRMI.kext
VoodooRMI.kext
is recommended and preferred over VoodooPS2
. Built-in Keyboard \u2705 VoodooPS2Controller.kext
Optimizations recommended, see docs/Post-Installation.md
Multimedia Keys \u2705 BrightnessKeys.kext
and YogaSMC YogaSMC
is recommended and preferred over ThinkpadAssisstant","title":"Display, TrackPad, TrackPoint, and Keyboard"},{"location":"#macos-continuity","text":"Feature Status Dependency Remarks iCloud, iMessage, FaceTime \u2705 Whitelisted Apple ID, Valid SMBIOS See dortania /OpenCore-Install-Guide Continuty \u2705 Native with BCM94360CS2
. ExtendBTFeatureFlags
to True
otherwise. See /patches/Network Patches/
for specific network card. AirDrop \u2705 Native with BCM94360CS2
. ExtendBTFeatureFlags
to True
otherwise. See /patches/Network Patches/
for specific network card. Sidecar \u2705 Native with BCM94360CS2
. ExtendBTFeatureFlags
to True
otherwise. iPad with >= iPadOS 13
Tested with iPad Mini with iPadOS 13.1.2 FileVault \u2705 as configured in config.plsit
per Dortania's Post-Install Time Machine \u2705 Native TimeMachine only backups your Macintosh partition. Manually backup your EFI partition using another method.","title":"macOS Continuity"},{"location":"CHANGELOG/","text":"All notable changes to this project will be documented in this file. The format is based on Keep a Changelog.
","title":"CHANGELOG"},{"location":"CHANGELOG/#2022-8-24","text":"","title":"2022-8-24"},{"location":"CHANGELOG/#added","text":"ToggleSipEntry.efi
to easily enable/disable SIP status during boot picker.RTCMemoryFixup.kext
BluetToolFixup.kext
to fix Bluetooth stack in macOS Monterey. (It should on load on macOS Monterey).HFSPlus.efi
install EFI
is now deprecated. Use the main EFI
to install macOS (You may also wish to enable ShowPicker
, as well as -v
in boot-args
)docs/Hardware.md
no longer requires a wireless card change. The recommendaiton/preferred card is now AX200.Resources
folder structuring and added new support files.ECEnabler.kext
in favor of SSDT-Battery
(ECEnabler
had some trouble updating charge level for me).SSDT-Battery
in favor of ECEnabler.kext
Resources
per master repo update.1.4.3
SSDT-Keyboard
patches now that YogaSMC partially handles keyboard locale.Resources
with latest `OCBinaryDataocvalidate
(0.6.5) in OC
to easily check and validate config.plist
changes.config.plist
SSDT-PWRB
to patch power button.SSDT-XHC2
is also now apart of this.SSDT-Sleep
SSDT-Battery
to rev8, thanks @benbenderYogaSMC
to stable build 1.3.0
SSDT-Battery
. Thanks @benbenderYogaSMC
is now recommended and preferred.TbtForcePower.efi
as it is no longer needed.ThunderboltReset.kext
has it is no longer needed.YogaSMC
is now the preferred method to handle Fn keys instead of ThinkpadAssisstant.YogaSMC
is still in its infancy, so you still prefer ThinkpadAssistant, use SSDT-Keyboard-Legacy.dsl
and /patches/OpenCore Patches/ Keyboard-Legacy.plist
config.plsit
:Arch
value to each kext entry in accordance with new OpenCore doc.ExtendBTFeatureFlags
value to replace BT4LEContinuityFixup
/patches/
to make things easier to find and understand.3_README-POSTinstallation.md
to SUMMARY.md
since it's not really a step but more of an overview of what patches what.SSDT-Keyboard
SSDT-PNLF
to accomodate AppleBacklightSmoother.kext
SSDT-Battery
that fixes accesses to 16byte-EC-field HWAC (Issue #82).SSDT-Sleep
is an all-in-one sleep patch over SSDT-PTSWAK
, SSDT-GPRW
, SSDT-EXT*
Linux
in BIOS as it is now indepently set by SSDT-Sleep
If (_OSI (\"Darwin\"))
and SSDT-DTPG
are now replaced in favor of SSDT-Darwin
and OSDW
, just like in genuine Macs.USBPorts.kext
in favor of patching/mapping via ACPI with SSDT-XHC1
, SSDT-XHC2
, and SSDT-USBX
README.md
:3_README-POSTinstallation.md
into the SUMMARY
section.HibernateMode
to NVRAM
instead of Auto
update.sh
script to automatically build and replace all ACPI patchesSSDT-HWAC
to patch access to 16byte-EC-field HWACSSDT-EC
to patch embedded controller for use with YogaSMC
SSDT-Debug
, SSDT-HOOKS
, and Debug.plist
for debugging if neededSSDT-INIT
to configure system values: HPET
, DYTC
, and DPTF
YogaSMC.kext
to interface with the device's EC. Make sure to also install the app and pref pane.AppleBacklightSmoother.kext
is just as its name implies.BrightnessKeys.kext
to handle Fn keys with ACPI renames.SSDT-HPET
, similar to genuine Macs, HPET is now disabled within SSDT-INIT
ThunderboltReset.kext
so I replaced it one built by @benbender. You can monitor the issue here osy86/ThunderboltReset/issues/7. Thank you @benbender for noticing this.VoodooRMI
RTCMemoryFixUp
for support of Hibernation Mode 25.uninstall.sh
from the previous commit to remove ALCPlugFix. Resources
GPRW
ACPI patch to fix Bluetooth wake. Make sure that your Wake-on-LAN is disabled in BIOS to prevent sleep problems.SMCSuperIO
as it was unnecessary.PlayChime
to Yes
if you want it.AudioDxe.efi
can upsample audio on the fly.BIOS-v1.45
. Thanks @benbender for bringing this to my attention.VoodooRMI
, this kext is now stable.dortania
as referring to their often updated content should be better.config.plist
is now defaulted to users with a BIOS mod, those without a BIOS mod will need to add config_unmoddedBIOS.plist
to config.plist
OpenCore-EFI
now has the 4K output patch disabled for easier system upgrades. Install OpenCore patches/4K-Output
if you need it.VoodooRMI
patches/Internal Displays/
for the WQHD HDR Screen:EFI-OpenCore/README.md
about decisions on config.plist
VoodooRMI
as alternative trackpad option. Enabled by default, feel free to revert back to VoodooPS2Mouse
and VoodooPS2Trackpad
if you prefer. *Note, there's currently a bug with RMI where the touchpad would not load once in a while. The RMI kext uploaded in this repo has a temp fix by me (See VoodooSMBUS/PR). However, the issue is still ongoing and the dev team is aware of it. I'm switching this repo to VoodooRMI because I believe it's the future and I want to possible bugs to be reported to be fixed for the kext's first stable release. XQ74
patch in SSDT-Keyboard
to support FnLock
HUD per ThinkpadAssistant 1.8.0config.plist
. I will continue to update this section with more details as time goes on. disable-external-gpu
or -wegnoegpu
. For some strange reasons, that variable activated on-board HDMI. See similar reports here. I'm going to create an issue on acidanthera/bugtracker soon to report to the dev team. In the mean time, keep this property if you rely on HDMI and do not have an eGPU. Delete this property if you have an eGPU (You're likely using the HDMI on the eGPU anyway).VoodooPS2
kexts loading order.HibernateMode
to Auto
DSDT
.SSDT-MCHC
and SSDT-SBUS
for VoodooRMI
compatibility.SSDT-EXT3
with SSDT-LED
tyler
to somewhat track distributions and usage across various projectsSMCLightSensor.kext
has been removed as the x1c6 has no ambient light sensor.Keyboard Perfection is almost here! - Modified SSDT-Keyboard patch to be compatible with ThinkpadAssistant. - Mute/unMute Microphone with F4, with LED! - Disable WiFi with F8 - Mirror with F7 - Bluetooth, F10 still has to be handled by BetterTouchTool, but hopefully supported will be added soon. See my request
","title":"Changed"},{"location":"CHANGELOG/#2020-5-9","text":"","title":"2020-5-9"},{"location":"CHANGELOG/#changed_26","text":"TbtForcePower.efi
from LiveUSB OpenCore config.plist
install_USB
to 0. config.plist
assets
folder into docs/
.config.plist
as they are unnecessary.BIOS-v1.43
.0.5.3
.patches
. Making sure to read patches/README
.EFI-Clover/README.md
.docs
.Start by creating a vanilla macOS installer, refer to Dortania's Creating the USB.
You may also use createinstallmedia
if you already have a Mac.
Tip
Often as above, the project will defer universal steps to Dortania links. Hence, this repository is meant to be used in conjunction with their guides.
","title":"Creating the macOS Installer"},{"location":"installing-macOS/#efi-partition","text":"Make the following changes to config.plist
within the EFI
folder.
ShowPicker
to YES
/patches/ OpenCore Patches/ Vanilla BIOS.plist
with config.plist
Note
It is generally a good idea to keep the install media around. As you tweak your own OpenCore config.plist
, things may break and you will not be able to get back into macOS using the system's OpenCore. In those times, you can use the install drive to boot into macOS.
Mount the installer media's EFI parition. You may do this via the command line with diskutil
or via a utility like corpnewt/MountEFI.
Copy the EFI folder into the installer media's EFI partition. Remember that the top directory level should be EFI
.
Boot into the macOS installer envrionemnt using the media. Format target disk as APFS
using Disk Utility
and complete installation.
Once macOS has been installed, boot the installed macOS paritition with the existing installer USB and complete new user setup.
Copy EFI
onto the macOS drive's EFI partition. Set ShowPicker
to NO
for a cleaner boot experience. You can still access the boot picker by pressing ESC
during boot time.
Success
At this point, your machine should boot into macOS without anything attached.
","title":"EFI Partition"},{"location":"issues/","text":"","title":"Issues"},{"location":"issues/#faq","text":"Warning
None of this applies to you if your machine is not an X1C6, or similar models such as the T480. You're on your own there.
","title":"FAQ"},{"location":"issues/#machine-boots-to-blackbios-andor-selector","text":"Double check your EFI paritiion dirrectory structure. The directory structure should look as /Volumes/EFI/EFI/
OC
BOOT
/patches/Network Patches
and /patches/Display Patches
.Defer to Dortania's General Troubleshooting.
Bug
You may find the patches under /patches/Debug Patches/
useful in getting logs.
Note
While inernal docs are written specifically for my X1C6, some of it are applicable to KabyLake ThinkPads. And to a lesser extent, different generation Carbon ThinkPads.
Explainations of config choices in config.plist
: technical/config.plist.md
Explaination of ACPI patches: technical/patches.md
Keyboard Query Map: technical/keyboard-queries.md
Debug EC Queries: technical/EC-queries.md
ALC285 Audio Codec Dump: technical/ALC285.md
JackSense, EAPD, and AppleALC Patch Explaination: Issue #75/ comment by ghost
Info
The Ubuntu Wiki also has an ACPI Tricks and Tips section.
Warning
Some patches within OC-Little can be oudated, badly done, or fragmented because of different patch authors. Consider using this resource only as a reference and basic guide, not a patch repository.
Consider reading Configuration.pdf
from the OpenCore release package if you haven't. From there, pay attention to Differences.pdf
with everynew OpenCore releases.
WhateverGreen Intel HD Graphics FAQ: WhateverGreen/Manual/FAQ.IntelHD.en.md
It is possible to enable Secure Boot with macOS. Doing so will require custom secure boot keys and signing OpenCore binaries each update. See profzei/Matebook-X-Pro-2018/wiki for a basic getting started guide.
Info
UEFI Secure Boot Explaination: hac-mini-guide/details/secure-boot
","title":"UEFI Secure Boot"},{"location":"technical/#thunderbolt-3","text":"osy has a great write-up of patching Thunderbolt 3 hotplug under macOS. See Part 1, Part 2, and Part 3.
","title":"Thunderbolt 3"},{"location":"BIOS/modding-the-BIOS/","text":"Note
BIOS modding is optional.
Danger
The BIOS mod may permanently break TPM. Consider this if you wish to proceed, especially now that TPM is required for Windows 11.
A modded BIOS will allow for more optimizations to be made for macOS and will overall make your hackintosh better. I am a BIOS modding novice myself, but with these instructions, I was able to mod my x1c6 BIOS in less than one hour. I fully recommend doing this for all who think themselves capable. Furthermore, the default config.plist
for this repository is meant to accommodate a modded BIOS with appropriate settings. If you cannot mod your BIOS or is unwilling to do so, use Vanilla BIOS.plist
.
Recommendation
The CH341a SPI Programmer and SOIC8 Clip are needed to dump, mod, and flash the BIOS chip. There are better and more profession alternative devices but I've found this one to be adequate for the job.
Purchase from amazon.com
Info
The BIOS chip is located above the CPU, under the sticker shield:
Here are the steps to mod your BIOS (credits to paranoidbashthot
and \\x
). Attempt this at your own risk.
xx_80_patches-v*.txt
, I commented out WWAN patches since I do not need it.Tip
@notthebee also has a useful video to follow:
diff
to make sure things were dumped properly, store this backup somewhere safe.BIOS-v1.45
, I cannot be sure about other BIOS versions. Though they will most likely work as well.The modded BIOS does not need to be signed by thinkpad-eufi-sign
. Remember to replace 4C 4E 56 42 42 53 45 43 FB
with 4C 4E 56 42 42 53 45 43 FF
on the patched BIOS.
Your BIOS chip may not be made by Winbond, but by Macronix instead. In that case, add the argument -c MX25L12835F/MX25L12845E/MX25L12865E
to flashrom
. See Issue #116
Advance Menu
tab.
The following are further optimization settings that can be figured once your BIOS is modded.
graph TD\n id1[Advance Tab]-->id2[Intel Advanced Menu];\n id2-->id3[System Agent Configuration];\n id2-->id4[Power & Performance];\n id3-->id5[Graphics Configuration];\n id4-->id6[CPU - Power Management Control];\n id5-->|DVMT Pre-Allocated|64M;\n id6-->id7[CPU Lock Configuration];\n id7-->|CFG Lock|Disabled;
i7-8650U
, verified by stress testing with Prime95
and Heaven Benchmark
, your may be worse or better, please do your own testing. In addition, I suggest you repaste your machine with an aftermarket thermal paste for lower temps and a better undervolt.graph TD\n id1[Advance Tab]-->id2[Intel Advanced Menu];\n id2-->id3[OverClocking Performance Menu];\n id3-->|OverClocking Feature|Enabled;\n id3-->Processor;\n id3-->GT;\n id3-->Uncore;\n Processor-->|Voltage Offset|100;\n Processor-->|Offset Prefix|id4[-];\n GT-->|GT Voltage Offset|id8[80];\n GT-->|Offset Prefix|id5[-];\n GT-->|GTU Voltage Offset|id8;\n GT-->|Offset Prefix|id5;\n Uncore-->|Uncore Voltage Offset|80;\n Uncore-->|Offset Prefix|id6[-];
The following settings depend on your own personal preference:
If you want to optimize CPU performance at the cost of battery:
graph LR\n id1[Advance Tab]-->id2[Power & Performance];\n id2-->id3[CPU - Power Management Control];\n id3-->|Boot Performance Mode|id4[Turbo Performance];\n id3-->|Config TDP Configurations|Up;
graph LR\n id1[Advance Tab]-->id2[Power & Performance];\n id2-->id3[CPU - Power Management Control];\n id3-->|Boot Performance Mode|id4[Max Battery];\n id3-->|Config TDP Configurations|Down;
","title":"Settings for Modded BIOS"},{"location":"BIOS/settings-for-vanilla-BIOS/","text":"These BIOS settings must be made to install and run macOS without any problems:
graph LR\n id1[Main Menu]-->Security;\n id1-->Config;\n id1-->Startup;\n Security-->TPM[Security Chip];\n Security-->Fingerprint;\n Security-->SBC[Secure Boot Configuration];\n Config-->Network;\n Startup-->|UEFI/Legacy Boot|id4[UEFI Only];\n Startup-->|CSM Support|No;\n TPM-->|Security Chip|id2[Disabled];\n Fingerprint-->|Predesktop Authentication|id2;\n SBC-->|Secure Boot|id2;\n Network-->|Wake on LAN|id3[Disabled];\n Network-->|Wake on LAN from Dock|id3;\n Network-->|UEFI IPv4 Network Stack|id3;\n Network-->|UEFI IPv6 Network Stack|id3;
Tip
You can also disable hardware/features you do not need to save power, some examples are:
graph LR\n id1[Main Menu]-->Security;\n id1-->Config;\n Security-->id2[I/O Port Access];\n Config-->USB;\n id2-->|Wireless WAN|id3[Disabled];\n id2-->|Fingerprint Reader|id3;\n id2-->|Memory Card Slot|id3;\n USB-->|Always on USB|Disabled;
graph LR\n id1[Main Menu]-->Config;\n Config-->id2[Thunderbolt 3];\n id2-->|Thunderbolt BIOS Assist Mode|Enabled;\n id2-->|Thunderbolt Device|Enabled;
graph LR\n id1[Main Menu]-->Config;\n Config-->id2[Thunderbolt 3];\n id2-->|Thunderbolt BIOS Assist Mode|Disabled;\n id2-->|Security Level|id3[No Security];\n id2-->|Support in Pre Boot Environment: Thunderbolt Device|Disabled;
","title":"Settings for Vanilla BIOS"},{"location":"hardware/optimizing-hardware/","text":"","title":"Optimizing Hardware"},{"location":"hardware/optimizing-hardware/#repaste-the-cooler","text":"Info
tl;dr - The X1C6 has different cooler fan manufacturers, and they differ greatly in noise and performance.
Learn more from reddit.com
","title":"Replace the Fan (if applicable)"},{"location":"hardware/optimizing-hardware/#battery-replacement","text":"Recommendation
Depending on the battery health (cycle count, max capacity), consider getting a battery replacement.
Warning
Avoid battery replacements from eBay as their autheticity cannot be verified. Addtionaly, their reported capacity, cycle count, and longevity can be misleading.
Purchase from lenovo.encompass.com
","title":"Battery Replacement"},{"location":"hardware/parts-replacements/","text":"","title":"Parts Replacements"},{"location":"hardware/parts-replacements/#storage","text":"Warning
The factory PM981 NVMe drive does not play well with macOS.
For installation on the factory drive PM981
, please refer to Issue #43. I do, however, recommend against this.
Note
Replace the PM981 with an aftermarket NVMe for a much smoother experience.
Consult the dortania/Anti-Hackintosh-Buyers-Guide for up-to-date storage recommendations.
Tip
You can install an additional M.2 2242 NVMe drive in the WWAN card slot.
This is very useful if you intend to also use Windows/Linux, as partitioning a single drive for dual booting can be troublesome.
","title":"Storage"},{"location":"hardware/parts-replacements/#wifi-and-bluetooth","text":"Tip
If your laptop did not come with WWAN, you can purchase additional antennas to add to your laptop. This is useful when using WiFi/Bluetooth cards that have 3 antennas.
Note
See patches/Network Patches/
for OpenCore patches for custom wireless cards.
dortania/Wireless-Buyers-Guide
. Warning
Enabling HiDPI requires disabling Apple's System Integrity Protection (SIP).
Danger
Users of SecureBootModel
may end up in a RecoveryOS boot loop if the system partition has been modified. To resolve this, Reset NVRAM and set SecureBootModel
to Disabled
ToggleSipEntry.efi
at Boot Picker./patches/Internal Displays/
, merge them with config.plist
I recommend that you dual boot using another drive in the WWAN slot (I have the WDC PC SN520 NVMe 2242). This makes installation much easier, and lets the BIOS F12 option act as your boot manager.
Note
Lenovo's Boot Manager will not have an entry for the WWAN NVMe. Most OS(es) will create a bootloader entry during install. If not, use OpenCore to boot into these partitions. See dortania / OpenCore-Multiboot
Tip
It is possible to share Bluetooth pairing keys between Windows and macOS when dual booting.
The .reg
for Bluetooth connected devices in macOS can be exported using Hackintool's Utilities section. This key can then be imported to Windows.
Note
We\u2019re sorry, but this serial number isn\u2019t valid
is fine and has personally worked and working for me and many others. Purchase Date not Validated
can be a problem down the line if a legitimate machine with that PlatformInfo is activated.
Note
MultiMedia Fn keys will work out of the box. Special Fn keys require YogaSMC App to be installed. Additionally, some parameters can be configured with YogaSMC's PrefPane plugin.
System Preferences/Keyboard/Shortcuts
)Use F1, F2, etc. keys as standard function keys
in System Preferences/Keyboard
to gain access to standard F keys:
Tip
Karabiner-Elements and BetterTouchTool are great advanced customization tools for your keyboard.
","title":"Keyboard"},{"location":"post-installation/sleep/","text":"Battery
and Power Adapter
.Disable Wake for Network Access
in Power Adapter
.
Uncheck Allow Bluetooth devices to wake this computer
if you do not need it.
hibernatefile
.sudo pmset -a tcpkeepalive 0
to disable Network while sleeping.sudo pmset -a proximitywake 0
to disable peripheral wake agent.Disabled
Security Level No Security
Support in Pre Boot Environment: Thunderbolt(TM) Device Disabled
Warning
USB 3.1 Gen2 hotplug will likely never work. It is also neither planned nor currently worked on. If you need USB 3.1 Gen2, coldboot the machine with the device attached.
","title":"Thunderbolt 3"},{"location":"post-installation/trackpad/","text":"","title":"Trackpad"},{"location":"technical/ALC285/","text":"
Codec: Realtek ALC285\nAddress: 0\nAFG Function Id: 0x1 (unsol 1)\nVendor Id: 0x10ec0285\nSubsystem Id: 0x17aa225c\nRevision Id: 0x100002\nNo Modem Function Group found\nDefault PCM:\n rates [0x560]: 44100 48000 96000 192000\n bits [0xe]: 16 20 24\n formats [0x1]: PCM\nDefault Amp-In caps: N/A\nDefault Amp-Out caps: N/A\nState of AFG node 0x01:\n Power states: D0 D1 D2 D3 D3cold CLKSTOP EPSS\n Power: setting=D0, actual=D0\nGPIO: io=3, o=0, i=0, unsolicited=1, wake=0\n IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0\n IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0\n IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0\nNode 0x02 [Audio Output] wcaps 0x41d: Stereo Amp-Out\n Control: name=\"Line Out Playback Volume\", index=0, device=0\n ControlAmp: chs=3, dir=Out, idx=0, ofs=0\n Device: name=\"ALC285 Analog\", type=\"Audio\", device=0\n Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0\n Amp-Out vals: [0x3c 0x3c]\n Converter: stream=0, channel=0\n PCM:\n rates [0x40]: 48000\n bits [0xe]: 16 20 24\n formats [0x1]: PCM\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\nNode 0x03 [Audio Output] wcaps 0x41d: Stereo Amp-Out\n Amp-Out caps: ofs=0x57, nsteps=0x57, stepsize=0x02, mute=0\n Amp-Out vals: [0x57 0x57]\n Converter: stream=0, channel=0\n PCM:\n rates [0x40]: 48000\n bits [0xe]: 16 20 24\n formats [0x1]: PCM\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\nNode 0x04 [Vendor Defined Widget] wcaps 0xf00000: Mono\nNode 0x05 [Vendor Defined Widget] wcaps 0xf00000: Mono\nNode 0x06 [Audio Output] wcaps 0x411: Stereo\n Converter: stream=0, channel=0\n PCM:\n rates [0x40]: 48000\n bits [0xe]: 16 20 24\n formats [0x1]: PCM\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\nNode 0x07 [Audio Input] wcaps 0x10051b: Stereo Amp-In\n Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1\n Amp-In vals: [0x97 0x97]\n Converter: stream=0, channel=0\n SDI-Select: 0\n PCM:\n rates [0x40]: 48000\n bits [0xe]: 16 20 24\n formats [0x1]: PCM\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\n Connection: 1\n 0x24\nNode 0x08 [Audio Input] wcaps 0x10051b: Stereo Amp-In\n Control: name=\"Capture Volume\", index=0, device=0\n ControlAmp: chs=3, dir=In, idx=0, ofs=0\n Control: name=\"Capture Switch\", index=0, device=0\n ControlAmp: chs=3, dir=In, idx=0, ofs=0\n Device: name=\"ALC285 Analog\", type=\"Audio\", device=0\n Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1\n Amp-In vals: [0x27 0x27]\n Converter: stream=0, channel=0\n SDI-Select: 0\n PCM:\n rates [0x560]: 44100 48000 96000 192000\n bits [0xe]: 16 20 24\n formats [0x1]: PCM\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\n Connection: 1\n 0x23\nNode 0x09 [Audio Input] wcaps 0x10051b: Stereo Amp-In\n Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1\n Amp-In vals: [0x97 0x97]\n Converter: stream=0, channel=0\n SDI-Select: 0\n PCM:\n rates [0x560]: 44100 48000 96000 192000\n bits [0xe]: 16 20 24\n formats [0x1]: PCM\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\n Connection: 1\n 0x22\nNode 0x0a [Vendor Defined Widget] wcaps 0xf00000: Mono\nNode 0x0b [Vendor Defined Widget] wcaps 0xf00000: Mono\nNode 0x0c [Vendor Defined Widget] wcaps 0xf00000: Mono\nNode 0x0d [Vendor Defined Widget] wcaps 0xf00000: Mono\nNode 0x0e [Vendor Defined Widget] wcaps 0xf00000: Mono\nNode 0x0f [Vendor Defined Widget] wcaps 0xf00000: Mono\nNode 0x10 [Vendor Defined Widget] wcaps 0xf00000: Mono\nNode 0x11 [Vendor Defined Widget] wcaps 0xf00000: Mono\nNode 0x12 [Pin Complex] wcaps 0x40040b: Stereo Amp-In\n Control: name=\"Internal Mic Boost Volume\", index=0, device=0\n ControlAmp: chs=3, dir=In, idx=0, ofs=0\n Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0\n Amp-In vals: [0x00 0x00]\n Pincap 0x00000020: IN\n Pin Default 0x90a60130: [Fixed] Mic at Int N/A\n Conn = Digital, Color = Unknown\n DefAssociation = 0x3, Sequence = 0x0\n Misc = NO_PRESENCE\n Pin-ctls: 0x20: IN\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\nNode 0x13 [Pin Complex] wcaps 0x40040b: Stereo Amp-In\n Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0\n Amp-In vals: [0x00 0x00]\n Pincap 0x00000020: IN\n Pin Default 0x40000000: [N/A] Line Out at Ext N/A\n Conn = Unknown, Color = Unknown\n DefAssociation = 0x0, Sequence = 0x0\n Pin-ctls: 0x00:\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\nNode 0x14 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out\n Control: name=\"Speaker Playback Switch\", index=0, device=0\n ControlAmp: chs=3, dir=Out, idx=0, ofs=0\n Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1\n Amp-Out vals: [0x00 0x00]\n Pincap 0x00010014: OUT EAPD Detect\n EAPD 0x2: EAPD\n Pin Default 0x90170110: [Fixed] Speaker at Int N/A\n Conn = Analog, Color = Unknown\n DefAssociation = 0x1, Sequence = 0x0\n Misc = NO_PRESENCE\n Pin-ctls: 0x40: OUT\n Unsolicited: tag=00, enabled=0\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\n Connection: 1\n 0x02\nNode 0x15 [Vendor Defined Widget] wcaps 0xf00000: Mono\nNode 0x16 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out\n Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1\n Amp-Out vals: [0x80 0x80]\n Pincap 0x0000001c: OUT HP Detect\n Pin Default 0x411111f0: [N/A] Speaker at Ext Rear\n Conn = 1/8, Color = Black\n DefAssociation = 0xf, Sequence = 0x0\n Misc = NO_PRESENCE\n Pin-ctls: 0x00:\n Unsolicited: tag=00, enabled=0\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\n Connection: 2\n 0x02* 0x03\nNode 0x17 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out\n Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1\n Amp-Out vals: [0x80 0x80]\n Pincap 0x0000001c: OUT HP Detect\n Pin Default 0x411111f0: [N/A] Speaker at Ext Rear\n Conn = 1/8, Color = Black\n DefAssociation = 0xf, Sequence = 0x0\n Misc = NO_PRESENCE\n Pin-ctls: 0x00:\n Unsolicited: tag=00, enabled=0\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\n Connection: 3\n 0x02* 0x03 0x06\nNode 0x18 [Pin Complex] wcaps 0x40048b: Stereo Amp-In\n Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0\n Amp-In vals: [0x00 0x00]\n Pincap 0x00000024: IN Detect\n Pin Default 0x411111f0: [N/A] Speaker at Ext Rear\n Conn = 1/8, Color = Black\n DefAssociation = 0xf, Sequence = 0x0\n Misc = NO_PRESENCE\n Pin-ctls: 0x00:\n Unsolicited: tag=00, enabled=0\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\nNode 0x19 [Pin Complex] wcaps 0x40048b: Stereo Amp-In\n Control: name=\"Mic Boost Volume\", index=0, device=0\n ControlAmp: chs=3, dir=In, idx=0, ofs=0\n Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0\n Amp-In vals: [0x00 0x00]\n Pincap 0x00003724: IN Detect\n Vref caps: HIZ 50 GRD 80 100\n Pin Default 0x04a11040: [Jack] Mic at Ext Right\n Conn = 1/8, Color = Black\n DefAssociation = 0x4, Sequence = 0x0\n Pin-ctls: 0x24: IN VREF_80\n Unsolicited: tag=02, enabled=1\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\nNode 0x1a [Pin Complex] wcaps 0x40048b: Stereo Amp-In\n Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0\n Amp-In vals: [0x00 0x00]\n Pincap 0x00003724: IN Detect\n Vref caps: HIZ 50 GRD 80 100\n Pin Default 0x411111f0: [N/A] Speaker at Ext Rear\n Conn = 1/8, Color = Black\n DefAssociation = 0xf, Sequence = 0x0\n Misc = NO_PRESENCE\n Pin-ctls: 0x00: VREF_HIZ\n Unsolicited: tag=00, enabled=0\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\nNode 0x1b [Pin Complex] wcaps 0x40058f: Stereo Amp-In Amp-Out\n Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0\n Amp-In vals: [0x00 0x00]\n Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1\n Amp-Out vals: [0x80 0x80]\n Pincap 0x00013734: IN OUT EAPD Detect\n Vref caps: HIZ 50 GRD 80 100\n EAPD 0x2: EAPD\n Pin Default 0x411111f0: [N/A] Speaker at Ext Rear\n Conn = 1/8, Color = Black\n DefAssociation = 0xf, Sequence = 0x0\n Misc = NO_PRESENCE\n Pin-ctls: 0x00: VREF_HIZ\n Unsolicited: tag=00, enabled=0\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\n Connection: 2\n 0x02* 0x03\nNode 0x1c [Vendor Defined Widget] wcaps 0xf00000: Mono\nNode 0x1d [Pin Complex] wcaps 0x400400: Mono\n Pincap 0x00000020: IN\n Pin Default 0x40600001: [N/A] Modem Line at Ext N/A\n Conn = Unknown, Color = Unknown\n DefAssociation = 0x0, Sequence = 0x1\n Pin-ctls: 0x20: IN\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\nNode 0x1e [Pin Complex] wcaps 0x400501: Stereo\n Pincap 0x00000010: OUT\n Pin Default 0x411111f0: [N/A] Speaker at Ext Rear\n Conn = 1/8, Color = Black\n DefAssociation = 0xf, Sequence = 0x0\n Misc = NO_PRESENCE\n Pin-ctls: 0x40: OUT\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\n Connection: 1\n 0x06\nNode 0x1f [Vendor Defined Widget] wcaps 0xf00000: Mono\nNode 0x20 [Vendor Defined Widget] wcaps 0xf00040: Mono\n Processing caps: benign=0, ncoeff=142\nNode 0x21 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out\n Control: name=\"Headphone Playback Switch\", index=0, device=0\n ControlAmp: chs=3, dir=Out, idx=0, ofs=0\n Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1\n Amp-Out vals: [0x80 0x80]\n Pincap 0x0001001c: OUT HP EAPD Detect\n EAPD 0x2: EAPD\n Pin Default 0x04211020: [Jack] HP Out at Ext Right\n Conn = 1/8, Color = Black\n DefAssociation = 0x2, Sequence = 0x0\n Pin-ctls: 0xc0: OUT HP\n Unsolicited: tag=01, enabled=1\n Power states: D0 D1 D2 D3 EPSS\n Power: setting=D0, actual=D0\n Connection: 2\n 0x02* 0x03\nNode 0x22 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In\n Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1\n Amp-In vals: [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80]\n Connection: 5\n 0x19 0x1a 0x1b 0x1d 0x13\nNode 0x23 [Audio Mixer] wcaps 0x20010b: Stereo Amp-In\n Amp-In caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1\n Amp-In vals: [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x80 0x80] [0x00 0x00]\n Connection: 5\n 0x19 0x1a 0x1b 0x1d 0x12\nNode 0x24 [Audio Selector] wcaps 0x300101: Stereo\n Connection: 3\n 0x12* 0x13 0x18\n
","title":"ALC285"},{"location":"technical/EC-queries/","text":"","title":"EC queries"},{"location":"technical/EC-queries/#battery","text":"","title":"Battery"},{"location":"technical/EC-queries/#_q22","text":"","title":"_Q22"},{"location":"technical/EC-queries/#_q4a","text":"/ Battery 0 attach/detach /
Method(_Q4A, 0, NotSerialized) { Notify(BAT0, 0x81) }
","title":"_Q4A"},{"location":"technical/EC-queries/#_q4b","text":"/ Battery 0 state change /
Method(_Q4B, 0, NotSerialized)\n{\n Notify(BAT0, 0x80)\n}\n
","title":"_Q4B"},{"location":"technical/EC-queries/#_q4c","text":"/ Battery 1 attach/detach /
Method(_Q4C, 0, NotSerialized)\n{\n Notify(BAT1, 0x81)\n}\n
","title":"_Q4C"},{"location":"technical/EC-queries/#_q4d","text":"/ Battery 1 state change /
Method(_Q4D, 0, NotSerialized)\n{\n Notify(BAT1, 0x80)\n}\n
","title":"_Q4D"},{"location":"technical/EC-queries/#_q24","text":"Battery 0 critical
Notify(BAT0, 0x80)\n
","title":"_Q24"},{"location":"technical/EC-queries/#_q25","text":"Battery 1 critical
Notify(BAT1, 0x80)\n
","title":"_Q25"},{"location":"technical/EC-queries/#power","text":"Event EC Query Lid Open _Q2A Lid Close _Q2B Sleep Button _Q13 AC Status Change: Present _Q26 AC Status Change: Not Present _Q27","title":"Power"},{"location":"technical/EC-queries/#misc","text":"","title":"Misc"},{"location":"technical/EC-queries/#_q1c","text":"","title":"_Q1C"},{"location":"technical/EC-queries/#_q1d","text":"","title":"_Q1D"},{"location":"technical/EC-queries/#sleep","text":"","title":"Sleep?"},{"location":"technical/EC-queries/#_q62","text":"","title":"_Q62"},{"location":"technical/EC-queries/#_q65","text":"","title":"_Q65"},{"location":"technical/EC-queries/#_q3d","text":"","title":"_Q3D"},{"location":"technical/EC-queries/#_q48","text":"","title":"_Q48"},{"location":"technical/EC-queries/#_q49","text":"","title":"_Q49"},{"location":"technical/EC-queries/#_q7f","text":"","title":"_Q7F"},{"location":"technical/EC-queries/#_q46","text":"","title":"_Q46"},{"location":"technical/EC-queries/#_q3b","text":"","title":"_Q3B"},{"location":"technical/EC-queries/#_q4f","text":"","title":"_Q4F"},{"location":"technical/EC-queries/#_q2f","text":"","title":"_Q2F"},{"location":"technical/config.plist/","text":"","title":"Config.plist"},{"location":"technical/config.plist/#checking-your-opencore-configplist","text":"When editing config.plist
, confirm proper syntax by running ocvalidate config.plist
.
config.plist
is meant to serve a mostly vanilla configuration. Additional config.plist
compoments are available in x1c6-hackintosh/patches/config.plist
Comments:"},{"location":"technical/config.plist/#audio-patches","text":"Device Properties
> PciRoot(0x0)/Pci(0x1f,0x3)
> layout-id
: Injects AppleALC layout-id 21
Device Properties
> PciRoot(0x0)/Pci(0x2,0x0)
>
device-id
= 16590000
per WhateverGreen/IntelHD.en.mdAAPL,ig-platform-id
= This is negotiable. In the future, I will test different variables for optimization. For now, 04002759
works well enough. AAPL00,override-no-connect
= EDID override to fix HDMI hotplug. Search for yours at patches/Internal Displays/
or see Issue #60 to create one for your display model.framebuffer-con1-enable
to enable framebuffer patching by WEG on connector 1.framebuffer-con1-type
to set connector 1 type to HDMI (per IOReg)framebuffer-patch-enable
tells WEG to patch framebuffer.AAPL00,override-no-connect
to override EDID (dependent on display models). See patches/Internal Displays/
. This is necessary to fix HDMI hotplug. To create your own, see Issue #60PollAppleHotKeys
set to YES
(While not needed can be helpful)AuthRestart
set to YES
(Enables Authenticated restart for FileVault 2 so password is not required on reboot. Can be considered a security risk so optional)UIScale
set to 02
for high resolution small displaysKeySupport
set to YES
(Only when using OpenCore's builtin input, users of OpenUsbKbDxe should avoid)ProvideConsoleGop
to YES
FirmwareVolume
set to YES
AppleSmcIo
set to YES
(this replaces VirtualSMC.efi)RequestBootVarRouting
set to YES
DiscardHibernateMap
set to YES
boot-args
includes -hbfx-dump-nvram rtcfx_exclude=80-AB
HibernateMode
set to NVRAM
569344
4096
RuntimeCode
ShowPicker
is No
. Use Esc
during boot to show picker when needed.PickerMode
is External
to use OpenCanopy
boot menu. If you prefer a lighter EFI
, delete Resources
and switch variable to Builtin
.PlayChime
is No
. Set this to Yes
if you want the native chime to play upon boot.I prefer OpenCanopy for its looks. However, it is completely optional and can take up space in your EFI. If you would rather use OpenCore's built in picker. Change PickerMode
to Builtin
and remove OpenCanopy.efi
from UEFI
> Drivers
.
In Terminal, disassemble the copied ACPI tables with \"iasl -dl DSDT.aml\". For our purpose, the only file that really matters is DSDT.dsl
Your DSDT file will be used as a reference table in determining that needs to be patched and what patches need to be added.
Source SSDT*.dsl patch files are located in patches
folder.
EFI-OpenCore
folder to see which patches are currently being used by me.A good way to see if you need to edit and compile your own SSDT patches is to compare your DSDT.dsl with mine of the same BIOS version. You can find my disassemebled DSDT file in ACPI/Disassembled ACPI/BIOS-v*
.
Should your source DSDT be similar enough (in regards to certain items in these ACPI patches)to mine. Congrats! You can simply try my compiled patches. Should it differ however, please carefully examine these notes and create your own SSDT patches.
EFI/OC/ACPI/
and make sure to create matching entries within OpenCore's config.plist
's ACPI/Add/
section.Unlike Clover, where SSDT patches are only being applied when booting macOS. OpenCore will apply SSDT patches regardless of the operating system. This is critical when multi-booting, since Windows and Linux do not need the additional patches that macOS does. In many cases, if Windows/Linux fails to boot under OpenCore, it is likely that your macOS intended SSDT patch(s) is being applied universally. To prevent OpenCore from doing this, it is important that your SSDT patches specify its intended OS, which in our case is \"Darwin.\" See highlighted example:
Note
Network and Display patches are on a case-by-case basis and may differ for everyone.
","title":"Important Note:"},{"location":"technical/patches/#non-native-wifi-and-bluetooth","text":"/patches/Network Patches/ DW1560.plist
for DW1560 model cards. /patches/Network Patches/ DW1820A.plist
for WD1820A model cards./patches/Network Patches/ Intel.plist
for Intel branded cards.*Notice that these patches require additional kexts to be installed. See them in Kernel/Add/
Note
The following patches are arranged alphabetically for easy cross-referencing. For the loading order, please refer to the main EFI's config.plist
.
Load AppleACPIACAdapter
","title":"SSDT-AC
"},{"location":"technical/patches/#ssdt-als0","text":"Fake Ambient Light Sensor Starting with Catalina, an ambient light sensor device is required for brightness preservation. This patch fakes an ambient light sensor device ALS0
since the x1c6 does not have one. Why?: ACPI0008
missing in DSDT.
SSDT-ALS0
"},{"location":"technical/patches/#ssdt-battery","text":"Enables Battery Status in macOS - Single battery system: only BAT0
in ACPI, no BAT1
.
SSDT-Battery
"},{"location":"technical/patches/#ssdt-dmac","text":"Patch Memory Controller - Why?: PNP0200
is missing in DSDT.
SSDT-DMAC
"},{"location":"technical/patches/#ssdt-darwin","text":"Detects macOS to enable other patches
","title":"SSDT-Darwin
"},{"location":"technical/patches/#ssdt-ec","text":"Alow Reads/Write and Provide an Interface with Embedded Controller via YogaSMC - Two parts: - Allow access to EC - Sample SSDT from YogaSMC
","title":"SSDT-EC
"},{"location":"technical/patches/#ssdt-hwac","text":"Fix axxess to 16byte-EC-field HWAC
","title":"SSDT-HWAC
"},{"location":"technical/patches/#ssdt-init","text":"Initialize System Variables - Disables: - HPET - DPTF - Enables: - DYTC
","title":"SSDT-INIT
"},{"location":"technical/patches/#ssdt-keyboard","text":"Remap PS2 Keys, EC Keys are handled by BrightnessKeys.kext
- Remap 1: PrtSc to F13 - Remap 2: Fn + K to Deadkey - Remap 3: Fn + P to Deadkey - For Fn 1-12 functions, check the following option within Preferences/Keyboard
:
SSDT-Keyboard
"},{"location":"technical/patches/#ssdt-pm","text":"Enables Native Intel Power Managements - Why?: Processor
search in DSDT, rename PR
to other variables as needed.
Scope (\\_PR)\n {\n Processor (PR00, 0x01, 0x00001810, 0x06){}\n Processor (PR01, 0x02, 0x00001810, 0x06){}\n Processor (PR02, 0x03, 0x00001810, 0x06){}\n Processor (PR03, 0x04, 0x00001810, 0x06){}\n Processor (PR04, 0x05, 0x00001810, 0x06){}\n Processor (PR05, 0x06, 0x00001810, 0x06){}\n Processor (PR06, 0x07, 0x00001810, 0x06){}\n Processor (PR07, 0x08, 0x00001810, 0x06){}\n Processor (PR08, 0x09, 0x00001810, 0x06){}\n Processor (PR09, 0x0A, 0x00001810, 0x06){}\n Processor (PR10, 0x0B, 0x00001810, 0x06){}\n Processor (PR11, 0x0C, 0x00001810, 0x06){}\n Processor (PR12, 0x0D, 0x00001810, 0x06){}\n Processor (PR13, 0x0E, 0x00001810, 0x06){}\n Processor (PR14, 0x0F, 0x00001810, 0x06){}\n Processor (PR15, 0x10, 0x00001810, 0x06){}\n }\n
","title":"SSDT-PM
"},{"location":"technical/patches/#ssdt-pmcr","text":"PMCR
,APP9876
missing in DSDT.SSDT-PMCR
"},{"location":"technical/patches/#ssdt-pnlf","text":"Enables Brightness Management in macOS - iGPU is PCI0.GFX0
- Why?: Skylake/ KabyLake/ KabyLake-R
CPU. - Used in conjunction with WhateverGreen.kext
.
SSDT-PNLF
"},{"location":"technical/patches/#ssdt-pwrb","text":"PNP0C0C
missing in DSDT.SSDT-PWRB
"},{"location":"technical/patches/#ssdt-sleep","text":"Patch macOS Sleep, S3, and S0 under Windows Dual Boot - Comprehensive sleep/wake patch. - Fixes restart on shutdown. Needs OpenCore Patches/ Sleep.plist
SSDT-Sleep
"},{"location":"technical/patches/#ssdt-tb-dsb0-to-ssdt-tb-dsb6","text":"SSDT-TB-DSB0
to SSDT-TB-DSB6
"},{"location":"technical/patches/#ssdt-xhc1-usb-2030","text":"Needs OpenCore Patches/ XHC1.plist
- Map USB 2.0/3.0 - Patch USB Power Properties
SSDT-XHC1 - USB 2.0/3.0
"}]}