1
0
Fork 0
mirror of https://github.com/tylernguyen/x1c6-hackintosh.git synced 2025-02-05 01:23:14 -06:00

Big Update: Check Changelog.md

This commit is contained in:
Tyler Nguyen 2020-11-03 11:58:35 -06:00
parent 5eeea6037e
commit 644688d55a
No known key found for this signature in database
GPG key ID: DB5B102B914991DA
134 changed files with 15440 additions and 2532 deletions

250
.github/README.md vendored Normal file
View file

@ -0,0 +1,250 @@
# macOS on Thinkpad X1 Carbon 6th Generation, Model 20KH\*
[![macOS](https://img.shields.io/badge/macOS-Catalina-yellow.svg)](https://www.apple.com/macos/catalina/)
[![version](https://img.shields.io/badge/10.15.7-yellow)](https://support.apple.com/en-us/HT210642)
[![BIOS](https://img.shields.io/badge/BIOS-1.45-blue)](https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x1-carbon-6th-gen-type-20kh-20kg/downloads/driver-list/component?name=BIOS%2FUEFI)
[![MODEL](https://img.shields.io/badge/Model-20KH*-blue)](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/references/x1c6-Platform_Specifications.pdf)
[![OpenCore](https://img.shields.io/badge/OpenCore-0.6.2-green)](https://github.com/acidanthera/OpenCorePkg)
[![LICENSE](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/996icu/996.ICU/blob/master/LICENSE)
<img align="right" src="https://i.imgur.com/I3yUS4Q.png" alt="Critter" width="300">
### Check out my blog [tylerspaper.com](https://tylerspaper.com/)
#### READ THE ENTIRE README.MD BEFORE YOU START.
#### I am not responsible for any damages you may cause.
### Should you find an error, or improve anything, be it in the config itself or in the my documentation, please consider opening an issue or a pull request to contribute.
`I AM A ONE MAN TEAM, AND A FULL TIME STUDENT. SO, I MIGHT NOT BE ABLE TO RESPOND OR HELP YOU IN A TIMELY MANNER. BUT, I PROMISE I WILL GET TO YOU EVENTUALLY. PLEASE UNDERSTAND.`
`Lastly, if my work here helped you. Please consider donating, it would mean a lot to me.`
> ## Update
##### Recent | [Changelog Archive](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/CHANGELOG.md)
> ### 2020-10-6
#### Changed
- Updated `config.plsit`:
- Removed depricated ACPI renames in accordance with new ACPI patches.
- Added `Arch` value to each kext entry in accordance with new OpenCore doc.
- Added Thunderbolt 3 Device Properties.
- Added `ExtendBTFeatureFlags` value to replace `BT4LEContinuityFixup`
- Reorganized subdirectories within `/patches/` to make things easier to find and understand.
- Renamed `3_README-POSTinstallation.md` to `SUMMARY.md` since it's not really a step but more of an overview of what patches what.
- More readble and better writing of `SSDT-Keyboard`
- New `SSDT-PNLF` to accomodate `AppleBacklightSmoother.kext`
- New battery patch `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*`
- It is no longer necessary to set sleep mode to `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.
- Removed `USBPorts.kext` in favor of patching/mapping via ACPI with `SSDT-XHC1`, `SSDT-XHC2`, and `SSDT-USBX`
- `README.md`:
- Turned different sections into menus for better readability.
- Merged `3_README-POSTinstallation.md` into the `SUMMARY` section.
#### Added
- `update.sh` script to automatically build and replace all ACPI patches
- `SSDT-HWAC` to patch access to 16byte-EC-field HWAC
- `SSDT-EC` to patch embedded controller for use with `YogaSMC`
- `SSDT-Debug`, `SSDT-HOOKS`, and `Debug.plist` for debugging if needed
- `SSDT-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](https://github.com/zhen-zen/YogaSMC/releases).
- `AppleBacklightSmoother.kext` is just as its name implies.
- `BrightnessKeys.kext` to handle Fn keys with ACPI renames.
- Documentation of modding the Thunderbolt 3 controller.
#### Removed
- `SSDT-HPET`, similar to genuine Macs, HPET is now disabled within `SSDT-INIT`
#### Remark
- A large of these changes are due to the hardwork of [@benbender](https://github.com/benbender), who debugged and authored many of the new ACPI patches. Thank you for your hard work!
<details>
<summary><strong> SUMMARY </strong></summary>
<br>
> ### Non-Fuctional:
| Feature | Status | Dependency | Remarks |
| :----------------------------------- | ------ | ------------------- | ---------------------------- |
| Fingerprint Reader | ❌ | `DISABLED` in BIOS to save power if not used in other OSes. | Linux support was only recently added |
| Wireless WAN | ❌ | `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. |
> ### Video and Audio
| Feature | Status | Dependency | Remarks |
| :----------------------------------- | ------ | ------------------- | ---------------------------- |
| Full Graphics Accleration (QE/CI) | ✅ | `WhateverGreen.kext` | - |
| Audio Recording | ✅ | `AppleALC.kext` with Layout ID = 21 | - |
| Audio Playback | ✅ | `AppleALC.kext` with Layout ID = 21 | - |
| Automatic Headphone Output Switching | ✅ | `AppleALC.kext` with Layout ID = 21 | - |
> ### Power, Charge, Sleep and Hibernation
| Feature | Status | Dependency | Remarks |
| :----------------------------------- | ------ | ------------------- | ---------------------------- |
| Battery Percentage Indication | ✅ | `SSDT-Battery.aml` and `/patches/OpenCore Patches/Battery.plist` |
| CPU Power Management (SpeedShift) | ✅ | `XCPM` and `CPUFriend.kext`, generate your own `CPUFriendDataProvider` with [CPUFriendFriend](https://github.com/corpnewt/CPUFriendFriend_) or [one-key-cpufriend](https://github.com/stevezhengshiqi/one-key-cpufriend). |
| iGPU Power Management | ✅ | `XCPM`, enabled by `SSDT-PLUG.aml` |
| NVMe Drive Battery Management | ✅ | `NVMeFix.kext` | In my experience, NVMe drives will drain more power than SATA drives. |
| S3 Sleep/ Hibernation Mode 3 | ✅ | `SSDT-Sleep.aml` | |
| Hibernation Mode 25 | ✅ | `RTCMemoryFixup.kext` and `HibernationFixup.kext` | Supported, macOS uses mode 3 by default. Change to mode 25 via `pmset`. |
| Custom Charge Threshold | ✅ | `SSDT-EC.aml`, [YogaSMC.kext](https://github.com/zhen-zen/YogaSMC), and [YogaSMCPane](https://github.com/zhen-zen/YogaSMC)| Adjust with YogaSMCPane in System Preferences
| Battery Life | ✅ | Native, comparable to Windows/Linux. Biggest impact is TB3, see [docs/1_README-HARDWAREandBIOS.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md) |
> ### Input/ Output
| Feature | Status | Dependency | Remarks |
| :----------------------------------- | ------ | ------------------- | ---------------------------- |
| WiFi | ✅ | Native with BCM94360CS2. See `/patches/ Network Patches/` otherwise. | See `/patches/OpenCore Patches/` for specific network card. |
| Bluetooth | ✅ | Native with BCM94360CS2. See `/patches/ Network Patches/` otherwise. | See `/patches/Network Patches/` for specific network card. |
| Ethernet | ✅ | `IntelMausi.kext` | Needs Lenovo Ethernet adapter: [Item page](https://www.lenovo.com/us/en/accessories-and-monitors/cables-and-adapters/adapters/CABLE-BO-Ethernet-Extension-Adapter-2/p/4X90Q84427) |
| HDMI hotplug | ✅ | Custom EDID Override `/patches/Internal Displays/` | Refer to [Issue #60](https://github.com/tylernguyen/x1c6-hackintosh/issues/60) if one does not exist already for your display. |
| 4K UHD output via HDMI/ DisplayPort **(Modded BIOS)** | ✅ | See `DMVT Pre-Allocated` to `64M` | See [docs/1_README-HARDWAREandBIOS.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md) for information about modding the BIOS. |
| 4K UHD output via HDMI/ DisplayPort **(Vanilla BIOS)** | ✅ | See `/patches/OpenCore Patches/4K-Output-wo-BIOSmod.plist` | - |
| USB 2.0, USB 3.0, and Micro SD Card Reader | ✅ | `SSDT-XHC1.aml` | - |
| USB 3.1 | ⚠️ | `SSDT-XHC2.aml` | - |
| USB Power Properties in macOS | ✅ | `SSDT-USBX.aml` | - |
| Thunderbolt 3 **(Cold Boot)** | ✅ | `SSDT-TB3.aml`, | TB3 device must be plugged in before boot. |
| Thunderbolt 3 Hotplug **(Modded Controller and BIOS)** | ⚠️ | `SSDT-TB3.aml` | [More details](https://github.com/tylernguyen/x1c6-hackintosh/issues/24#issuecomment-603183002) |
| Thunderbolt 3 Hotplug **(Modded Controller and Vanilla BIOS)** | ⚠️ | `SSDT-TB3.aml` | [More details](https://github.com/tylernguyen/x1c6-hackintosh/issues/24#issuecomment-603183002) |
| Thunderbolt 3 Hotplug **(Vanilla Controller and Modded BIOS)** | ⚠️ | `SSDT-TB3.aml`, `ThunderboltReset.kext` | [More details](https://github.com/tylernguyen/x1c6-hackintosh/issues/24#issuecomment-603183002) |
| Thunderbolt 3 Hotplug **(Vanilla Controller and BIOS)** | ⚠️ | `SSDT-TB3.aml`, `ThunderboltReset.kext`, and `TbtForcePower.efi` | [More details](https://github.com/tylernguyen/x1c6-hackintosh/issues/24#issuecomment-603183002) |
> ### Display, TrackPad, TrackPoint, and Keyboard
| Feature | Status | Dependency | Remarks |
| :----------------------------------- | ------ | ------------------- | ---------------------------- |
| Brightness Adjustments | ✅ | `WhateverGreen.kext`, `SSDT-PNLF.aml`, `AppleBacklightSmoother.kext`, and `BrightnessKeys.kext`| `AppleBacklightSmoother.kext` is optional for smoother birghtness adjustments |
| HiDPI _(Optional)_ | ✅ | [xzhih/one-key-hidpi](https://github.com/xzhih/one-key-hidpi) | Scaling issues post-sleep fixed with AAPL, ig-platform `BAAnWQ==` |
| TrackPoint | ✅ | `VoodooPS2Controller.kext` | - |
| TrackPad | ✅ | `VoodooPS2Controller.kext` or `VoodooRMI.kext` | I prefer `VoodooRMI.kext` so that is the repository default. |
| Built-in Keyboard | ✅ | `VoodooPS2Controller.kext` | Optimizations recommended, see [`docs/4_README-other.md`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/4_README-other.md) |
| Multimedia Keys | ✅ | [YogaSMC](https://github.com/zhen-zen/YogaSMC) or [ThinkpadAssistant](https://github.com/MSzturc/ThinkpadAssistant) | - |
> ### macOS Continuity
| Feature | Status | Dependency | Remarks |
| :----------------------------------- | ------ | ------------------- | ---------------------------- |
| iCloud, iMessage, FaceTime | ✅ | Whitelisted Apple ID, Valid SMBIOS | See [dortania /OpenCore-Install-Guide](https://dortania.github.io/OpenCore-Post-Install/universal/iservices.html) |
| Continuty | ✅ | Native with `BCM94360CS2`. `ExtendBTFeatureFlags` to `True` otherwise. | See `/patches/Network Patches/` for specific network card. |
| AirDrop | ✅ | Native with `BCM94360CS2`. `ExtendBTFeatureFlags` to `True` otherwise. | See `/patches/Network Patches/` for specific network card. |
| Sidecar | ✅ | Native with `BCM94360CS2`. `ExtendBTFeatureFlags` to `True` otherwise. iPad with >= `iPadOS 13` | Tested with iPad Mini with iPadOS 13.1.2 |
| FileVault | ✅ | as configured in `config.plsit` per [Dortania's Post-Install](https://dortania.github.io/OpenCore-Post-Install/universal/security/filevault.html)| |
| Time Machine | ✅ | Native | TimeMachine only backups your Macintosh partition. Manually backup your EFI partition using another method. |
</details>
<details>
<summary><strong> REFERENCES </strong></summary>
<br>
* Read these before you start:
- [dortania's Hackintosh guides](https://github.com/dortania)
- [dortania's OpenCore Install Guide](https://dortania.github.io/OpenCore-Install-Guide/)
- [dortania's OpenCore Post Install Guide](https://dortania.github.io/OpenCore-Post-Install/)
- [dortania/ Getting Started with ACPI](https://dortania.github.io/Getting-Started-With-ACPI/)
- [dortania/ opencore `multiboot`](https://github.com/dortania/OpenCore-Multiboot)
- [dortania/ `USB map` guide](https://dortania.github.io/OpenCore-Post-Install/usb/)
- [WhateverGreen Intel HD Manual](https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md)
- `Configuration.pdf` and `Differences.pdf` in each `OpenCore` releases.
- Additionally, references specific to the x1c6 are located in `docs/references/`
* ### No seriously, please read those.
</details>
<details>
<summary><strong> NEEDED </strong></summary>
<br>
- A macOS machine(optional): to create the macOS installer.
- Flash drive, 12GB or more, for the above purpose.
- Xcode works fine for editing plist files on macOS, but I prefer [PlistEdit Pro](https://www.fatcatsoftware.com/plisteditpro/).
- [ProperTree](https://github.com/corpnewt/ProperTree) if you need to edit plist files on Windows.
- [MaciASL](https://github.com/acidanthera/MaciASL), for patching ACPI tables and editing ACPI patches.
- [MountEFI](https://github.com/corpnewt/MountEFI) to quickly mount EFI partitions.
- [IORegistryExplorer](https://developer.apple.com/downloads), for diagnosis.
- [Hackintool](https://www.insanelymac.com/forum/topic/335018-hackintool-v286/), for diagnostic ONLY, Hackintool should not be used for patching, it is outdated.
- [SPI Programmer CH341a and SOIC8 connector](https://www.amazon.com/Organizer-Socket-Adpter-Programmer-CH341A/dp/B07R5LPTYM) are needed if you are going to mod your BIOS/TB3 controller for optimizations and a better and more native macOS experience.
- Patience and time, especially if this is your first time Hackintosh-ing.
</details>
<details>
<summary><strong> SPECIFICATIONS </strong></summary>
<br>
- These are relevant components on my machine which may differ from yours, keep these in ind as you will need to adjust accordingly, depending on your machine's configuration.
| Category | Component |
| --------- | ------------------------------------ |
| CPU | [i7-8650U](https://ark.intel.com/content/www/us/en/ark/products/124968/intel-core-i7-8650u-processor-8m-cache-up-to-4-20-ghz.html) |
| GPU | Intel UHD 620 |
| SSD | Seagate Firecuda 520 500GB |
| Display | 14.0" (355mm) HDR WQHD (2560x1440) |
| WiFi & BT | BCM94360CS2 |
| WWAN | None |
- Refer to [/docs/references/x1c6-Platform_Specifications](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/references/x1c6-Platform_Specifications.pdf) for possible stock ThinkPad X1 6th Gen configurations.
</details>
<details>
<summary><strong> GETTING STARTED </strong></summary>
<br>
Before you do anything, please familiarize yourself with basic Hackintosh terminologies and the basic Hackintosh process by throughly reading Dortania guides as linked in `REFERENCES`
- Creating a macOS installer: refer to [Dortania's OpenCore Install Guide](https://dortania.github.io/OpenCore-Install-Guide/installer-guide/)
- [**1_README-HARDWAREandBIOS**](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md): Requirements before installing.
- [**2_README-ACPIpatching**](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/3_README-ACPIpatching.md): Notes and explainations for ACPI hotpatches.
- [**3_README-other.md**](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/4_README-other.md): for post installation settings and other remarks.
</details>
<details>
<summary><strong> OTHER REPOSITORIES </strong></summary>
<br>
- x1c6-hackintosh repositories:
- [benbender/x1c6-hackintosh](https://github.com/benbender/x1c6-hackintosh)
- [zhtengw/EFI-for-X1C6-hackintosh](https://github.com/zhtengw/EFI-for-X1C6-hackintosh)
- t480-hackintosh repositories:
- [EETagent/T480-OpenCore-Hackintosh](https://github.com/EETagent/T480-OpenCore-Hackintosh)
Create a pull request if you like to be added, final decision at my discreation.
</details>
> ## CONTACT
https://tylerspaper.com/contact
Signal: +1 (202)-644-9951 \*This is a Signal ONLY number. You will not get a reply of you text me at this number.
> ## SUPPORT
https://tylerspaper.com/support/
<details>
<summary><strong> CREDITS </strong></summary>
<br>
- [@benbender](https://github.com/benbender) for your hardwork. Much of this repo comes from your research and code. Thank you!
- [@Fewtarius](https://github.com/fewtarius) for your help with patching audio.
- [@Colton-Ko](https://github.com/Colton-Ko/macOS-ThinkPad-X1C6) for the great features template.
- [@stevezhengshiqi](https://github.com/stevezhengshiqi) for the one-key-cpufriend script.
- [@corpnewt](https://github.com/corpnewt) for [GibMacOS](https://github.com/corpnewt/gibMacOS) and [EFIMount](https://github.com/corpnewt/MountEFI).
- [@xzhih](https://github.com/xzhih) for one-key-hidpi.
- [daliansky/OC-little](https://github.com/daliansky/OC-little) for various ACPI hotpatch samples.
- [@velaar](https://github.com/velaar) for your continual support and contributions.
- [@Porco-Rosso](https://github.com/Porco-Rosso) putting up with my requests to test repo changes.
- [@MSzturc](https://github.com/MSzturc) for adding my requested features to ThinkpadAssistant.
paranoidbashthot and \x for the BIOS mod to unlocked Intel Advance Menu.
- [@zhen-zen](https://github.com/zhen-zen) for YogaSMC
- [CaseySJ](https://www.tonymacx86.com/members/caseysj.2134452/) for the custom Thunderbolt 3 firmware.
The greatest thank you and appreciation to the [Acidanthera](https://github.com/acidanthera) team.
And to everyone else who supports and uses my project.
Please let me know if I missed you.
</details>

4
.gitignore vendored
View file

@ -28,6 +28,4 @@ Library/Extensions/SoftRAID.kext
# Personal and Archive
SMBIOS.plist
unpatched-BIOS-v1.45.img
v6patched-BIOS-v1.45.rom
/patches/BIOS-mod/
/patches/Mods/

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>20A5384c</string>
<string>19H2</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
@ -29,21 +29,36 @@
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>12A7300</string>
<key>DTPlatformName</key>
<string>macosx</string>
<string>11E708</string>
<key>DTPlatformVersion</key>
<string>10.15.6</string>
<string>GM</string>
<key>DTSDKBuild</key>
<string>19G68</string>
<key>DTSDKName</key>
<string>macosx10.15</string>
<key>DTXcode</key>
<string>1201</string>
<string>1160</string>
<key>DTXcodeBuild</key>
<string>12A7300</string>
<string>11E708</string>
<key>IOKitPersonalities</key>
<dict>
<key>ALCUserClientProvider</key>
<dict>
<key>CFBundleIdentifier</key>
<string>as.vit9696.AppleALC</string>
<key>IOClass</key>
<string>ALCUserClientProvider</string>
<key>IOMatchCategory</key>
<string>ALCUserClientProvider</string>
<key>IOProbeScore</key>
<integer>1000</integer>
<key>IOProviderClass</key>
<string>IOResources</string>
<key>IOResourceMatch</key>
<string>IOKit</string>
<key>IOUserClientClass</key>
<string>ALCUserClient</string>
</dict>
<key>HDA Hardware Config Resource</key>
<dict>
<key>CFBundleIdentifier</key>
@ -898,14 +913,20 @@
<key>ConfigData</key>
<data>
ASccEAEnHQABJx6gAScfkAFHHCABRx0AAUce
FwFHH5ABlxwwAZcdEAGXHosBlx8EAhccQAIX
HRACFx4rAhcfBAE3HFABNx0AATceAAE3H0AB
1xxgAdcdsAHXHmYB1x9AAUcMAgGXDAI=
FwFHH5ABRwwCAZccMAGXHRABlx6BAZcfBAIX
HEACFx0QAhceKwIXHwQCFwwCATccUAE3HQAB
Nx4AATcfQAHXHGAB1x2wAdceZgHXH0A=
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>13</integer>
<key>WakeConfigData</key>
<data>
AUcMAgIXDAIBlwcl
</data>
<key>WakeVerbReinit</key>
<true/>
</dict>
<dict>
<key>AFGLowPowerState</key>
@ -918,9 +939,9 @@
<integer>283902512</integer>
<key>ConfigData</key>
<data>
AhccEAIXHRACFx4rAhcfBAFHHCABRx0BAUce
FwFHH5ABJxwwAScdAQEnHqABJx+QAZccQAGX
HRABlx6LAZcfBAFHDAI=
AUccEAFHHQEBRx4XAUcfkAFHDAICFxwgAhcd
EAIXHiECFx8TAhcMAgEnHDABJx0BASceoAEn
H5ABlxxAAZcdEQGXHoEBlx+T
</data>
<key>FuncGroup</key>
<integer>1</integer>
@ -928,7 +949,7 @@
<integer>20</integer>
<key>WakeConfigData</key>
<data>
AZcHJQ==
AUcMAgIXDAIBlwcl
</data>
<key>WakeVerbReinit</key>
<true/>
@ -1486,6 +1507,36 @@
<key>WakeVerbReinit</key>
<true/>
</dict>
<dict>
<key>AFGLowPowerState</key>
<data>
AwAAAA==
</data>
<key>Codec</key>
<string>Realtek ALC235 for Lenovo Qitian M420 by Cryse Hillmes</string>
<key>CodecID</key>
<integer>283902517</integer>
<key>ConfigData</key>
<data>
AScc8AEnHQABJx4AAScfQAFHHBABRx0BAUce
FwFHH5ABdxzwAXcdAAF3HgABdx9AAYcc8AGH
HQABhx4AAYcfQAGXHHABlx0QAZceoQGXHwIB
pxwgAacdEAGnHoEBpx8CAbccgAG3HRABtx4B
AbcfAQHXHPAB1x0AAdceAAHXH0AB5xzwAecd
AAHnHgAB5x9AAhccUAIXHRACFx4hAhcfAgFH
DAIBtwwCAhcMAgIXB8ACFwiCAZcHJA==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>35</integer>
<key>WakeConfigData</key>
<data>
AUcMAgG3DAICFwwCAhcHwAIXCIIBlwck
</data>
<key>WakeVerbReinit</key>
<true/>
</dict>
<dict>
<key>AFGLowPowerState</key>
<data>
@ -4460,6 +4511,32 @@
<key>WakeVerbReinit</key>
<true/>
</dict>
<dict>
<key>AFGLowPowerState</key>
<data>
AwAAAA==
</data>
<key>Codec</key>
<string>Realtek ALC 272 for Lenovo Y470 by amu_1680c</string>
<key>CodecID</key>
<integer>283902578</integer>
<key>ConfigData</key>
<data>
ASccEAEnHQEBJx6gAScfkAGHHCABhx0AAYce
gQGHHwEBRxwwAUcdAQFHHhABRx+QAhccQAIX
HRACFx4hAhcfAQFHDAI=
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>12</integer>
<key>WakeConfigData</key>
<data>
AUcMAg==
</data>
<key>WakeVerbReinit</key>
<true/>
</dict>
<dict>
<key>AFGLowPowerState</key>
<data>
@ -5766,6 +5843,33 @@
<key>WakeVerbReinit</key>
<true/>
</dict>
<dict>
<key>AFGLowPowerState</key>
<data>
AwAAAA==
</data>
<key>CodecID</key>
<integer>283902608</integer>
<key>Comment</key>
<string>ALC3241 - HP Envy 15t-k200 Beats Audio 2.1</string>
<key>ConfigData</key>
<data>
AaccEAGnHRABpx6BAacfAAEnHCABJx0AASce
owEnH5ABRxwwAUcdAQFHHhABRx+QAXccMQF3
HQEBdx4QAXcfkAFXHFABVx0QAVceIQFXHwAB
RwwC
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>10</integer>
<key>WakeConfigData</key>
<data>
AUcMAg==
</data>
<key>WakeVerbReinit</key>
<true/>
</dict>
<dict>
<key>AFGLowPowerState</key>
<data>
@ -9086,6 +9190,38 @@
<key>LayoutID</key>
<integer>99</integer>
</dict>
<dict>
<key>AFGLowPowerState</key>
<data>
AwAAAA==
</data>
<key>CodecID</key>
<integer>283904146</integer>
<key>Comment</key>
<string>Custom ALC892 for MSI Z370-A PRO by GeorgeWan</string>
<key>ConfigData</key>
<data>
ARcc8AEXHQABFx4AARcfQAEnHPABJx0AASce
AAEnH0ABRxwQAUcdQAFHHhEBRx+QAUcMAgFX
HCABVx0QAVceAQFXHwEBZxwwAWcdYAFnHgEB
Zx8BAXccQAF3HSABdx4BAXcfAQGHHFABhx2Q
AYceoAGHH5ABlxxwAZcdkAGXHoEBlx8CAacc
YAGnHTABpx6BAacfAQG3HIABtx1AAbceIQG3
HwIBtwwCAccc8AHHHQABxx4AAccfQAHXHPAB
1x0AAdceAAHXH0AB5xzwAecdAAHnHgAB5x9A
Afcc8AH3HQAB9x4AAfcfQA==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>100</integer>
<key>WakeConfigData</key>
<data>
AUcMAgG3DAI=
</data>
<key>WakeVerbReinit</key>
<true/>
</dict>
<dict>
<key>AFGLowPowerState</key>
<data>
@ -10223,6 +10359,36 @@
<key>WakeVerbReinit</key>
<true/>
</dict>
<dict>
<key>AFGLowPowerState</key>
<data>
AwAAAA==
</data>
<key>CodecID</key>
<integer>283904768</integer>
<key>CodecName</key>
<string>GeorgeWan - ALCS1200A for ASROCK Z490 Steel Legend</string>
<key>ConfigData</key>
<data>
ARcc8AEXHQABFx4AARcfQAFHHBABRx1AAUce
EQFHH5ABRwwCAVccIAFXHRABVx4BAVcfAQFn
HDABZx1gAWceAQFnHwEBdxzwAXcdAAF3HgAB
dx9AAYccQAGHHZABhx6gAYcfkAGXHGABlx2Q
AZcegQGXHwIBpxxQAacdMAGnHoEBpx8BAbcc
cAG3HUABtx4hAbcfAgG3DAIB5xyAAecdYQHn
HksB5x8B
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>51</integer>
<key>WakeConfigData</key>
<data>
AUcMAgG3DAI=
</data>
<key>WakeVerbReinit</key>
<true/>
</dict>
<dict>
<key>AFGLowPowerState</key>
<data>
@ -12229,6 +12395,33 @@
<key>WakeVerbReinit</key>
<true/>
</dict>
<dict>
<key>AFGLowPowerState</key>
<data>
AwAAAA==
</data>
<key>Codec</key>
<string>ALC662v3 for Lenovo M415-D339 by Eric</string>
<key>CodecID</key>
<integer>283903586</integer>
<key>ConfigData</key>
<data>
AUccEAFHHUABRx4RAUcfAQFHDAIBtxwgAbcd
EAG3HiEBtx8CAbcMAgGHHDABhx2QAYcegAGH
HwEBlxxAAZcdEAGXHoABlx8CAaccXwGnHTAB
px6BAacfAQ==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>66</integer>
<key>WakeConfigData</key>
<data>
AUcMAg==
</data>
<key>WakeVerbReinit</key>
<true/>
</dict>
</array>
<key>IOClass</key>
<string>AppleHDAHardwareConfigDriver</string>

View file

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>19F101</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>AppleBacklightSmoother</string>
<key>CFBundleIdentifier</key>
<string>com.hieplpvip.AppleBacklightSmoother</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>AppleBacklightSmoother</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.0.2</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>11E708</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>19G68</string>
<key>DTSDKName</key>
<string>macosx10.15</string>
<key>DTXcode</key>
<string>1160</string>
<key>DTXcodeBuild</key>
<string>11E708</string>
<key>IOKitPersonalities</key>
<dict>
<key>AppleBacklightSmoother</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.hieplpvip.AppleBacklightSmoother</string>
<key>IOClass</key>
<string>AppleBacklightSmoother</string>
<key>IOMatchCategory</key>
<string>AppleBacklightSmoother</string>
<key>IOProviderClass</key>
<string>IOResources</string>
<key>IOResourceMatch</key>
<string>IOKit</string>
</dict>
</dict>
<key>LSMinimumSystemVersion</key>
<string>10.8</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2020 Le Bao Hiep. All rights reserved.</string>
<key>OSBundleCompatibleVersion</key>
<string>1.0</string>
<key>OSBundleLibraries</key>
<dict>
<key>as.vit9696.Lilu</key>
<string>1.2.0</string>
<key>com.apple.iokit.IOPCIFamily</key>
<string>1.0.0b1</string>
<key>com.apple.kpi.bsd</key>
<string>12.0.0</string>
<key>com.apple.kpi.dsep</key>
<string>12.0.0</string>
<key>com.apple.kpi.iokit</key>
<string>12.0.0</string>
<key>com.apple.kpi.libkern</key>
<string>12.0.0</string>
<key>com.apple.kpi.mach</key>
<string>12.0.0</string>
<key>com.apple.kpi.unsupported</key>
<string>12.0.0</string>
</dict>
<key>OSBundleRequired</key>
<string>Root</string>
</dict>
</plist>

View file

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>19H2</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>BrightnessKeys</string>
<key>CFBundleIdentifier</key>
<string>as.acidanthera.BrightnessKeys</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>BrightnessKeys</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.0.1</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>11E708</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>19G68</string>
<key>DTSDKName</key>
<string>macosx10.15</string>
<key>DTXcode</key>
<string>1160</string>
<key>DTXcodeBuild</key>
<string>11E708</string>
<key>IOKitPersonalities</key>
<dict>
<key>BrightnessKeys</key>
<dict>
<key>CFBundleIdentifier</key>
<string>as.acidanthera.BrightnessKeys</string>
<key>IOClass</key>
<string>BrightnessKeys</string>
<key>IOMatchCategory</key>
<string>BrightnessKeys</string>
<key>IOProviderClass</key>
<string>IOResources</string>
<key>IOResourceMatch</key>
<string>IOKit</string>
</dict>
</dict>
<key>LSMinimumSystemVersion</key>
<string>10.11</string>
<key>OSBundleLibraries</key>
<dict>
<key>as.vit9696.Lilu</key>
<string>1.2.0</string>
<key>com.apple.iokit.IOACPIFamily</key>
<string>1.0.0d1</string>
<key>com.apple.iokit.IOHIDFamily</key>
<string>1.0.0b1</string>
<key>com.apple.kpi.bsd</key>
<string>8.0.0</string>
<key>com.apple.kpi.iokit</key>
<string>8.0.0</string>
<key>com.apple.kpi.libkern</key>
<string>8.0.0</string>
<key>com.apple.kpi.mach</key>
<string>8.0.0</string>
<key>com.apple.kpi.unsupported</key>
<string>8.0.0</string>
</dict>
<key>OSBundleRequired</key>
<string>Console</string>
</dict>
</plist>

View file

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>19F101</string>
<string>19H2</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.3.6</string>
<string>1.3.7</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
@ -25,7 +25,7 @@
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.3.6</string>
<string>1.3.7</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>

View file

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>19F101</string>
<string>19H2</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.4.8</string>
<string>1.4.9</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
@ -25,7 +25,7 @@
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.4.8</string>
<string>1.4.9</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>

View file

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>19F101</string>
<string>19H2</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
@ -17,13 +17,13 @@
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.1.7</string>
<string>1.1.8</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.1.7</string>
<string>1.1.8</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>

View file

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>19F101</string>
<string>19H2</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
@ -17,13 +17,13 @@
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.1.7</string>
<string>1.1.8</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.1.7</string>
<string>1.1.8</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>

View file

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>19F101</string>
<string>19H2</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.1.7</string>
<string>1.1.8</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
@ -25,7 +25,7 @@
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.1.7</string>
<string>1.1.8</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>

View file

@ -1,140 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleGetInfoString</key>
<string>1.0 Copyright © 2018 Headsoft. All rights reserved.</string>
<key>CFBundleIdentifier</key>
<string>com.Headsoft.USBPorts</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>USBPorts</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>IOKitPersonalities</key>
<dict>
<key>MacBookPro14,1-XHC</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleUSBMergeNub</string>
<key>IOClass</key>
<string>AppleUSBMergeNub</string>
<key>IONameMatch</key>
<string>XHC</string>
<key>IOProbeScore</key>
<integer>5000</integer>
<key>IOProviderClass</key>
<string>AppleUSBXHCIPCI</string>
<key>IOProviderMergeProperties</key>
<dict>
<key>port-count</key>
<data>DwAAAA==</data>
<key>ports</key>
<dict>
<key>HS01</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>AQAAAA==</data>
</dict>
<key>HS02</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>AgAAAA==</data>
</dict>
<key>HS03</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>AwAAAA==</data>
</dict>
<key>HS04</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>BAAAAA==</data>
</dict>
<key>HS07</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>BwAAAA==</data>
</dict>
<key>HS08</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>CAAAAA==</data>
</dict>
<key>HS09</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>CQAAAA==</data>
</dict>
<key>SS01</key>
<dict>
<key>UsbConnector</key>
<integer>9</integer>
<key>port</key>
<data>DQAAAA==</data>
</dict>
<key>SS02</key>
<dict>
<key>UsbConnector</key>
<integer>9</integer>
<key>port</key>
<data>DgAAAA==</data>
</dict>
<key>SS03</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>DwAAAA==</data>
</dict>
</dict>
</dict>
<key>model</key>
<string>MacBookPro14,1</string>
</dict>
<key>MacBookPro14,1</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleUSBHostMergeProperties</string>
<key>IOClass</key>
<string>AppleUSBHostMergeProperties</string>
<key>IOProviderClass</key>
<string>AppleBusPowerController</string>
<key>IOProviderMergeProperties</key>
<dict>
<key>kUSBSleepPortCurrentLimit</key>
<integer>3000</integer>
<key>kUSBWakePortCurrentLimit</key>
<integer>3000</integer>
</dict>
<key>model</key>
<string>MacBookPro14,1</string>
</dict>
</dict>
<key>OSBundleRequired</key>
<string>Root</string>
</dict>
</plist>

View file

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>19F101</string>
<string>19H2</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.1.7</string>
<string>1.1.8</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
@ -25,7 +25,7 @@
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.1.7</string>
<string>1.1.8</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>

View file

@ -3,11 +3,11 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>19F101</string>
<string>19H2</string>
<key>CFBundleExecutable</key>
<string>VoodooPS2Controller</string>
<key>CFBundleGetInfoString</key>
<string>2.1.7, Copyright Apple Computer, Inc. 2000-2003, David Elliot 2007, RehabMan 2012-2013</string>
<string>2.1.8, Copyright Apple Computer, Inc. 2000-2003, David Elliot 2007, RehabMan 2012-2013</string>
<key>CFBundleIdentifier</key>
<string>as.acidanthera.voodoo.driver.PS2Controller</string>
<key>CFBundleInfoDictionaryVersion</key>
@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>2.1.7</string>
<string>2.1.8</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
@ -25,7 +25,7 @@
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>2.1.7</string>
<string>2.1.8</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
@ -137,7 +137,7 @@
<key>LSMinimumSystemVersion</key>
<string>10.11</string>
<key>OSBundleCompatibleVersion</key>
<string>2.1.7</string>
<string>2.1.8</string>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.iokit.IOACPIFamily</key>

View file

@ -3,11 +3,11 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>19F101</string>
<string>19H2</string>
<key>CFBundleExecutable</key>
<string>VoodooPS2Keyboard</string>
<key>CFBundleGetInfoString</key>
<string>2.1.7, Copyright Apple Computer, Inc. 2000-2003, RehabMan 2012-2013</string>
<string>2.1.8, Copyright Apple Computer, Inc. 2000-2003, RehabMan 2012-2013</string>
<key>CFBundleIdentifier</key>
<string>as.acidanthera.voodoo.driver.PS2Keyboard</string>
<key>CFBundleInfoDictionaryVersion</key>
@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>2.1.7</string>
<string>2.1.8</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
@ -25,7 +25,7 @@
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>2.1.7</string>
<string>2.1.8</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
@ -598,7 +598,7 @@
<key>OSBundleLibraries</key>
<dict>
<key>as.acidanthera.voodoo.driver.PS2Controller</key>
<string>2.1.7</string>
<string>2.1.8</string>
<key>com.apple.iokit.IOHIDFamily</key>
<string>1.0.0b1</string>
<key>com.apple.kpi.bsd</key>

View file

@ -3,11 +3,11 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>19F101</string>
<string>19H2</string>
<key>CFBundleExecutable</key>
<string>VoodooPS2Mouse</string>
<key>CFBundleGetInfoString</key>
<string>2.1.7, Copyright Apple Computer, Inc. 2000-2004, Slice 2010, RehabMan 2012-2013</string>
<string>2.1.8, Copyright Apple Computer, Inc. 2000-2004, Slice 2010, RehabMan 2012-2013</string>
<key>CFBundleIdentifier</key>
<string>as.acidanthera.voodoo.driver.PS2Mouse</string>
<key>CFBundleInfoDictionaryVersion</key>
@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>2.1.7</string>
<string>2.1.8</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
@ -25,7 +25,7 @@
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>2.1.7</string>
<string>2.1.8</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
@ -180,7 +180,7 @@
<key>OSBundleLibraries</key>
<dict>
<key>as.acidanthera.voodoo.driver.PS2Controller</key>
<string>2.1.7</string>
<string>2.1.8</string>
<key>com.apple.iokit.IOHIDFamily</key>
<string>1.0.0b1</string>
<key>com.apple.kpi.iokit</key>

View file

@ -3,11 +3,11 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>19F101</string>
<string>19H2</string>
<key>CFBundleExecutable</key>
<string>VoodooPS2Trackpad</string>
<key>CFBundleGetInfoString</key>
<string>2.1.7, Copyright Apple Computer, Inc. 2002-2003, mackerintel 2008, RehabMan 2012-2013</string>
<string>2.1.8, Copyright Apple Computer, Inc. 2002-2003, mackerintel 2008, RehabMan 2012-2013</string>
<key>CFBundleIdentifier</key>
<string>as.acidanthera.voodoo.driver.PS2Trackpad</string>
<key>CFBundleInfoDictionaryVersion</key>
@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>2.1.7</string>
<string>2.1.8</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
@ -25,7 +25,7 @@
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>2.1.7</string>
<string>2.1.8</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
@ -490,7 +490,7 @@
<key>OSBundleLibraries</key>
<dict>
<key>as.acidanthera.voodoo.driver.PS2Controller</key>
<string>2.1.7</string>
<string>2.1.8</string>
<key>com.apple.iokit.IOHIDFamily</key>
<string>1.0.0b1</string>
<key>com.apple.kpi.iokit</key>

View file

@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>19F101</string>
<string>19H2</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.4.3</string>
<string>1.4.4</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
@ -25,7 +25,7 @@
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.4.3</string>
<string>1.4.4</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>

View file

@ -0,0 +1,168 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>19H2</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>YogaSMC</string>
<key>CFBundleIdentifier</key>
<string>org.zhen.YogaSMC</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>YogaSMC</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.2.1</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.2.1</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>12A7300</string>
<key>DTPlatformName</key>
<string>macosx</string>
<key>DTPlatformVersion</key>
<string>10.15.6</string>
<key>DTSDKBuild</key>
<string>19G68</string>
<key>DTSDKName</key>
<string>macosx10.15</string>
<key>DTXcode</key>
<string>1201</string>
<key>DTXcodeBuild</key>
<string>12A7300</string>
<key>IOKitPersonalities</key>
<dict>
<key>IdeaVPC</key>
<dict>
<key>CFBundleIdentifier</key>
<string>org.zhen.YogaSMC</string>
<key>IOClass</key>
<string>IdeaVPC</string>
<key>IONameMatch</key>
<string>VPC2004</string>
<key>IOProbeScore</key>
<integer>200</integer>
<key>IOProviderClass</key>
<string>IOACPIPlatformDevice</string>
<key>IOUserClientClass</key>
<string>YogaSMCUserClient</string>
<key>Sensors</key>
<dict>
<key>Airflow Left</key>
<false/>
<key>Airflow Right</key>
<false/>
<key>CPU Core PECI</key>
<string>CPEC</string>
<key>CPU System Agent Core</key>
<string>CTMP</string>
<key>Memory Proximity</key>
<string>MEM1</string>
<key>Platform Controller Hub Die</key>
<string>RSEN</string>
<key>SO-DIMM 1 Proximity</key>
<string>MEM1</string>
<key>SO-DIMM 2 Proximity</key>
<string>MEM2</string>
<key>SO-DIMM 3 Proximity</key>
<false/>
<key>SO-DIMM 4 Proximity</key>
<false/>
</dict>
</dict>
<key>ThinkVPC</key>
<dict>
<key>CFBundleIdentifier</key>
<string>org.zhen.YogaSMC</string>
<key>IOClass</key>
<string>ThinkVPC</string>
<key>IOProbeScore</key>
<integer>200</integer>
<key>IOPropertyMatch</key>
<array>
<dict>
<key>name</key>
<string>LEN0268</string>
</dict>
<dict>
<key>name</key>
<string>LEN0068</string>
</dict>
</array>
<key>IOProviderClass</key>
<string>IOACPIPlatformDevice</string>
<key>IOUserClientClass</key>
<string>YogaSMCUserClient</string>
<key>Sensors</key>
<dict>
<key>Airflow Left</key>
<false/>
<key>Airflow Right</key>
<false/>
<key>CPU Core PECI</key>
<false/>
<key>CPU System Agent Core</key>
<string>TMP0</string>
<key>Memory Proximity</key>
<false/>
<key>Platform Controller Hub Die</key>
<string>ESTA</string>
<key>SO-DIMM 1 Proximity</key>
<false/>
<key>SO-DIMM 2 Proximity</key>
<false/>
<key>SO-DIMM 3 Proximity</key>
<false/>
<key>SO-DIMM 4 Proximity</key>
<false/>
</dict>
</dict>
<key>YogaWMI</key>
<dict>
<key>CFBundleIdentifier</key>
<string>org.zhen.YogaSMC</string>
<key>IOClass</key>
<string>YogaWMI</string>
<key>IONameMatch</key>
<string>PNP0C14</string>
<key>IOProbeScore</key>
<integer>100</integer>
<key>IOProviderClass</key>
<string>IOACPIPlatformDevice</string>
</dict>
</dict>
<key>LSMinimumSystemVersion</key>
<string>10.12</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2020 Zhen. All rights reserved.</string>
<key>OSBundleLibraries</key>
<dict>
<key>as.vit9696.Lilu</key>
<string>1.4.5</string>
<key>as.vit9696.VirtualSMC</key>
<string>1.1.4</string>
<key>com.apple.iokit.IOACPIFamily</key>
<string>1.0.0d1</string>
<key>com.apple.kpi.bsd</key>
<string>8.0.0</string>
<key>com.apple.kpi.iokit</key>
<string>8.0.0</string>
<key>com.apple.kpi.libkern</key>
<string>8.0.0</string>
<key>com.apple.kpi.mach</key>
<string>8.0.0</string>
<key>com.apple.kpi.unsupported</key>
<string>8.0.0</string>
</dict>
</dict>
</plist>

View file

@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>files</key>
<dict/>
<key>files2</key>
<dict/>
<key>rules</key>
<dict>
<key>^Resources/</key>
<true/>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^.*</key>
<true/>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^[^/]+$</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -9,96 +9,11 @@
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>framebuffer-fbmem</key>
<data>
AACQAA==
</data>
<data>AACQAA==</data>
<key>framebuffer-stolenmem</key>
<data>
AAAwAQ==
</data>
<data>AAAwAQ==</data>
</dict>
</dict>
</dict>
<key>Kernel</key>
<dict>
<key>Patch</key>
<array>
<dict>
<key>Base</key>
<string></string>
<key>Comment</key>
<string>KBL-DVMTpatch-10.15-10.15.1-10.15.2-10.15.3 (Enable 4K UHD HDMI/DisplayPort Output)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<false/>
<key>Find</key>
<data>
D4KnAwAA
</data>
<key>Identifier</key>
<string>com.apple.driver.AppleIntelKBLGraphicsFramebuffer</string>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>MaxKernel</key>
<string>19.3.0</string>
<key>MinKernel</key>
<string></string>
<key>Replace</key>
<data>
D4IAAAAA
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
</dict>
<dict>
<key>Base</key>
<string></string>
<key>Comment</key>
<string>KBL-DVMTpatch-10.15.4 (Enable 4K UHD HDMI/DisplayPort Output)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<false/>
<key>Find</key>
<data>
D4KPAwAA
</data>
<key>Identifier</key>
<string>com.apple.driver.AppleIntelKBLGraphicsFramebuffer</string>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>19.4.0</string>
<key>Replace</key>
<data>
D4IAAAAA
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
</dict>
</array>
</dict>
<key>UEFI</key>
<dict>
<key>Drivers</key>
<array>
<string>TbtForcePower.efi</string>
</array>
</dict>
</dict>
</plist>

View file

@ -2,11 +2,7 @@
<img align="right" src="https://i.imgur.com/u2Nukp7.png" alt="Critter" width="200">
## OpenCore is better than Clover in [many ways](https://khronokernel-2.gitbook.io/opencore-vanilla-desktop-guide/). But since it is still in its infancy, OpenCore still requires a lot of time and personal confgurations to work. So even though I have posted my EFI-OpenCore folder, there are still some work which you have to do before you are able to get it working on your machine.
### Fortunately, [acidanthera](https://github.com/acidanthera) has done a great job documenting OpenCore. And while it can be greatly time consuming, I really recommend taking a look at it and starting a `config.plist` from scratch. Doing so will allow you to personalize and understand OpenCore configurations. More importantly, by starting an `config.plist` from scratch, you may catch a mistake in my own config.plist or find a better setting variable.
I do, however, understand if you are strapped for time. So here are the necessary changes to my uploaded configs that would get your machine working. In most cases, your machine should boot with OpenCore after these changes. However, if it does not. please refer to acidanthera's OpenCore documentation.
## Even though I have posted my OpenCore EFI folder here, there are still some work which you have to do before you are able to get it working on your machine. It is **NEVER** a good idea to use someone else's EFI without throughly examining it.
```
* SystemUUID: Can be generated with MacSerial or use pervious from Clover's config.plist.
@ -15,9 +11,8 @@ I do, however, understand if you are strapped for time. So here are the necessar
* SystemSerialNumber: Can be generated with MacSerial or use pervious from Clover's config.plist.
```
See [`docs/5_README-other`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/5_README-other.md) for more details regarding PlatformInfo settings.
`CPUFriendDataProvider` can be generated with [CPUFriendFriend](https://github.com/corpnewt/CPUFriendFriend_) or [one-key-cpufriend](https://github.com/stevezhengshiqi/one-key-cpufriend). This is especially important if you have a different CPU than mine. Even if you have the same CPU as me, you may prefer a different Energy Performance Preference (EPP) so do generate your own CPUFriendDataProvider.
- See [`docs/3_README-other`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/3_README-other.md) for more details regarding PlatformInfo settings.
- `CPUFriendDataProvider` can be generated with [CPUFriendFriend](https://github.com/corpnewt/CPUFriendFriend_) or [one-key-cpufriend](https://github.com/stevezhengshiqi/one-key-cpufriend). This is especially important if you have a different CPU than mine. Even if you have the same CPU as me, you may prefer a different Energy Performance Preference (EPP) so do generate your own CPUFriendDataProvider.
> ## Checking your OpenCore config.plist
@ -25,7 +20,7 @@ It is important to keep your OpenCore config.plist properly up-to-spec, as OpenC
> ## `config.plist` Comments:
* There are two `plist` files. Default `config.plist` is meant who those with a modded BIOS and have made the approiate settings as detailed in [docs/1_README-HARDWAREandBIOS.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md) while `config_unmoddedBIOS.plist` is meant for those without a modded BIOS. If you have a modded BIOS and have made the adjustments detailed in my docs, `config.plist` should suffice. If your BIOS is unmodded, simply add the contents of `config_unmoddedBIOS.plist` to the main `config.plist`.
* Notes on kexts and ACPI patches are on the respective Add OpenCore entry. Additionally, notes on ACPI patches can be found at [docs/4_README-ACPIpatching.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/4_README-ACPIpatching.md).
* Notes on kexts and ACPI patches are on the respective OpenCore entries. Additionally, notes on ACPI patches can be found in [docs/2_README-ACPIpatching.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/2_README-ACPIpatching.md) as well as comments inside the patch.
* Audio patches:
`Device Properties` > `PciRoot(0x0)/Pci(0x1f,0x3)` > `layout-id`: Injects AppleALC layout-id `21`
* Intel iGPU and HDMI patches:
@ -37,7 +32,6 @@ It is important to keep your OpenCore config.plist properly up-to-spec, as OpenC
* `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 #60](https://github.com/tylernguyen/x1c6-hackintosh/issues/60)
* Addtionally, `config_unmoddedBIOS.plist` constains two more variables meant to work around the stock BIOS DVMT `Pre-Allocated` being locked at `32M`.
* FileVault compatibility:
* Misc -> Boot
* `PollAppleHotKeys` set to `YES`(While not needed can be helpful)
@ -54,9 +48,21 @@ It is important to keep your OpenCore config.plist properly up-to-spec, as OpenC
* `AppleSmcIo` set to `YES`(this replaces VirtualSMC.efi)
* UEFI -> Quirks
* `RequestBootVarRouting` set to `YES`
* Hibernation Mode 25 support:
* Booter -> Quirks
* `DiscardHibernateMap` set to `YES`
* NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82
* `boot-args` includes `-hbfx-dump-nvram rtcfx_exclude=80-AB`
* Misc -> Boot
* `HibernateMode` set to `NVRAM`
* UEFI -> ReservedMemory
* Address: `569344`
* Size: `4096`
* Type: `RuntimeCode`
* Personalization:
* `ShowPicker` is `NO`. Use `Esc` during boot to show picker when needed.
* `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.
* OpenCanopy Support:
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`.

Binary file not shown.

View file

@ -573,6 +573,8 @@
<string></string>
<key>DirectGopRendering</key>
<false/>
<key>ForceResolution</key>
<false/>
<key>IgnoreTextInGraphics</key>
<false/>
<key>ProvideConsoleGop</key>

274
README.md
View file

@ -4,7 +4,7 @@
[![version](https://img.shields.io/badge/10.15.7-yellow)](https://support.apple.com/en-us/HT210642)
[![BIOS](https://img.shields.io/badge/BIOS-1.45-blue)](https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x1-carbon-6th-gen-type-20kh-20kg/downloads/driver-list/component?name=BIOS%2FUEFI)
[![MODEL](https://img.shields.io/badge/Model-20KH*-blue)](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/references/x1c6-Platform_Specifications.pdf)
[![OpenCore](https://img.shields.io/badge/OpenCore-0.6.2-green)](https://github.com/acidanthera/OpenCorePkg)
[![OpenCore](https://img.shields.io/badge/OpenCore-0.6.3-green)](https://github.com/acidanthera/OpenCorePkg)
[![LICENSE](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/996icu/996.ICU/blob/master/LICENSE)
<img align="right" src="https://i.imgur.com/I3yUS4Q.png" alt="Critter" width="300">
@ -12,7 +12,7 @@
### Check out my blog [tylerspaper.com](https://tylerspaper.com/)
#### READ THE ENTIRE README.MD BEFORE YOU START.
()
#### I am not responsible for any damages you may cause.
### Should you find an error, or improve anything, be it in the config itself or in the my documentation, please consider opening an issue or a pull request to contribute.
@ -25,66 +25,127 @@
##### Recent | [Changelog Archive](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/CHANGELOG.md)
> ### 2020-10-6
#### Notice
- Just getting back to my rountine and maintaining this project. There has been many developments lately, especially with Thunderbolt 3 ACPI patches and [YogaSMC](https://github.com/zhen-zen/YogaSMC). It will take some time for me to review all these developments and understand them. Meanwhile, it seems @benbender has taken matters to his own hand while I was away :)
- His experimental fork: https://github.com/benbender/x1c6-hackintosh
- I will create an issue to specfically to discuss YogaSMC usage and config on this machine.
- Looking forward, Big Sur is almost here so I want to get this project back onto the latest stable build before it comes out.
> ### 2020-11-3
#### Changed
- Support for Hibernation Mode 25. As with normal macOS machines, mode 3 is default, but if you want, mode 25 is now also an option.
- There seems to be a bug with the GitHub release version of `ThunderboltReset.kext` so I replaced it one built by @benbender. You can monitor the issue here [osy86/ThunderboltReset/issues/7](https://github.com/osy86/ThunderboltReset/issues/7). Thank you @benbender for noticing this.
- OC to 0.6.2
- Upgraded various Acidanthera kexts as well as `VoodooRMI`
- OC to 0.6.3 and upgrade various Acidanthera kexts
- Restructured docs: depricated legacy things and combined duplicates.
- `YogaSMC` is now the preferred method to handle Fn keys instead of ThinkpadAssisstant.
- Note that `YogaSMC` is still in its infancy, so you still prefer ThinkpadAssistant, use `SSDT-Keyboard-Legacy.dsl` and `/patches/OpenCore Patches/ Keyboard-Legacy.plist`
- Thank you @zhen-zen for the great kext and app.
- Updated `config.plsit`:
- Removed depricated ACPI renames in accordance with new ACPI patches.
- Added `Arch` value to each kext entry in accordance with new OpenCore doc.
- Added Thunderbolt 3 Device Properties.
- Added `ExtendBTFeatureFlags` value to replace `BT4LEContinuityFixup`
- Reorganized subdirectories within `/patches/` to make things easier to find and understand.
- Renamed `3_README-POSTinstallation.md` to `SUMMARY.md` since it's not really a step but more of an overview of what patches what.
- More readble and better writing of `SSDT-Keyboard`
- New `SSDT-PNLF` to accomodate `AppleBacklightSmoother.kext`
- New battery patch `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*`
- It is no longer necessary to set sleep mode to `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.
- Removed `USBPorts.kext` in favor of patching/mapping via ACPI with `SSDT-XHC1`, `SSDT-XHC2`, and `SSDT-USBX`
- `README.md`:
- Turned different sections into menus for better readability.
- Merged `3_README-POSTinstallation.md` into the `SUMMARY` section.
- Set `HibernateMode` to `NVRAM` instead of `Auto`
#### Added
- Added `RTCMemoryFixUp` for support of Hibernation Mode 25.
- OpenCore config patch for FHD Touchscreen.
- OpenCore config patch for Intel wireless.
- `update.sh` script to automatically build and replace all ACPI patches
- `SSDT-HWAC` to patch access to 16byte-EC-field HWAC
- `SSDT-EC` to patch embedded controller for use with `YogaSMC`
- `SSDT-Debug`, `SSDT-HOOKS`, and `Debug.plist` for debugging if needed
- `SSDT-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](https://github.com/zhen-zen/YogaSMC/releases).
- `AppleBacklightSmoother.kext` is just as its name implies.
- `BrightnessKeys.kext` to handle Fn keys with ACPI renames.
- Documentation of modding the Thunderbolt 3 controller.
#### Removed
- ALCPlugFix is now deprecated and is replaced by new AppleALC (per issue #75). Please run `uninstall.sh` from the previous commit to remove ALCPlugFix.
- Delete legacy DiskImage voice from OC `Resources`
- `GPRW` ACPI patch to fix Bluetooth wake. Make sure that your Wake-on-LAN is disabled in BIOS to prevent sleep problems.
- Removed advice to disable DPTF in modded BIOS as it can break methods in ACPI. Thanks @benbender
- `SMCSuperIO` as it was unnecessary.
- `SSDT-HPET`, similar to genuine Macs, HPET is now disabled within `SSDT-INIT`
> # table of contents
- [summary](#summary)
- [before you start](#references)
- [needed](#needed)
- [my specs for comparison and ref](#specifications)
- [getting started ](#start)
- [other x1c6 repos](#other)
- [contact](#contact)
- [donate and support](#support)
- [credits and thank you](#credits)
#### Remark
- A large of these changes are due to the hardwork of [@benbender](https://github.com/benbender), who debugged and authored many of the new ACPI patches. Thank you for your hard work!
> ## SUMMARY
<details>
<summary><strong> SUMMARY </strong></summary>
<br>
**`In short, x1c6-hackintosh is very stable and is currently my daily driver. I fully recommend this project to anyone looking for a MacBook alternative.`**
> ### Non-Fuctional:
| Feature | Status | Dependency | Remarks |
| :----------------------------------- | ------ | ------------------- | ---------------------------- |
| Fingerprint Reader | ❌ | `DISABLED` in BIOS to save power if not used in other OSes. | Linux support was only recently added |
| Wireless WAN | ❌ | `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. |
| Fully functional | Non-functional | Semi-functional. Additional pulls needed and welcomed. |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- |
| Native Power Mangemenet ✅ \*need BIOS mod, see [docs/1_README-HARDWAREandBIOS.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md) | Wireless WAN ❌ (DISABLED at BIOS) | Thunderbolt 3 hotplug *with some caveats. See [docs/5_README-other.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/5_README-other.md) and [Issue #24](https://github.com/tylernguyen/x1c6-hackintosh/issues/24#issuecomment-603183002) ⚠️ |
| WiFi, Bluetooth, Apple Continuity, iCloud suite: App Store, iMessage, FaceTime, iCloud Drive, etc... ✅ \*need [network card replacement](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md) | Fingerprint Reader ❌ (not needed, DISABLED at BIOS) | |
| USB A, USB C, Webcam, Audio Playback/Recording Sleep, Ethernet, Intel Graphics, TrackPoint and Trackpad, MicroSD card reader ✅ | | |
| BIOS Mod, giving access to `Advance` menu.✅ See [docs/1_README-HARDWAREandBIOS.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md) and [Issue #68](https://github.com/tylernguyen/x1c6-hackintosh/issues/68) | | |
| Multimedia Fn keys ✅ \*need [ThinkpadAssistant](https://github.com/MSzturc/ThinkpadAssistant) | | |
| PM981 installation. ✅ See [Issue #43](https://github.com/tylernguyen/x1c6-hackintosh/issues/43) | | |
| 4K UHD via HDMI/DisplayPort. ✅ Install `patches/OpenCore patches/4K-Output.plist` if your BIOS is unmodded (follow [Issue #40](https://github.com/tylernguyen/x1c6-hackintosh/issues/40#issuecomment-659370165) when upgrading macOS with this patch enabled). If you have a modded BIOS, simply set `DMVT Pre-Allocated` to `64M` (Refer to [docs/1_README-HARDWAREandBIOS.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md))| | |
| HDMI hotplug(requires a custom EDID override). ✅ See `patches/Internal Displays/` for pre-made ones and [Issue #60](https://github.com/tylernguyen/x1c6-hackintosh/issues/60) if one does not exist already for your display.| |
| Hibernation Mode 25 ✅||
> ### Video and Audio
| Feature | Status | Dependency | Remarks |
| :----------------------------------- | ------ | ------------------- | ---------------------------- |
| Full Graphics Accleration (QE/CI) | ✅ | `WhateverGreen.kext` | - |
| Audio Recording | ✅ | `AppleALC.kext` with Layout ID = 21 | - |
| Audio Playback | ✅ | `AppleALC.kext` with Layout ID = 21 | - |
| Automatic Headphone Output Switching | ✅ | `AppleALC.kext` with Layout ID = 21 | - |
**For more information regarding certain features, please refer to [`docs/3_README-POSTinstallation.md`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/3_README-POSTinstallation.md)**
> ### Power, Charge, Sleep and Hibernation
| Feature | Status | Dependency | Remarks |
| :----------------------------------- | ------ | ------------------- | ---------------------------- |
| Battery Percentage Indication | ✅ | `SSDT-Battery.aml` and `/patches/OpenCore Patches/Battery.plist` |
| CPU Power Management (SpeedShift) | ✅ | `XCPM` and `CPUFriend.kext`, generate your own `CPUFriendDataProvider` with [CPUFriendFriend](https://github.com/corpnewt/CPUFriendFriend_) or [one-key-cpufriend](https://github.com/stevezhengshiqi/one-key-cpufriend). |
| iGPU Power Management | ✅ | `XCPM`, enabled by `SSDT-PLUG.aml` |
| NVMe Drive Battery Management | ✅ | `NVMeFix.kext` | In my experience, NVMe drives will drain more power than SATA drives. |
| S3 Sleep/ Hibernation Mode 3 | ✅ | `SSDT-Sleep.aml` | |
| Hibernation Mode 25 | ✅ | `RTCMemoryFixup.kext` and `HibernationFixup.kext` | Supported, macOS uses mode 3 by default. Change to mode 25 via `pmset`. |
| Custom Charge Threshold | ✅ | `SSDT-EC.aml`, [YogaSMC.kext](https://github.com/zhen-zen/YogaSMC), and [YogaSMCPane](https://github.com/zhen-zen/YogaSMC)| Adjust with YogaSMCPane in System Preferences
| Battery Life | ✅ | Native, comparable to Windows/Linux. Biggest impact is TB3, see [docs/1_README-HARDWAREandBIOS.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md) | Will need a modded BIOS to disable `CFG Lock`
> ### Input/ Output
| Feature | Status | Dependency | Remarks |
| :----------------------------------- | ------ | ------------------- | ---------------------------- |
| WiFi | ✅ | Native with BCM94360CS2. See `/patches/ Network Patches/` otherwise. | See `/patches/OpenCore Patches/` for specific network card. |
| Bluetooth | ✅ | Native with BCM94360CS2. See `/patches/ Network Patches/` otherwise. | See `/patches/Network Patches/` for specific network card. |
| Ethernet | ✅ | `IntelMausi.kext` | Needs Lenovo Ethernet adapter: [Item page](https://www.lenovo.com/us/en/accessories-and-monitors/cables-and-adapters/adapters/CABLE-BO-Ethernet-Extension-Adapter-2/p/4X90Q84427) |
| HDMI hotplug | ✅ | Custom EDID Override `/patches/Internal Displays/` | Refer to [Issue #60](https://github.com/tylernguyen/x1c6-hackintosh/issues/60) if one does not exist already for your display. |
| 4K UHD output via HDMI/ DisplayPort **(Modded BIOS)** | ✅ | See `DMVT Pre-Allocated` to `64M` | See [docs/1_README-HARDWAREandBIOS.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md) for information about modding the BIOS. |
| 4K UHD output via HDMI/ DisplayPort **(Vanilla BIOS)** | ✅ | See `/patches/OpenCore Patches/4K-Output-wo-BIOSmod.plist` | - |
| USB 2.0, USB 3.0, and Micro SD Card Reader | ✅ | `SSDT-XHC1.aml` | - |
| USB 3.1 | ⚠️ | `SSDT-XHC2.aml` | - |
| USB Power Properties in macOS | ✅ | `SSDT-USBX.aml` | - |
| Thunderbolt 3 **(Cold Boot)** | ✅ | `SSDT-TB3.aml`, | TB3 device must be plugged in before boot. |
| Thunderbolt 3 Hotplug **(Modded Controller and BIOS)** | ⚠️ | `SSDT-TB3.aml` | [3_README-other.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/3_README-other.md), [Issue #24](https://github.com/tylernguyen/x1c6-hackintosh/issues/24#issuecomment-603183002) |
| Thunderbolt 3 Hotplug **(Modded Controller and Vanilla BIOS)** | ⚠️ | `SSDT-TB3.aml` | [3_README-other.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/3_README-other.md),[Issue #24](https://github.com/tylernguyen/x1c6-hackintosh/issues/24) |
| Thunderbolt 3 Hotplug **(Vanilla Controller and Modded BIOS)** | ⚠️ | `SSDT-TB3.aml`, `ThunderboltReset.kext`, `GPIO3 Force Pwr` and `GPIO3 Force Pwr for PR05` checked in BIOS | [3_README-other.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/3_README-other.md),[Issue #24](https://github.com/tylernguyen/x1c6-hackintosh/issues/24) |
| Thunderbolt 3 Hotplug **(Vanilla Controller and BIOS)** | ⚠️ | `SSDT-TB3.aml`, `ThunderboltReset.kext`, and `TbtForcePower.efi` | [3_README-other.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/3_README-other.md),[Issue #24](https://github.com/tylernguyen/x1c6-hackintosh/issues/24) |
> ### Display, TrackPad, TrackPoint, and Keyboard
| Feature | Status | Dependency | Remarks |
| :----------------------------------- | ------ | ------------------- | ---------------------------- |
| Brightness Adjustments | ✅ | `WhateverGreen.kext`, `SSDT-PNLF.aml`, `AppleBacklightSmoother.kext`, and `BrightnessKeys.kext`| `AppleBacklightSmoother.kext` is optional for smoother birghtness adjustments |
| HiDPI _(Optional)_ | ✅ | [xzhih/one-key-hidpi](https://github.com/xzhih/one-key-hidpi) | Scaling issues post-sleep fixed with AAPL, ig-platform `BAAnWQ==` |
| TrackPoint | ✅ | `VoodooPS2Controller.kext` | - |
| TrackPad | ✅ | `VoodooPS2Controller.kext` or `VoodooSMBus.kext` and `VoodooRMI.kext` | I prefer `VoodooRMI.kext` so that is the repository default. |
| Built-in Keyboard | ✅ | `VoodooPS2Controller.kext` | Optimizations recommended, see [`docs/3_README-other.md`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/3_README-other.md) |
| Multimedia Keys | ✅ | `BrightnessKeys.kext` and [YogaSMC](https://github.com/zhen-zen/YogaSMC) or [ThinkpadAssistant](https://github.com/MSzturc/ThinkpadAssistant) with legacy patches | YogaSMC is the repo default, `SSDT-Keyboard-Legacy.aml`, `patches/OpenCore Patches/ Keyboard-Legacy.plist` if you want to use [ThinkpadAssistant](https://github.com/MSzturc/ThinkpadAssistant) instead |
> ### macOS Continuity
| Feature | Status | Dependency | Remarks |
| :----------------------------------- | ------ | ------------------- | ---------------------------- |
| iCloud, iMessage, FaceTime | ✅ | Whitelisted Apple ID, Valid SMBIOS | See [dortania /OpenCore-Install-Guide](https://dortania.github.io/OpenCore-Post-Install/universal/iservices.html) |
| Continuty | ✅ | Native with `BCM94360CS2`. `ExtendBTFeatureFlags` to `True` otherwise. | See `/patches/Network Patches/` for specific network card. |
| AirDrop | ✅ | Native with `BCM94360CS2`. `ExtendBTFeatureFlags` to `True` otherwise. | See `/patches/Network Patches/` for specific network card. |
| Sidecar | ✅ | Native with `BCM94360CS2`. `ExtendBTFeatureFlags` to `True` otherwise. iPad with >= `iPadOS 13` | Tested with iPad Mini with iPadOS 13.1.2 |
| FileVault | ✅ | as configured in `config.plsit` per [Dortania's Post-Install](https://dortania.github.io/OpenCore-Post-Install/universal/security/filevault.html)| |
| Time Machine | ✅ | Native | TimeMachine only backups your Macintosh partition. Manually backup your EFI partition using another method. |
</details>
<details>
<summary><strong> REFERENCES </strong></summary>
<br>
> ## REFERENCES
* Read these before you start:
- [dortania's Hackintosh guides](https://github.com/dortania)
- [dortania's OpenCore Install Guide](https://dortania.github.io/OpenCore-Install-Guide/)
@ -97,63 +158,66 @@
- Additionally, references specific to the x1c6 are located in `docs/references/`
* ### No seriously, please read those.
</details>
> ## NEEDED
<details>
<summary><strong> REQUIREMENTS </strong></summary>
<br>
A macOS machine would be VERY useful: to create install drives, and for when your ThinkPad cannot boot. Though it is not completely necessary.
Flash drive, 12GB or more.
Xcode works fine for editing plist files on macOS, but I prefer [PlistEdit Pro](https://www.fatcatsoftware.com/plisteditpro/).
[ProperTree](https://github.com/corpnewt/ProperTree) if you need to edit plist files on Windows.
[MaciASL](https://github.com/acidanthera/MaciASL), for patching ACPI tables.
[MountEFI](https://github.com/corpnewt/MountEFI) to quickly mount EFI partitions.
[IOJones](https://github.com/acidanthera/IOJones), for diagnosis.
[Hackintool](https://www.insanelymac.com/forum/topic/335018-hackintool-v286/), for diagnostic ONLY, Hackintool should not be used for patching, it is outdated.
- A macOS machine(optional): to create the macOS installer.
- Flash drive, 12GB or more, for the above purpose.
- Xcode works fine for editing plist files on macOS, but I prefer [PlistEdit Pro](https://www.fatcatsoftware.com/plisteditpro/).
- [ProperTree](https://github.com/corpnewt/ProperTree) if you need to edit plist files on Windows.
- [MaciASL](https://github.com/acidanthera/MaciASL), for patching ACPI tables and editing ACPI patches.
- [MountEFI](https://github.com/corpnewt/MountEFI) to quickly mount EFI partitions.
- [IORegistryExplorer](https://developer.apple.com/downloads), for diagnosis.
- [Hackintool](https://www.insanelymac.com/forum/topic/335018-hackintool-v286/), for diagnostic ONLY, Hackintool should not be used for patching, it is outdated.
- [SPI Programmer CH341a and SOIC8 connector](https://www.amazon.com/Organizer-Socket-Adpter-Programmer-CH341A/dp/B07R5LPTYM) are needed if you are going to mod your BIOS/TB3 controller for optimizations and a better and more native macOS experience.
- Patience and time, especially if this is your first time Hackintosh-ing.
> ## SPECIFICATIONS
</details>
Refer to [x1c6-Platform_Specifications](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/references/x1c6-Platform_Specifications.pdf) for possible stock ThinkPad X1 6th Gen configurations.
<details>
<summary><strong> HARDWARE </strong></summary>
<br>
- These are relevant components on my machine which may differ from yours, keep these in mind as you will need to adjust accordingly, depending on your machine's configuration.
| Processor Number | # of Cores | # of Threads | Base Frequency | Max Turbo Frequency | Cache | Memory Types | Graphics |
| :--------------------------------------------------------------------------------------------------------------------------------- | :--------- | :----------- | :------------- | :------------------ | :---- | :----------- | :------------ |
| [i7-8650U](https://ark.intel.com/content/www/us/en/ark/products/124968/intel-core-i7-8650u-processor-8m-cache-up-to-4-20-ghz.html) | 4 | 8 | 1.9 GHz | 4.2 GHz | 8 MB | LPDDR3-2133 | Intel UHD 620 |
| Category | Component | Remarks |
| --------- | ------------------------------------ | ------------ |
| CPU | [i7-8650U](https://ark.intel.com/content/www/us/en/ark/products/124968/intel-core-i7-8650u-processor-8m-cache-up-to-4-20-ghz.html) | Generate your own `CPUFriendDataProvider.kext`. See `SUMMARY`
| SSD | Seagate Firecuda 520 500GB | [Dortania's Anti Hackintosh Buyers Guide](https://dortania.github.io/Anti-Hackintosh-Buyers-Guide/Storage.html)
| Display | 14.0" (355mm) HDR WQHD (2560x1440) | `/patches/ Internal Displays/` and [Issue #60](https://github.com/tylernguyen/x1c6-hackintosh/issues/60)
| WiFi & BT | BCM94360CS2 | `/patches/ Network Patches/` if non-native.
| WWAN | None | Unless needed in other OSes, disable at BIOS to save power
**Peripherals:**
- Refer to [/docs/references/x1c6-Platform_Specifications](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/references/x1c6-Platform_Specifications.pdf) for possible stock ThinkPad X1 6th Gen configurations.
```
Two USB 3.1 Gen 1 (Right USB Always On)
Two USB 3.1 Type-C Gen 2 / Thunderbolt 3 (Max 5120x2880 @60Hz)
HDMI 1.4b (Max 4096x2160 @30Hz)
Ethernet via ThinkPad Ethernet Extension Cable Gen 2: I219-LM Ethernet (vPro)
No WWAN
TrackPoint: PS/2
TrackPad: PS/2
```
</details>
**Display:**
`14.0" (355mm) HDR WQHD (2560x1440)`
**Audio:**
`ALC285 Audio Codec`
**Thunderbolt:**
`Intel JHL6540 (Alpine Ridge 4C) Thunderbolt 3 Bridge`
<details>
<summary><strong> GETTING STARTED </strong></summary>
<br>
> ## START
Before you do anything, please familiarize yourself with basic Hackintosh terminologies and the basic Hackintosh process by throughly reading Dortania guides as linked in `REFERENCES`
Explore links included this README, especially those in references and other x1c6-hackintosh repos.
- Creating a macOS installer: refer to [Dortania's OpenCore Install Guide](https://dortania.github.io/OpenCore-Install-Guide/installer-guide/)
- [**1_README-HARDWAREandBIOS**](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md): Requirements before installing.
- [**2_README-ACPIpatching**](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/3_README-ACPIpatching.md): Notes and explainations for ACPI hotpatches.
- [**3_README-other.md**](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/4_README-other.md): for post installation settings and other remarks.
Once you are ready, follow the series of README files included `docs/`.
[**1_README-HARDWAREandBIOS**](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md): Requirements before starting.
[**2_README-installMEDIA**](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/2_README-installMEDIA.md): Creating the macOS install drive.
[**3_README-POSTinstallation**](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/3_README-POSTinstallation.md): Settings and tweaks post installation.
[**4_README-ACPIpatching**](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/4_README-ACPIpatching.md): The hardest and most time consuming part, patching the system ACPI table for battery status, brightness, sleep, thunderbolt, thunderbolt hotplugging, etc...
[**5_README-other.md**](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/5_README-other.md): for other notices
</details>
- While you can plug-and-play most of my hotpatches if you have an x1c6, I still suggest that you dump and disassemble your own DSDT. This is imprortant as your DSDT maybe different from mine. And furthermore, you get to learn more about what's actually going on.
<details>
<summary><strong> OTHER REPOSITORIES </strong></summary>
<br>
> ## OTHER
[zhtengw/EFI-for-X1C6-hackintosh](https://github.com/zhtengw/EFI-for-X1C6-hackintosh)
[Colton-Ko/macOS-ThinkPad-X1C6](https://github.com/Colton-Ko/macOS-ThinkPad-X1C6)
- x1c6-hackintosh repositories:
- [benbender/x1c6-hackintosh](https://github.com/benbender/x1c6-hackintosh)
- [zhtengw/EFI-for-X1C6-hackintosh](https://github.com/zhtengw/EFI-for-X1C6-hackintosh)
- t480-hackintosh repositories:
- [EETagent/T480-OpenCore-Hackintosh](https://github.com/EETagent/T480-OpenCore-Hackintosh)
Create a pull request if you like to be added, final decision at my discreation.
</details>
> ## CONTACT
@ -164,22 +228,28 @@ Signal: +1 (202)-644-9951 \*This is a Signal ONLY number. You will not get a rep
https://tylerspaper.com/support/
> ## CREDITS
<details>
<summary><strong> CREDITS </strong></summary>
<br>
[@Colton-Ko](https://github.com/Colton-Ko/macOS-ThinkPad-X1C6) for the great features template.
[@stevezhengshiqi](https://github.com/stevezhengshiqi) for the one-key-cpufriend script.
[@corpnewt](https://github.com/corpnewt) for GibMacOS, EFIMount, and USBMap.
[@xzhih](https://github.com/xzhih) for one-key-hidpi.
[@daliansky](https://github.com/daliansky) for various hotpatches.
[@velaar](https://github.com/velaar) for your continual support and contributions.
[@benbender](https://github.com/benbender) for your various issue contributions.
[@Porco-Rosso](https://github.com/Porco-Rosso) putting up with my requests to test repo changes.
[@MSzturc](https://github.com/MSzturc) for adding my requested features to ThinkpadAssistant.
- [@benbender](https://github.com/benbender) for your hardwork. Much of this repo comes from your research and code. Thank you!
- [@Fewtarius](https://github.com/fewtarius) for your help with patching audio.
- [@Colton-Ko](https://github.com/Colton-Ko/macOS-ThinkPad-X1C6) for the great features template.
- [@stevezhengshiqi](https://github.com/stevezhengshiqi) for the one-key-cpufriend script.
- [@corpnewt](https://github.com/corpnewt) for [GibMacOS](https://github.com/corpnewt/gibMacOS) and [EFIMount](https://github.com/corpnewt/MountEFI).
- [@xzhih](https://github.com/xzhih) for one-key-hidpi.
- [daliansky/OC-little](https://github.com/daliansky/OC-little) for various ACPI hotpatch samples.
- [@velaar](https://github.com/velaar) for your continual support and contributions.
- [@Porco-Rosso](https://github.com/Porco-Rosso) putting up with my requests to test repo changes.
- [@MSzturc](https://github.com/MSzturc) for adding my requested features to ThinkpadAssistant.
paranoidbashthot and \x for the BIOS mod to unlocked Intel Advance Menu.
- [@zhen-zen](https://github.com/zhen-zen) for YogaSMC
- [CaseySJ](https://www.tonymacx86.com/members/caseysj.2134452/) for the custom modded Thunderbolt 3 firmware.
The greatest thank you and appreciation to [@Acidanthera](https://github.com/acidanthera), without whom's work, none of this would be possible.
The greatest thank you and appreciation to the [Acidanthera](https://github.com/acidanthera) team.
And to everyone else who supports and uses my project.
Please let me know if I missed you.
</details>

View file

@ -21,7 +21,6 @@ At the minimum, these BIOS settings must be made to install and run macOS withou
| Main Menu | Sub 1 | Sub 2 | Sub 3 |
| --------- | ----------- | --------------------------------------------- | ------------------------------------------------------------------ |
| | | >> Power | Sleep State `Linux` |
| | >> Security | >> Security Chip | Security Chip `DISABLED` |
| | | >> Fingerprint | Predesktop Authentication `DISABLED` |
| | | >> Secure Boot Configuration | Secure Boot `DISABLED` |
@ -34,7 +33,7 @@ At the minimum, these BIOS settings must be made to install and run macOS withou
| | >> Startup | UEFI/Legacy Boot `UEFI Only` | |
| | | CSM Support `No` (per OpenCore Documentation) | |
* You should also disable hardware devices you do not need to save power:
* You should also disable hardware devices you do not need to save power, some examples are:
| Main Menu | Sub 1 | Sub 2 | Sub 3 |
| --------- | ----------- | --------------------------------------------- | ------------------------------------------------------------------ |
@ -58,20 +57,25 @@ At the minimum, these BIOS settings must be made to install and run macOS withou
| | | | Thunderbolt(TM) Device `Enabled` |
> ## Modding your BIOS:
> ## Modding the BIOS:
### 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 `config_unmoddedBIOS.plist`.
<img align="left" src="./Other/README_Resources/SPI_Programmer_CH341a.jpg" alt="SPI_Programmer_CH341a.jpg" width="220">
[SPI Programmer CH341a and SOIC8 connector](https://www.amazon.com/Organizer-Socket-Adpter-Programmer-CH341A/dp/B07R5LPTYM) are needed.
Here are the steps to mod your BIOS (credits to paranoidbashthot and \x):
* Refer to http://paranoid.anal-slavery.com/biosmods/skylake.html
* Use `xx_80_patches-v*.txt`, I commented out WWAN patches since I do not need it.
* [@notthebee](https://github.com/notthebee) also has a useful video to follow: https://www.youtube.com/watch?v=ce7kqUEccUM
* Confirmed working `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`. Just **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.**
* On the `x1c6`, the BIOS chip is located just on top of the CPU, under the sticker shield: ![IMG_0571-compressor](https://user-images.githubusercontent.com/3349081/87883762-38686380-c9cf-11ea-9e9d-c400f7b5407b.jpg)
* Successfully modding your BIOS will reveal the `Advance Menu` tab: ![IMG_0572-compressor](https://user-images.githubusercontent.com/3349081/87883767-3d2d1780-c9cf-11ea-9fb0-f250590a3f28.jpg)
* It goes without saying, after doing this, do not update your BIOS unless you want to do this again.
* **It is important that you backup your BIOS twice and `diff` the two dumps to make sure that it was done properly. Do not lose your backup! If anything ever goes wrong, you can flash this image and return to a vanilla state.**
- Refer to http://paranoid.anal-slavery.com/biosmods/skylake.html
- Use `xx_80_patches-v*.txt`, I commented out WWAN patches since I do not need it.
- [@notthebee](https://github.com/notthebee) also has a useful video to follow: https://www.youtube.com/watch?v=ce7kqUEccUM
- Remember to **dump the vanilla twice and use `diff` to make sure things were dumped properly**, store this backup somewhere safe.
- Confirmed working `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`. Just **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.**
- The BIOS chip is located above the CPU, under the sticker shield:
<img align="center" src="https://user-images.githubusercontent.com/3349081/87883762-38686380-c9cf-11ea-9e9d-c400f7b5407b.jpg" alt="BIOS Chip" width="300">
- Successfully modding your BIOS will reveal the `Advance Menu` tab:
<img align="center" src="https://user-images.githubusercontent.com/3349081/87883767-3d2d1780-c9cf-11ea-9fb0-f250590a3f28.jpg" alt="BIOS Advance Menu" width="300">
- It goes without saying, after doing this, do not update your BIOS unless you want to do this again.
### Finally, make sure to backup your pre-modded BIOS twice and compare the two to make sure that it was dumped properly. Furthermore, attempt this at your own risk, I am not responsible for any damages you may cause.
@ -128,8 +132,18 @@ The following are further optimization settings that can be figured once your BI
* Native macOS Thunderbolt interfacing, at the expense of TB3 hotplugging on other OSes:
If macOS is your only OS on the machine, or if you only need to use Thunderbolt 3 hotplug on macOS. There is a custom modded firmware that can be flashed onto the Thunderbolt 3 controller that allows for native Thunderbolt interfacing in macOS:
https://www.tonymacx86.com/threads/success-gigabyte-designare-z390-thunderbolt-3-i7-9700k-amd-rx-580.267551/page-2452#post-2160674
![Native TB3 interface in macOS](https://user-images.githubusercontent.com/30384331/89741356-2a62ab80-da80-11ea-8c76-e1f3aaa1d41d.png)
- Screenshot/testing courtesy of @nottthebee
* The Thunderbolt chip is located on the top right of the motherboard.
* A note before you do this, however, the modded thunderbolt firmware will still require that you disable Thunderbolt BIOS assist, so again, TB3 hotplug will come at the cost of power consumption.
* Secondly, as far as I can tell, this mod is really to make things look cleaner and more native within macOS, and doesn't have any real improvements versus the TB3 method currently in this repo.
> ## Modding the Thunderbolt 3 Controller:
The `Intel JHL6540 (Alpine Ridge 4C)` TB3 chip is labeled as `Winbond` and `W25Q80DVS` is located on the top right of the motherboard.
- Download [macOS compatible firmware](https://www.tonymacx86.com/attachments/lenovo-x1-carbon-nvm-43-mod-1-caseysj-bin-zip.483524/)
- Again, [@notthebee](https://github.com/notthebee) also has a useful video to follow: https://www.youtube.com/watch?v=ce7kqUEccUM
- Remember to dump the vanilla twice and use `diff` to make sure things were dumped properly, store this backup somewhere safe.
- Once the vanilla firmware has been safely dumped and backed up, you can flash the custom firmware onto the controller.
- Successfully modding your Thunderbolt 3 controller can be confirmed via macOS's System Report:
<img align="center" src="https://user-images.githubusercontent.com/30384331/89741356-2a62ab80-da80-11ea-8c76-e1f3aaa1d41d.png" alt="macOS native TB3" width="300">

View file

@ -35,18 +35,23 @@ See highlighted example:
> ### Non-native WiFi and Bluetooth
`OpenCore Patches/ Config-DW1560.plist` for DW1560 model cards.
`OpenCore Patches/ Config-DW1820A.plist` for WD1820A model cards.
`/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/`
> ### SSDT-OCBAT0-TP_tx80_x1c6th - Enables Battery Status in macOS
> ### SSDT-Darwin - Detects macOS to enable other patches
**Need `OpenCore Patches/ TPbattery.plist`**
> ### SSDT-Battery-Legacy - Enables Battery Status in macOS (Lgeacy)
**Need `OpenCore Patches/ Battery-Legacy.plist`**
- Single battery system: only `BAT0` in ACPI, no `BAT1`.
> ### SSDT-PLUG-\_PR.PR00 - Enables Native Intel Power Managements
> ### SSDT-HWAC - Fix axxess to 16byte-EC-field HWAC
- Thanks @benbender
> ### SSDT-PLUG - Enables Native Intel Power Managements
Why?: `Processor` search in DSDT, rename `PR` to other variables as needed.
@ -72,62 +77,74 @@ Why?: `Processor` search in DSDT, rename `PR` to other variables as needed.
}
```
> ### SSDT-PNLF-SKL_KBL - Enables Brightness Management in macOS
> ### SSDT-PNLF - Enables Brightness Management in macOS and Smooth Adjustments with AppleBacklightSmoother.kext
iGPU is `PCI0.GFX0`
Why?: `Skylake/ KabyLake/ KabyLake-R` CPU.
Used in conjunction with `WhateverGreen.kext`
Used in conjunction with `WhateverGreen.kext` and `AppleBacklightSmoother.kext` (Optional)
> ### SSDT-INIT - Initialize System Variables
> ### SSDT-HPET
Disables:
- HPET
- DPTF
Enables:
- DYTC
- Patch out IRQ conflicts. Credits to [corpnewt/SSDTTime](https://github.com/corpnewt/SSDTTime).
**Needs `OpenCore Patches/ HPET.plist`**
> ### SSDT-Keyboard - Remap PS2 Keys, EC Keys are handled by `BrightnessKeys.kext`
> ### SSDT-Keyboard - Remapping Fn and PrtSc Keys
Keyboard path is `\ _SB.PCI0.LPCB.KBD`.  
For multimedia functions:
- Remap 1: F4 (Network) to F20 (for use with ThinkpadAssistant)
- Remap 2: F5 (Brightness Down)
- Remap 3: F6 (Brightness Up)
- Remap 4: F7 (Dual Display) to F16 (for use with ThinkpadAssistant)
- Remap 5: F8 (Network) to F17 (for use with ThinkpadAssistant)
- Remap 6: F9 (Settings) to F18 (for use with ThinkpadAssistant)
- Remap 7: F10 (Bluetooth) to [Left Shift + F8] ((for use with ThinkpadAssistant))
- Remap 8: F11 (Keyboard) to [Shift+Up]
- Remap 9: F12 (Star) to F19 (for use with ThinkpadAssistant)
- Remap 10: PrtSc to F13
- Remap 11: Fn + K to Deadkey
- Remap 12: Fn + P to Deadkey
- Configures TrackPoint
- Configures TrackPad (if handled by `VoodooPS2Controller.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`:
![Fn keys](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/fnkeys.png)
**Needs `OpenCore Patches/ x1c6-keyboard.plist`**
<details>
<summary><strong> SSDT-Keyboard-Legacy </strong></summary>
<br>
> ### SSDT-LED
- Fix ThinkPad `i` LED after sleep.
- Persist F4 Mute LED after sleep.
> ### SSDT-PTSWAK
**Needs `OpenCore Patches/ Keyboard-Legacy.plist`**
- Legacy patch to be used if you prefer [ThinkpadAssisstant](https://github.com/MSzturc/ThinkpadAssistant) over [YogaSMC](https://github.com/zhen-zen/YogaSMC) and `BrightnessKeys.kext`
- Keyboard path is `\ _SB.PCI0.LPCB.KBD`.  
- For multimedia functions:
- Remap 1: F4 (Network) to F20 (for use with ThinkpadAssistant)
- Remap 2: F5 (Brightness Down)
- Remap 3: F6 (Brightness Up)
- Remap 4: F7 (Dual Display) to F16 (for use with ThinkpadAssistant)
- Remap 5: F8 (Network) to F17 (for use with ThinkpadAssistant)
- Remap 6: F9 (Settings) to F18 (for use with ThinkpadAssistant)
- Remap 7: F10 (Bluetooth) to [Left Shift + F8] ((for use with ThinkpadAssistant))
- Remap 8: F11 (Keyboard) to [Shift+Up]
- Remap 9: F12 (Star) to F19 (for use with ThinkpadAssistant)
- Remap 10: PrtSc to F13
- Remap 11: Fn + K to Deadkey
- Remap 12: Fn + P to Deadkey
- For Fn 1-12 functions, check the following option within `Preferences/Keyboard`:
![Fn keys](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/fnkeys.png)
</details>
> ### SSDT-Sleep - Patch macOS Sleep, S3
- Comprehensive sleep/wake patch.
**Needs `OpenCore Patches/ PTSWAK.plist`**
**Needs `OpenCore Patches/ Sleep.plist`**
Look up `_PTS` and `_WAK` in source DSDT and confirm the following, modify if different:
`_PTS` is `NotSerialized` in my DSDT
`_WAK` is `Serialized` in my DSDT
> ### SSDT-EC - Alow Reads/Write and Provide an Interface with Embedded Controller via YogaSMC
Two parts:
- Allow access to EC
- Sample SSDT from YogaSMC
### SSDT-EXT1-FixShutdown
> ### SSDT-XHC1 - USB 2.0/3.0
**Needs `OpenCore Patches/ XHC1.plist`**
- Map USB 2.0/3.0
- Fix Restart on Shutdown
- PTSWAK extension patch. Fixes reboot after shutdown.
> ### SSDT-XHC2 - USB 3.1
- Patch USB 3.1
### SSDT-EXT4-WakeScreen
> ### SSDT-USBX - USB Power Properties
- PTSWAK extension patch. Solve the problem that some machines need to press any key to light up the screen after waking up. When using, you should inquire whether the `PNP0C0D` device name and path already exist in the patch file, such as`_SB.PCI0.LPCB.LID0`. If not, add it yourself.
> ### SSDT-DMAC
> ### SSDT-DMAC - Patch Memory Controller
Why?: `PNP0200` is missing in DSDT.
@ -144,10 +161,6 @@ Why?: `PNP0C0C` missing in DSDT.
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-GPRW
Why?: Fix instant wake by hooking GPRW (0D/6D Patch)
```
Special thanks to [daliansky](https://github.com/daliansky).
Special thanks to [@benbender](https://github.com/benbender) and [@daliansky](https://github.com/daliansky).
```

View file

@ -1,23 +0,0 @@
> ## Partitioning to dual-boot on one drive:
Please refer to [dortania/ opencore `multiboot`](https://github.com/dortania/OpenCore-Multiboot).
*Note that on the x1c6, it is possible, and better to dual boot off of a second drive in the WWAN slot.
> ## Creating a macOS Installation Media:
> ### If you have a macOS machine:
1. Download macOS installer from the App Store.
2. Erase the installation media as GUID Partition Map, Mac OS Extended "Journaled". Name it "Install macOS (MacOS version)" - Example: "Install macOS Catalina".
3. Use 'createinstallermedia' command to copy installer to install media. [guide](https://support.apple.com/en-us/ht201372)
4. Install CLOVER bootloader onto the installation media. Use its latest daily build from GitHub. [Download](https://github.com/Dids/clover-builder/releases)
**Though we will not be using Clover, I've found that using the Clover installer is the most convinient way to create an EFI paritition on the installation drive.**
5. After Clover has been installed onto the macOS install drive, its EFI parition should be mounted. Proceed to delete the Clover EFI folder and replace with the EFI folder inside my `EFI-install_USB` folder.
6. Boot into the installation media.
7. Format the intended drive as APFS.
8. Complete the installation.
9. Boot into the newly installed Hackintosh partition using the installation media. That is to say, boot into the installtion media for OpenCore to boot into the installed Hackintosh partition.
10. Proceed with post installation configurations.
> ### If you do not have a macOS machine:
Use [gibMacOS](https://github.com/corpnewt/gibMacOS) to create installation media on Windows/Linux. I prefer an offline installation as opposed to the recovery method.
> ## **Refer to [Dortania](https://github.com/dortania) for more detailed documentations.**

View file

@ -1,51 +0,0 @@
> ## Post Installtion:
1. Install OpenCore on the main boot EFI partition to enable boot without the installation media. A good utility to mount your EFI folder is [corpnewt/MountEFI](https://github.com/corpnewt/MountEFI).
2. Please reference my uploaded EFI folder to determine my current bootloader configurations as well as which kexts I am currently using. Note that for CPUFriend, please generate your own DataProvider kexts per different machine specifications and desired configurations. Use [one-key-cpufriend](https://github.com/stevezhengshiqi/one-key-cpufriend).
3. Copy the kexts you will be using to their respective directories, per bootloaders:
- OpenCore: `EFI/OC/Kexts/`
For the kexts you will be using, make sure to create matching entries within `OpenCore.plist`'s `Kernel/Add/` section.
\*Refer to my uploaded EFI folder for my current kext list.
5. Refer to the table below for the other post installtion configurations for each particular issue. Some issues are easy to fix, simply requiring a kext installtion or running a script, while others are my involved and require SSDT patching.
6. For those other, more complicated issues, proceed to `4_README-ACPIpatching.md`
| Feature | Status | Dependency | Remarks |
| :----------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| macOS (10.14.x or 10.15.x) | ✅ | `VirtualSMC.kext`, `Lilu.kext`, Clover or OpenCore Bootloader | OpenCore is preferred. |
| iMessage/ FaceTime | ✅ | Whitelisted Apple ID, Valid SMBIOS | See `docs/5_README-other.md` |
| Siri | ✅ | Apple ID, Working audio recorder | Needs `AppleALC` |
| iTunes Video Playback | ✅ | `WhateverGreen.kext`, Apple ID (_Optional_) | - |
| Sidecar | ✅ | iPad with iPadOS 13 | Tested with iPad Mini with iPadOS 13.1.2 |
| WiFi | ✅ | Native with BCM94360CS2. `AirportBrcmFixup` otherwise. | See `patches/OpenCore Patches/` for specific network card. |
| Bluetooth | ✅ | Native with BCM94360CS2. `BrcmFirmwareRepo.kext`, `BrcmPatchRAM3.kext`, and `BrcmBluetoothInjector.kext` otherwise. | See `patches/OpenCore Patches/` for specific network card. |
| Continuty | ✅ | Native with BCM94360CS2. `BT4LEContiunityFixup.kext` otherwise. Working Blutetooth and WiFi setup | See `patches/OpenCore Patches/` for specific network card. |
| AirDrop | ✅ | Native with BCM94360CS2. `BT4LEContiunityFixup.kext` otherwise. Working Blutetooth and WiFi setup | See `patches/OpenCore Patches/` for specific network card. |
| TrackPoint | ✅ | `VoodooPS2Controller.kext` | - |
| TrackPad | ✅ | `VoodooPS2Controller.kext` or `VoodooRMI.kext` I prefer `VoodooRMI.kext` so that is the repository default. | - |
| Built-in Keyboard | ✅ | `VoodooPS2Controller.kext` and [ThinkpadAssistant](https://github.com/MSzturc/ThinkpadAssistant). Optimizations recommended, see [`docs/5_README-other.md`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/5_README-other.md) | - |
| Battery Percentage Indication | ✅ | `SSDT-OCBAT0-TP_tx80_x1c6th.aml` | Use [MaciASL](https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/) |
| CPU Power Management (SpeedShift) | ✅ | `XCPM` and `CPUFriend.kext`, generate your own CPUFriendDataProvider with [CPUFriendFriend](https://github.com/corpnewt/CPUFriendFriend_) or [one-key-cpufriend](https://github.com/stevezhengshiqi/one-key-cpufriend). |
| IGPU Power Management | ✅ | `XCPM`, enabled by `SSDT-PLUG-_PR.PR00.aml` | - |
| PCIe Ethernet | ✅ | `IntelMausi.kext` | Needs Lenovo Ethernet adapter | |
| Audio Recording | ✅ | `AppleALC.kext` with Layout ID = 21 | - |
| Audio Playback | ✅ | `AppleALC.kext` with Layout ID = 21 | - |
| Automatic Headphone Output Switching | ✅ | [ALCPlugFix](https://github.com/tylernguyen/x1c6-hackintosh/tree/master/patches/ALCPlugFix) | - |
| Full Graphics Accleration (QE/CI) | ✅ | `WhateverGreen.kext` | - |
| Brightness Adjustments | ✅ | `WhateverGreen.kext` and `SSDT-PNLF-SKL_KBL.aml` | - |
| Micro SD Card Reader | ✅ | Custom `USBPorts.kext` See current OpenCore-EFI kext folder. You can create your own with [USBMap](https://github.com/corpnewt/USBMap). | - |
| USB 3.1 | ✅ | Custom `USBPorts.kext` See current OpenCore-EFI kext folder. You can create your own with [USBMap](https://github.com/corpnewt/USBMap). | - |
| DisplayPort on Thunderbolt 3 Dock | ⚠️ | `SSDT-TB3.aml`, `IOElectrify.kext` | [More details](https://github.com/tylernguyen/x1c6-hackintosh/issues/24#issuecomment-603183002) |
| Thunderbolt 3 Dock (Port Replicator) | ✅ | `SSDT-TB3.aml`, `IOElectrify.kext` | - |
| Thunderbolt 3 Hotplug | ⚠️ | `SSDT-TB3.aml`, `IOElectrify.kext` | [More details](https://github.com/tylernguyen/x1c6-hackintosh/issues/24#issuecomment-603183002) |
| ThinkPad TB3 Dock (40AC) Ethernet | ✅ | `AppleRTL815XComposite109.kext`, `AppleRTL815XEthernet109.kext` | [Item page](https://support.lenovo.com/au/en/solutions/acc100356) |
| CalDigit TS3 Plus Dock | ✅ | | [Item page](https://www.apple.com/shop/product/HMX12ZM/A/caldigit-ts3-plus-dock) |
| HiDPI _(Optional)_ | ✅ | [xzhih/one-key-hidpi](https://github.com/xzhih/one-key-hidpi) | Scaling issues post-sleep fixed with AAPL, ig-platform `BAAnWQ==` |
| Battery life | ✅ | Native, comparable to Windows/Linux. See [docs/1_README-HARDWAREandBIOS.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md) |
| NVMe Drive Battery Management | ✅ | `NVMeFix.kext` | |
| FileVault, Time Machine | ✅ | | Note that TimeMachine only backups your Macintosh partition. Please manually backup your EFI partition using another method. (This repo is mine) |
| Hibernation | ❌ | [DISABLED](https://www.tonymacx86.com/threads/guide-native-power-management-for-laptops.175801/) | With the developement of acidanthera/HibernationFixup and OpenCore, hibernation may be fixed in the future. |
| Sierra Wireless EM7455 | ❌ | `Legacy_Sierra_QMI.kext` | No internet |

View file

@ -2,8 +2,7 @@
- macOS minor version upgrade works just as any Mac would.
- It is generally a good idea to hold off on new major macOS releases until kexts and other dependencies have been tested.
- Upon upgrading macOS, even minor releases, it is recommended to clear NVRAM to reduce problems.
- Upon changing SSDT patches and/or changing BIOS settings, it is also recommended to clear NVRAM variables.
- The macOS version of my machine is displayed on a badge in `README.md`
> ## Configuring PlatformInfo for iMessage/iCloud/FaceTime:
@ -14,11 +13,11 @@
- I recommend that you dual boot using another drive in the WAN 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.
- I've found that dual booting with OpenCore on a single can be quite troublesome. Instead, what I recommend is to use rEFInd Boot Manager should you need to dual boot Windows or Linux.
- It is possible to share Bluetooth pairing keys between Windows and macOS when dual booting. See [oc-laptop-guide](https://dortania.github.io/oc-laptop-guide/extras/dual-booting-with-bluetooth-devices.html). Addtonally, the `.reg` for macOS connected devices can be exported using Hackintool's Utilities section. This key can then be imported to Windows.
- 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.
> ## Sleep:
- Make sure that sleep mode is set to `Linux` within BIOS.
- Disable Power Nap for both [`Battery`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/Battery_powernap.png) and [`Power Adapter`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/Poweradt_powernap.png).
- Disable [`Wake for Network Access`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/Poweradt_powernap.png) in `Power Adapter`.
- Uncheck [`Allow Bluetooth devices to wake this computer`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/Bluetooth_wake.png) if you do not need it.
@ -26,40 +25,57 @@
- `sudo pmset -a tcpkeepalive 0` to disable Network while sleeping.
- `sudo pmset -a proximitywake 0` to disable peripheral wake agent.
> ## HiDPI, specfically, HiDPI for the WQHD-HDR 1440p Display:
- Run [xzhih/one-key-hidpi](https://github.com/xzhih/one-key-hidpi)
> ## EDID Override:
- This is necessary to fix HDMI hotplug.
- See current available patches in `patches/Internal Displays/`
- See current available patches in `/patches/Internal Displays/`, merge them with `config.plist`
- If a patch is not yet created for your display model. Please see [Issue #60](https://github.com/tylernguyen/x1c6-hackintosh/issues/60) to create your own EDID override. Please create a pull request to add your EDID override for different displays.
> ## Thunderbolt 3 Hotplug a.k.a The Big Boss:
> ## Thunderbolt 3 Hotplug a.k.a The Big Boss (Work in Progress):
Summary, TB3 hotplug works perfectly, but with some caveats:
- Firstly, refer to [docs/1_README-HARDWAREandBIOS.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md) for BIOS configurations having to do with TB3 hotplug.
- If you want to hotplug TB3 on the power port, you need an unlocked BIOS to force power to `PR05` (`TbtForcePower.efi` only forces power on `PR09` which is the Ethernet TB3 port.)
- `Thunderbolt BIOS Assist` needs to be disabled which rises idle CPU power consumption to 2W as opposed to ~0.8W with the option enabled.
- `Thunderbolt BIOS Assist` needs to be disabled which raises idle CPU power consumption to 2W as opposed to ~0.8W with the option enabled.
- See the ongoing issue/discussion [Issue #24](https://github.com/tylernguyen/x1c6-hackintosh/issues/24)
With those done, there are two scenarios:
- You want to use TB3 hotplug on both macOS and another OS, such as Linux or Windows. In this case, stick with the current TB3 hotplug setup in this repo. As my repo is currently designed around compatibility with other OSes as I need Windows for work.
- You only need TB3 hotplug on macOS. In this case, it is possible to reflash the Thunderbolt controller chip on the machine with a modded firmware designed to allow native Thunderbolt interfacing with macOS. See [docs/1_README-HARDWAREandBIOS.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md).
> ## Multimedia Fn Keys:
With Thunderbolt 3 Hotplug, these are the possible scenarios:
- **Modded Controller and BIOS:**
- No additional kexts or drivers needed. (You can remove TB3 related kexts and drivers from your EFI)
- TB3 Hotplug will work natively in macOS.
- TB3 Hotplug will NOT work in Windows or other OS'es.
- **Modded Controller and Vanilla BIOS:**
- No additional kexts or drivers needed. (You can remove TB3 related kexts and drivers from your EFI)
- TB3 Hotplug will work natively in macOS.
- TB3 Hotplug will NOT work in Windows or other OS'es.
- **Vanilla Controller and Modded BIOS:**
- Use `ThunderboltReset.kext`
- Use modded BIOS to force power on `PR09` and `PR05`
- **Vanilla Controller and BIOS:**
- Use `ThunderboltReset.kext` and `TbtForcePower.efi`
- Hotplug will not work on Power port (`PR05`)
Since macOS doesn't not natively support some multimedia Fn key actions. [ThinkpadAssistant](https://github.com/MSzturc/ThinkpadAssistant) is required for the Fn actions to be implemented. Additionally, my settings are:
- Regardless, current TB3 hotplug implementations are not perfect. Current conflicts include getting USB 3.1 gen2, pm, tb - in osx + win all working at the same time.
For a more detailed, and better explaination, refer to [osy86's Thunderbolt Hotplug Docs](https://github.com/osy86/HaC-Mini/tree/master/details)
- F11 = Switch Keyboard Input Language (Set in System `Preferences/Keyboard`)
- PrtSc = Screen Capture (Set in System `Preferences/Keyboard`)
> ## Keyboard:
- PrtSc (remapped to F13) = I use it for Screen Capture (Set in `System Preferences/Keyboard/Shortcuts`)
- Check `Use F1, F2, etc. keys as standard function keys` in `System Preferences/Keyboard` to gain access to standard F keys:
![fnkeys](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/fnkeys.png)
- Additionally, [Karabiner-Elements](https://karabiner-elements.pqrs.org/) and [BetterTouchTool](https://folivora.ai/) are great productivty tools to remap and/or add functions to your keyboard.
> ## Touchpad:
- By default, this repo is using `VoodoRMI`and `VoodooSMBus` to handle the touchpad. These kexts are still infants and can be buggy. Feel free to change to `VoodooPS2` should you prefer its stability. I, however, prefer the better feel and experience of `VoodooRMI`.
> ## Touchpad Settings in macOS:
- Force Click is enabled by default, which turns any click on the trackpad into a force touch. I suggest you turn this off.
- In addition, I prefer to have tap to click on.
See my touchpad settings:
- In addition, I prefer to have tap to click on:
![touchpad](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/touchpad.png)
> ## Optimizations:

View file

@ -3,6 +3,50 @@
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
> ### 2020-11-3
#### Changed
- OC to 0.6.3 and upgrade various Acidanthera kexts
- Restructured docs: depricated legacy things and combined duplicates.
- `YogaSMC` is now the preferred method to handle Fn keys instead of ThinkpadAssisstant.
- Note that `YogaSMC` is still in its infancy, so you still prefer ThinkpadAssistant, use `SSDT-Keyboard-Legacy.dsl` and `/patches/OpenCore Patches/ Keyboard-Legacy.plist`
- Thank you @zhen-zen for the great kext and app.
- Updated `config.plsit`:
- Removed depricated ACPI renames in accordance with new ACPI patches.
- Added `Arch` value to each kext entry in accordance with new OpenCore doc.
- Added Thunderbolt 3 Device Properties.
- Added `ExtendBTFeatureFlags` value to replace `BT4LEContinuityFixup`
- Reorganized subdirectories within `/patches/` to make things easier to find and understand.
- Renamed `3_README-POSTinstallation.md` to `SUMMARY.md` since it's not really a step but more of an overview of what patches what.
- More readble and better writing of `SSDT-Keyboard`
- New `SSDT-PNLF` to accomodate `AppleBacklightSmoother.kext`
- New battery patch `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*`
- It is no longer necessary to set sleep mode to `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.
- Removed `USBPorts.kext` in favor of patching/mapping via ACPI with `SSDT-XHC1`, `SSDT-XHC2`, and `SSDT-USBX`
- `README.md`:
- Turned different sections into menus for better readability.
- Merged `3_README-POSTinstallation.md` into the `SUMMARY` section.
- Set `HibernateMode` to `NVRAM` instead of `Auto`
#### Added
- `update.sh` script to automatically build and replace all ACPI patches
- `SSDT-HWAC` to patch access to 16byte-EC-field HWAC
- `SSDT-EC` to patch embedded controller for use with `YogaSMC`
- `SSDT-Debug`, `SSDT-HOOKS`, and `Debug.plist` for debugging if needed
- `SSDT-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](https://github.com/zhen-zen/YogaSMC/releases).
- `AppleBacklightSmoother.kext` is just as its name implies.
- `BrightnessKeys.kext` to handle Fn keys with ACPI renames.
- Documentation of modding the Thunderbolt 3 controller.
#### Removed
- `SSDT-HPET`, similar to genuine Macs, HPET is now disabled within `SSDT-INIT`
> ### 2020-10-6
#### Notice

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

View file

@ -0,0 +1,89 @@
## Battery
### _Q22
### _Q4A
/* Battery 0 attach/detach */
Method(_Q4A, 0, NotSerialized)
{
Notify(BAT0, 0x81)
}
### _Q4B
/* Battery 0 state change */
```
Method(_Q4B, 0, NotSerialized)
{
Notify(BAT0, 0x80)
}
```
### _Q4C
/* Battery 1 attach/detach */
```
Method(_Q4C, 0, NotSerialized)
{
Notify(BAT1, 0x81)
}
```
### _Q4D
/* Battery 1 state change */
```
Method(_Q4D, 0, NotSerialized)
{
Notify(BAT1, 0x80)
}
```
### _Q24
Battery 0 critical
```
Notify(BAT0, 0x80)
```
### _Q25
Battery 1 critical
```
Notify(BAT1, 0x80)
```
## Power
| Event | EC Query | |
|-------------------------------|----------|---|
| Lid Open | _Q2A | |
| Lid Close | _Q2B | |
| Sleep Button | _Q13 | |
| AC Status Change: Present | _Q26 | |
| AC Status Change: Not Present | _Q27 | |
## Misc
### _Q1C
### _Q1D
## Sleep?
### _Q62
### _Q65
### _Q3D
### _Q48
### _Q49
### _Q7F
### _Q46
### _Q3B
### _Q4F
### _Q2F

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
# How to Debug

View file

@ -0,0 +1,44 @@
/*
* Depends on /patches/Debug Patches/ Debug.plist
*/
DefinitionBlock ("", "SSDT", 0, "X1C6", "_Debug", 0x00001000)
{
//
// Many OEM ACPI implementations have a ADBG method which is used for debug
// logging. In almost all cases, this function calls MDBG, which is
// supposed to be defined in a ACPI debug SSDT (but is usually missing).
// This should make ADBG functional.
//
// To enable ACPI debug logging in AppleACPIPlatform:
// Add boot args: acpi_layer=0x8 acpi_level=0x2 debug=0x100
// (https://pikeralpha.wordpress.com/2013/12/23/enabling-acpi-debugging/)
//
// To retrieve the ACPI debug output in macOS:
// log show --last boot --predicate 'process == "kernel" AND senderImagePath CONTAINS "AppleACPIPlatform"' --style compact | awk '/ACPI Debug/{getline; getline; print}'
//
Method (XDBG, 1, NotSerialized)
{
Debug = Arg0
}
// to see debug messages
Method (DBG1, 1, NotSerialized)
{
Debug = Arg0
}
Method (DBG2, 2, NotSerialized)
{
Debug = Arg0
Debug = Arg1
}
Method (DBG3, 3, NotSerialized)
{
Debug = Arg0
Debug = Arg1
Debug = Arg2
}
}

View file

@ -0,0 +1,493 @@
/*
* Depends on /patches/Debug Patches/ Debug.plist
*/
DefinitionBlock ("", "SSDT", 2, "tyler", "_HOOKS", 0x00001000)
{
External (_SB.PCI0.LPCB.EC, DeviceObj)
// EC Events
External (_SB.PCI0.LPCB.EC.XQ1C, MethodObj) // ???
External (_SB.PCI0.LPCB.EC.XQ1D, MethodObj) // ???
External (_SB.PCI0.LPCB.EC.XQ1F, MethodObj) // Keyboard Backlight Event
External (_SB.PCI0.LPCB.EC.XQ2A, MethodObj) // LID Open Event
External (_SB.PCI0.LPCB.EC.XQ2B, MethodObj) // LID Close Event
External (_SB.PCI0.LPCB.EC.XQ2C, MethodObj) // ???
External (_SB.PCI0.LPCB.EC.XQ2D, MethodObj) // ???
External (_SB.PCI0.LPCB.EC.XQ2F, MethodObj) // ???
External (_SB.PCI0.LPCB.EC.XQ3B, MethodObj) // Wifi ???
External (_SB.PCI0.LPCB.EC.XQ3D, MethodObj) // Empty
External (_SB.PCI0.LPCB.EC.XQ3F, MethodObj) // ???
External (_SB.PCI0.LPCB.EC.XQ4A, MethodObj) // Battery Attach/Detach Event
External (_SB.PCI0.LPCB.EC.XQ4B, MethodObj) // Battery State Change Event
External (_SB.PCI0.LPCB.EC.XQ4E, MethodObj) // ???
External (_SB.PCI0.LPCB.EC.XQ4F, MethodObj) // ???
External (_SB.PCI0.LPCB.EC.XQ6A, MethodObj) // KBD MicMute Event (F4)
External (_SB.PCI0.LPCB.EC.XQ7F, MethodObj) // "Fatal()" ?
External (_SB.PCI0.LPCB.EC.XQ13, MethodObj) // KBD Sleepbutton Event (FN+4)
External (_SB.PCI0.LPCB.EC.XQ14, MethodObj) // KBD Brightness up Event (F6)
External (_SB.PCI0.LPCB.EC.XQ15, MethodObj) // KBD Brightness down Event (F5)
External (_SB.PCI0.LPCB.EC.XQ16, MethodObj) // Next display Event (F7)
External (_SB.PCI0.LPCB.EC.XQ19, MethodObj) // ???
External (_SB.PCI0.LPCB.EC.XQ22, MethodObj) // Battery at critical low state Event
External (_SB.PCI0.LPCB.EC.XQ24, MethodObj) // Battery
External (_SB.PCI0.LPCB.EC.XQ26, MethodObj) // AC Power Connected
External (_SB.PCI0.LPCB.EC.XQ27, MethodObj) // AC Power Removed
External (_SB.PCI0.LPCB.EC.XQ38, MethodObj) // ???
External (_SB.PCI0.LPCB.EC.XQ40, MethodObj) // Thermal/DYTC ???
External (_SB.PCI0.LPCB.EC.XQ41, MethodObj) // Global Wireless Disable/Enable Event ?
External (_SB.PCI0.LPCB.EC.XQ43, MethodObj) // KBD Audio Mute Event (F1)
External (_SB.PCI0.LPCB.EC.XQ45, MethodObj) // ???
External (_SB.PCI0.LPCB.EC.XQ46, MethodObj) // ???
External (_SB.PCI0.LPCB.EC.XQ48, MethodObj) // ???
External (_SB.PCI0.LPCB.EC.XQ49, MethodObj) // ???
External (_SB.PCI0.LPCB.EC.XQ60, MethodObj) // KBD Bluetooth Event (F10)
External (_SB.PCI0.LPCB.EC.XQ61, MethodObj) // KBD Keyboard Event (F11)
External (_SB.PCI0.LPCB.EC.XQ62, MethodObj) // KBD Star Event (F12)
External (_SB.PCI0.LPCB.EC.XQ63, MethodObj) // ???
External (_SB.PCI0.LPCB.EC.XQ64, MethodObj) // KBD Wifi Event (F8)
External (_SB.PCI0.LPCB.EC.XQ65, MethodObj) // ???
External (_SB.PCI0.LPCB.EC.XQ66, MethodObj) // KBD Settings Event (F9)
External (_SB.PCI0.LPCB.EC.XQ70, MethodObj) // Fan ???
External (_SB.PCI0.LPCB.EC.XQ72, MethodObj) // Fan ???
External (_SB.PCI0.LPCB.EC.XQ73, MethodObj) // Fan ???
External (_SB.PCI0.LPCB.EC.XQ74, MethodObj) // KBD FNLock Event
// GPE Events (General Purpose)
External (_GPE.XL17, MethodObj) // ???
External (_GPE.XL27, MethodObj) // ???
External (_GPE.XL61, MethodObj) // ???
External (_GPE.XL62, MethodObj) // ???
External (_GPE.XL66, MethodObj) // ???
External (_GPE.XL69, MethodObj) // ???
// External (_GPE.XL6D, MethodObj) // ???
External (_GPE.XL6F, MethodObj) // Thunderbolt HotPlug
Scope (\_SB.PCI0.LPCB.EC)
{
// MHKK
Method (_Q1C, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q1C (???)"
XQ1C()
}
// ???
Method (_Q1D, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q1D (???)"
XQ1D()
}
// Keyboard Backlight Event
Method (_Q1F, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q1F (Keyboard Backlight Event)"
XQ1F()
}
// LID Open Event
Method (_Q2A, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q2A (LID Open Event)"
XQ2A()
}
// LID Close Event
Method (_Q2B, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q2B (LID Close Event)"
XQ2B()
}
// ???
Method (_Q2C, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q2C (???)"
XQ2C()
}
// ???
Method (_Q2D, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q2D (???)"
XQ2D()
}
// ???
Method (_Q2F, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q2F (???)"
XQ2F()
}
// Wifi ???
Method (_Q3B, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q3B (Wifi ???)"
XQ3B()
}
// Empty???
Method (_Q3D, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q3D (Empty???)"
XQ3D()
}
// ???
Method (_Q3F, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q3F (???)"
XQ3F()
}
// Battery Attach/Detach Event
Method (_Q4A, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q4A (Battery Attach/Detach Event)"
XQ4A()
}
// Battery State Change Event
Method (_Q4B, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q4B (Battery State Change Event)"
XQ4B()
}
// ???
Method (_Q4E, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q4E (???)"
XQ4E()
}
// ???
Method (_Q4F, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q4F (???)"
XQ4F()
}
// KBD MicMute Event (F4)
Method (_Q6A, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q6A (KBD MicMute Event - F4)"
XQ6A()
}
// "Fatal()" ?
Method (_Q7F, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q7F (FATAL())"
XQ7F()
}
// KBD Sleepbutton Event (FN+4)
Method (_Q13, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q13 (KBD Sleepbutton Event - FN+4)"
XQ13()
}
// KBD Brightness up Event (F4)
Method (_Q14, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q14 (KBD Brightness up Event - F4)"
XQ14()
}
// KBD Brightness down Event (F5)
Method (_Q15, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q15 (KBD Brightness down Event - F5)"
XQ15()
}
// KBD Next display Event
Method (_Q16, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q16 (Next display Event)"
XQ16()
}
// ???
Method (_Q19, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q19 (???)"
XQ19()
}
// Battery at critical low state Event
Method (_Q22, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q22 (Battery at critical low state Event)"
XQ22()
}
// Battery
Method (_Q24, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q24 (Battery)"
XQ24()
}
// AC Power Connected Event
Method (_Q26, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q26 (AC Power Connected Event)"
XQ26()
}
// AC Power Removed Event
Method (_Q27, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q27 (AC Power Removed Event)"
XQ27()
}
// ???
Method (_Q38, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q38 (???)"
XQ38()
}
// Thermal/DYTC ???
Method (_Q40, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q40 (Thermal/DYTC???)"
XQ40()
}
// ???
Method (_Q41, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q41 (???)"
XQ41()
}
// KBD Audio Mute Event (F1)
Method (_Q43, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q43 (KBD Audio Mute Event - F1)"
XQ43()
}
// ???
Method (_Q45, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q45 (???)"
XQ45()
}
// ???
Method (_Q46, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q46 (???)"
XQ46()
}
// ???
Method (_Q48, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q48 (???)"
XQ48()
}
// ???
Method (_Q49, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q49 (???)"
XQ49()
}
// ???
Method (_Q60, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q60 (???)"
XQ60()
}
// ???
Method (_Q61, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q61 (???)"
XQ61()
}
// ???
Method (_Q62, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q62 (???)"
XQ62()
}
// ???
Method (_Q63, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q63 (???)"
XQ63()
}
// ???
Method (_Q64, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q64 (???)"
XQ64()
}
// ???
Method (_Q65, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q65 (???)"
XQ65()
}
// ???
Method (_Q66, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q66 (???)"
XQ66()
}
// Fan???
Method (_Q70, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q70 (Fan???)"
XQ70()
}
// Fan ???
Method (_Q72, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q72 (Fan???)"
XQ72()
}
// Fan ???
Method (_Q73, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q73 (Fan???)"
XQ73()
}
// Keyboard FNLock Event
Method (_Q74, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF
{
Debug = "HOOKS: EC:_Q74 (Keyboard FNLock Event)"
XQ73()
}
}
Scope (_GPE)
{
Method (_L17, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
{
Debug = "HOOKS: _L17() start"
XL17()
}
Method (_L27, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
{
Debug = "HOOKS: _L27() start"
XL27()
}
Method (_L61, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
Debug = "HOOKS: _L61()"
XL61()
}
Method (_L62, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
Debug = "HOOKS: _L62()"
XL62()
}
Method (_L66, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
Debug = "HOOKS: _L66() start (iGPU)"
XL66()
}
// PCI Wake
Method (_L69, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
Debug = "HOOKS: _L69() start (PCI)"
XL69()
}
// Device Wake - already hooked
// Method (_L6D, 0, NotSerialized) // _Lxx: Level-Triggered GPE
// {
// Debug = "HOOKS: _L6D() (Device wake"
// XL6D()
// }
// TB HotPlug
Method (_L6F, 0, NotSerialized) // _Lxx: Level-Triggered GPE
{
Debug = "HOOKS: _L6F() (TB HotPlug)"
XL6F()
}
}
}

View file

@ -0,0 +1,21 @@
## README
- By default, the repo setup is display-agnostic. **At the minimum, an EDID override is required for functioning HDMI hotplug.**
- If the EDID profile for your display is not included in here, please refer to [Issue #60](https://github.com/tylernguyen/x1c6-hackintosh/issues/60)
- Refer to [/docs/references/x1c6-Platform_Specifications](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/references/x1c6-Platform_Specifications.pdf) for possible stock ThinkPad X1 6th Gen configurations.
### WQHD-HDR-B140QAN02_0.icm
Calibrated color profile for the WQHD-HDR display.
### WQHD-HDR-EDID.plist
EDID override for the WQHD-HDR display, with additional overlocked refresh rates:
- 64Hz is stable.
- 65Hz causes minor artifacts.
- 66Hz makes display go crazy.
- You may be more/less lucky with your own panel.
### FHD-Non-touch_EDID.plist
EDID override for the Non-touch 1080p display.
### FHD_Touchscreen.plist
Patches for the 1080p touchscreen display.

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>DeviceProperties</key>
<dict>
<key>Add</key>
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL00,override-no-connect</key>
<data>AP///////wAwrq5AAAAAAAAbAQSQHxF44vvVplM0tiUOUFQAAAABAQEBAQEBAQEBAQEBAQEB5l8AoKCgQFAwIDUAgGghAAAYj2YAoKCgLVAwIDUAgGghAAAY22cAoKCgKVAwIDUAgGghAAAYMGUAoKCgMFAwIDUAgGghAAAYADc=</data>
</dict>
</dict>
</dict>
</dict>
</plist>

View file

@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>DeviceProperties</key>
<dict>
<key>Add</key>
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL00,override-no-connect</key>
<data>
AP///////wAwrq5AAAAAAAAbAQSQHxF44vvVplM0tiUO
UFQAAAABAQEBAQEBAQEBAQEBAQEB5l8AoKCgQFAwIDUA
gGghAAAYj2YAoKCgLVAwIDUAgGghAAAY22cAoKCgKVAw
IDUAgGghAAAYMGUAoKCgMFAwIDUAgGghAAAYADc=
</data>
<key>DELETE ME</key>
<string>64Hz is stable.</string>
<key>DELETE ME 2</key>
<string>65Hz causes minor artifacts.</string>
<key>DELETE ME 3</key>
<string>66Hz makes display goes crazy.</string>
<key>DELETE ME 4</key>
<string>You be more/less lucky with your specific display.</string>
</dict>
</dict>
</dict>
</dict>
</plist>

View file

@ -93,6 +93,22 @@
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>BundlePath</key>
<string>AirPortBrcmNIC_Injector.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/AirportBrcmFixup/Contents/PlugIns/AirPortBrcmNIC_Injector.kext</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
</array>
</dict>
</dict>

View file

@ -1,131 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ACPI</key>
<dict>
<key>Add</key>
<array>
<dict>
<key>Comment</key>
<string>HPET _CRS (Needs _CRS to XCRS Rename)</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>SSDT-HPET.aml</string>
</dict>
</array>
<key>Patch</key>
<array>
<dict>
<key>Comment</key>
<string>HPET _CRS to XCRS Rename</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
X0NSUwig
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
AAAAAA==
</data>
<key>Replace</key>
<data>
WENSUwig
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
AAAAAA==
</data>
</dict>
<dict>
<key>Comment</key>
<string>RTC IRQ 8 Patch</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
IgABeQA=
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
AAAAAA==
</data>
<key>Replace</key>
<data>
IgAAeQA=
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
AAAAAA==
</data>
</dict>
<dict>
<key>Comment</key>
<string>TIMR IRQ 0 Patch</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
IgEAeQA=
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
AAAAAA==
</data>
<key>Replace</key>
<data>
IgAAeQA=
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
AAAAAA==
</data>
</dict>
</array>
</dict>
</dict>
</plist>

View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ACPI</key>
<dict>
<key>Patch</key>
<array>
<dict>
<key>Comment</key>
<string>Battery: Change HWAC to XWAC EC reads</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>
RUNfX0hXQUM=
</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data>
</data>
<key>OemTableId</key>
<data>
</data>
<key>Replace</key>
<data>
RUNfX1hXQUM=
</data>
<key>ReplaceMask</key>
<data>
</data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>
RFNEVA==
</data>
</dict>
</array>
</dict>
</dict>
</plist>

Some files were not shown because too many files have changed in this diff Show more