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

Refactor docs

This commit is contained in:
Tyler Nguyen 2021-07-17 17:01:50 -05:00
parent aa4283cc7a
commit f34c58380c
No known key found for this signature in database
GPG key ID: DB5B102B914991DA
13 changed files with 287 additions and 235 deletions

View file

@ -1,17 +0,0 @@
name: ci
on:
push:
branches:
- main
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.x
- run: pip install mkdocs-material
- run: mkdocs gh-deploy --force

20
.github/workflows/docs.yml vendored Normal file
View file

@ -0,0 +1,20 @@
name: Build Docs
on:
push:
branches:
- main
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout main
uses: actions/checkout@v2
- name: Deploy docs
uses: mhausenblas/mkdocs-deploy-gh-pages@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CONFIG_FILE: folder/mkdocs.yml
EXTRA_PACKAGES: build-base

37
LICENSE
View file

@ -1,21 +1,24 @@
MIT License This is free and unencumbered software released into the public domain.
Copyright (c) 2018 Tyler Nguyen Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
Permission is hereby granted, free of charge, to any person obtaining a copy In jurisdictions that recognize copyright laws, the author or authors
of this software and associated documentation files (the "Software"), to deal of this software dedicate any and all copyright interest in the
in the Software without restriction, including without limitation the rights software to the public domain. We make this dedication for the benefit
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell of the public at large and to the detriment of our heirs and
copies of the Software, and to permit persons to whom the Software is successors. We intend this dedication to be an overt act of
furnished to do so, subject to the following conditions: relinquishment in perpetuity of all present and future rights to this
software under copyright law.
The above copyright notice and this permission notice shall be included in all THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
copies or substantial portions of the Software. EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR For more information, please refer to <https://unlicense.org>
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

153
README.md
View file

@ -1,4 +1,4 @@
# macOS on Thinkpad X1 Carbon 6th Generation, Model 20KH\* # Hackintosh the Thinkpad X1 Carbon 6th Generation
<p align="center"> <p align="center">
<img src="https://raw.githubusercontent.com/tylernguyen/x1c6-hackintosh/master/docs/assets/img/x1c6.png" alt="Thinkpad X1 Carbon 6th Gen" width="400"> <img src="https://raw.githubusercontent.com/tylernguyen/x1c6-hackintosh/master/docs/assets/img/x1c6.png" alt="Thinkpad X1 Carbon 6th Gen" width="400">
@ -30,11 +30,7 @@
<img src="https://img.shields.io/badge/Contributions-Welcome-orange.svg"> </a> <img src="https://img.shields.io/badge/Contributions-Welcome-orange.svg"> </a>
</p> </p>
<p> **July 16th, 2021,**
<h2 align="center"> READ THE ENTIRE README.MD BEFORE YOU START. </h2>
</p>
July 16th, 2021,
I consider the state of this project to be **very stable**. Everything works the way it should, or at least the things I notice. There will likely never be major changes coming unless a new macOS version break something severely (which I doubt). I will continue to maintain this project with every OpenCore releases, up until it's (MacBookPro14,1) official out of service/support from Apple. I consider the state of this project to be **very stable**. Everything works the way it should, or at least the things I notice. There will likely never be major changes coming unless a new macOS version break something severely (which I doubt). I will continue to maintain this project with every OpenCore releases, up until it's (MacBookPro14,1) official out of service/support from Apple.
#### I am not responsible for any damages you may cause. #### I am not responsible for any damages you may cause.
@ -58,143 +54,7 @@ I consider the state of this project to be **very stable**. Everything works the
- Implement AX200 as the network card with the OpenIntelWireless kexts. - Implement AX200 as the network card with the OpenIntelWireless kexts.
<details> # Other Respositories
<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
| Fan Control | ✅ | `SSDT-EC.aml`, [YogaSMC.kext](https://github.com/zhen-zen/YogaSMC), and [YogaSMCPane](https://github.com/zhen-zen/YogaSMC)| Adjust with YogaSMC App.
| 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. |
| Bluetooth | ✅ | Native with BCM94360CS2. | See `/patches/ Network Patches/` otherwise. |
| 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-TB-DSB2-XHC2.aml` | Hotplug WIP |
| USB Power Properties in macOS | ✅ | `SSDT-XHC1.aml` | - |
| Thunderbolt 3 Hotplug | ✅ | `SSDT-TB-*` | Native interface within System Report |
> ### 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` | `VoodooRMI.kext` is recommended and preferred over `VoodooPS2`. |
| 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) | `YogaSMC` is recommended and preferred over ThinkpadAssisstant |
> ### 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.
- In short, if I missed something here, refer to official OpenCore docs first, then Dortania's docs. Only then, if you still haven't found what you're looking for, seek Google or forum help.
- Additionally, references specific to the x1c6 are located in `docs/references/`
* ### No seriously, please review those resources to get an idea of what's going on before proceeding.
</details>
<details>
<summary><strong> REQUIREMENTS </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 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> 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.
| 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
- 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-Patches**](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/2_README-Patches.md): Notes and explainations for ACPI hotpatches.
- [**3_README-other.md**](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/3_README-other.md): for post installation settings and other remarks.
</details>
<details>
<summary><strong> OTHER REPOSITORIES </strong></summary>
<br>
- x1c6-hackintosh repositories: - x1c6-hackintosh repositories:
- [benbender/x1c6-hackintosh](https://github.com/benbender/x1c6-hackintosh) - [benbender/x1c6-hackintosh](https://github.com/benbender/x1c6-hackintosh)
@ -202,11 +62,8 @@ Before you do anything, please familiarize yourself with basic Hackintosh termin
- t480-hackintosh repositories: - t480-hackintosh repositories:
- [EETagent/T480-OpenCore-Hackintosh](https://github.com/EETagent/T480-OpenCore-Hackintosh) - [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. Create a pull request if you like to be added, final decision at my discreation.
</details>
<details> # Credits
<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! - [@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. - [@Fewtarius](https://github.com/fewtarius) for your help with patching audio.
@ -226,5 +83,3 @@ The greatest thank you and appreciation to the [Acidanthera](https://github.com/
And to everyone else who supports and uses my project. And to everyone else who supports and uses my project.
Please let me know if I missed you. Please let me know if I missed you.
</details>

View file

@ -1,21 +1,4 @@
# Hardware and BIOS: # BIOS
> ## PM981:
For installation on the factory drive `PM981`, please refer to [Issue #43](https://github.com/tylernguyen/x1c6-hackintosh/issues/43). A note however, installation and upgrading on the `PM981` can be problematic and troublesome. For a smoother experience, replace it with an aftermarket NVMe. For that, refer to [dortania/Anti-Hackintosh-Buyers-Guide](https://dortania.github.io/Anti-Hackintosh-Buyers-Guide/Storage.html).
> ## WiFi and Bluetooth:
Replace factory Intel WiFi module with a macOS compatible one. Make sure that the card is of M.2 form factor. I replaced it with the BCM94360CS2 card. This works out of the box without additional kexts and has been stable for me thus far.
**If your laptop did not come with WWAN, you can purchase additional antennas to add to your laptop. This is useful when using WiFi/Bluetooth cards that have 3 antennas.**
- The BCM94360CS2 module comes from the 2013 MacBook Air, supports BT 4.0 and 802.11a/g/n/ac. They run on eBay for <\$15.
- For the BCM94360CS2 to work with the x1c6, you would also need a M.2 NGFF adapter. They run for <\$10 on eBay under "BCM94360CS2 m2 adapter"
- Above is my current setup.
However, there exists other alternatives with better WiFi and Bluetooth standards, but additional kexts are required. See [`dortania/Wireless-Buyers-Guide`](https://dortania.github.io/Wireless-Buyers-Guide/).
> ## BIOS Settings:
At the minimum, these BIOS settings must be made to install and run macOS without any problems: At the minimum, these BIOS settings must be made to install and run macOS without any problems:
@ -59,8 +42,11 @@ At the minimum, these BIOS settings must be made to install and run macOS withou
| | | | Support in Pre Boot Environment: Thunderbolt(TM) Device `Disabled` | | | | | Support in Pre Boot Environment: Thunderbolt(TM) Device `Disabled` |
> ## Modding the BIOS: ## Modding the BIOS
### As of of July 16th, 2021: the BIOS mod will break TPM. Hence, Windows 11 will not work. Consider this if you choose to proceed.
!!! danger
As of of July 16th, 2021: the BIOS mod will break TPM. Hence, Windows 11 will not work. Consider this if you wish to proceed.
#### 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`. #### 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"> <img align="left" src="./Other/README_Resources/SPI_Programmer_CH341a.jpg" alt="SPI_Programmer_CH341a.jpg" width="220">
@ -84,7 +70,7 @@ Here are the steps to mod your BIOS (credits to paranoidbashthot and \x):
### 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. ### 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.
> ## Modded BIOS Settings: ## Modded BIOS Settings
The following are further optimization settings that can be figured once your BIOS is modded. The following are further optimization settings that can be figured once your BIOS is modded.
> * These settings are universally recommended optimizations for your hackintosh: > * These settings are universally recommended optimizations for your hackintosh:

22
docs/Getting-Started.md Normal file
View file

@ -0,0 +1,22 @@
# Getting Started
# Creating the macOS Installer
Please refer to [Dortania's Creating the USB](https://dortania.github.io/OpenCore-Install-Guide/installer-guide/).
!!! tip
Often as above, the project will defer universal steps to Dortania links. Hence, this repository is meant to be used in conjunction with their guides.
# Using the Respository
1. With the macOS installer has been created, you can use the `EFI` inside `EFI-install_USB` to install macOS onto your drive.
2. Once macOS has been installed, boot the installed macOS paritition with the existing installer USB and complete new user setup.
3. Use the `EFI` inside `EFI-OpenCore` for the macOS drive's EFI partition.
!!! success
At this point, your machine should boot into macOS without anything attached.
4. There are a few other things to review and add on before your Hackintosh can be complete. Please proceed to Post Installation.
!!! tip
Actively refer to Summary to get an idea of each functioning parts.

45
docs/Hardware.md Normal file
View file

@ -0,0 +1,45 @@
# Hardware
## Storage
!!! Warning
The factory PM981 NVMe drive does not play well with macOS.
For installation on the factory drive `PM981`, please refer to [Issue #43](https://github.com/tylernguyen/x1c6-hackintosh/issues/43). I do, however, recommend against this.
!!! Note
Replace the PM981 with an aftermarket NVMe for a much smoother experience.
Consult the [dortania/Anti-Hackintosh-Buyers-Guide](https://dortania.github.io/Anti-Hackintosh-Buyers-Guide/Storage.html) for up-to-date storage recommendations.
!!! Tip
You can install an additional M.2 2242 NVMe drive in the WWAN card slot.
This is very useful if you intend to also use Windows/Linux, as partitioning a single drive for dual booting can be troublesome.
## WiFi and Bluetooth
Replace factory Intel WiFi module with a macOS compatible one. Make sure that the card is of M.2 form factor. I replaced it with the BCM94360CS2 card. This works out of the box without additional kexts and has been stable for me thus far.
**If your laptop did not come with WWAN, you can purchase additional antennas to add to your laptop. This is useful when using WiFi/Bluetooth cards that have 3 antennas.**
- The BCM94360CS2 module comes from the 2013 MacBook Air, supports BT 4.0 and 802.11a/g/n/ac. They run on eBay for <\$15.
- For the BCM94360CS2 to work with the x1c6, you would also need a M.2 NGFF adapter. They run for <\$10 on eBay under "BCM94360CS2 m2 adapter"
- Above is my current setup.
However, there exists other alternatives with better WiFi and Bluetooth standards, but additional kexts are required. See [`dortania/Wireless-Buyers-Guide`](https://dortania.github.io/Wireless-Buyers-Guide/).
## Differing Models
- 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.
| 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
- 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.

View file

@ -0,0 +1,51 @@
# FAQ
#### "Does everything work?"
Not everything, some features will inherently never work under macOS. The most needed, day-to-day features, however, work as they do in a real Mac.
#### "Is this project maintained?"
Yes, until eventually my x1c6 dies or macOS phases out update (even then, it'll likely last a few more years).
#### "Can this brick my laptop?"
Not very likely, expect drive wipes and lost time, however.
#### "Can you port this for X machine?"
No.
#### "How do I keep my Hackitnosh setup updated?"
Currently, there is no automatic solution available. For now, I recommend you create a GitHub watch alert.
# References
!!! warning
Please read, or at the least, browse through these great resources to get an idea of what's going on before proceeding. This is especially important if this is your first time (OpenCore) Hackintosh-ing.
- [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://dortania.github.io/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.
!!! tip
If I missed something here, refer to the official OpenCore docs first, then Dortania's docs. Only then, if you still haven't found what you're looking for, seek Google or forum help.
- Additionally, references specific to the x1c6 are located in `docs/references/`
# Requirements
## Strict requirements
- Flash drive, 12GB or more.
- Patience and time, especially if this is your first time Hackintosh-ing.
## Optional
- A macOS machine to create an offline macOS installer.
- [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.
- 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.

14
docs/Issues.md Normal file
View file

@ -0,0 +1,14 @@
# Issues
## Troubleshooting
Defer to [Dortania's General Troubleshooting](https://dortania.github.io/OpenCore-Install-Guide/troubleshooting/troubleshooting.html).
!!! bug
You may find the patches under `/patches/Debug Patches/` useful in getting logs.
## FAQ
#### "My X isn't working!"
- Was it supposed to work? Check Summary
- Have you applied the needed patch? Check Summary, `/patches/Network Patches` and `/patches/Display Patches`.
- Is it an acknowledged, won't be fixed issue? Check [Issues/ beyond my scope](https://github.com/tylernguyen/x1c6-hackintosh/issues?q=is%3Aissue+is%3Aclosed+label%3A%22beyond+my+scope+%28for+now%29%22).

View file

@ -1,4 +1,4 @@
> ## ACPI Patching: ## ACPI Patching:
1. Download and install [MaciASL](https://github.com/acidanthera/MaciASL/releases) if you do not have it already. 1. Download and install [MaciASL](https://github.com/acidanthera/MaciASL/releases) if you do not have it already.
2. Dump your original ACPI tables. There are a number of ways to do this, using Clover, Hackintool, Linux. See [here](https://khronokernel.github.io/Getting-Started-With-ACPI/Manual/dump.html). 2. Dump your original ACPI tables. There are a number of ways to do this, using Clover, Hackintool, Linux. See [here](https://khronokernel.github.io/Getting-Started-With-ACPI/Manual/dump.html).
@ -24,7 +24,7 @@ Should your source DSDT be similar enough (in regards to certain items in these
## Some patches here may be unused. Refer to the current OpenCore-EFI folder to see which one I am currently using. While other patches may be needed case-by-case, such as the WiFi/Bluetooth patches. ## Some patches here may be unused. Refer to the current OpenCore-EFI folder to see which one I am currently using. While other patches may be needed case-by-case, such as the WiFi/Bluetooth patches.
> ## Important Note: ## Important Note:
Unlike Clover, where SSDT patches are only being applied when booting macOS. OpenCore will apply SSDT patches regardless of the operating system. This is critical when multi-booting, since Windows and Linux do not need the additional patches that macOS does. In many cases, if Windows/Linux fails to boot under OpenCore, it is likely that your macOS intended SSDT patch(s) is being applied universally. To prevent OpenCore from doing this, it is important that your SSDT patches specify its intended OS, which in our case is "Darwin." Unlike Clover, where SSDT patches are only being applied when booting macOS. OpenCore will apply SSDT patches regardless of the operating system. This is critical when multi-booting, since Windows and Linux do not need the additional patches that macOS does. In many cases, if Windows/Linux fails to boot under OpenCore, it is likely that your macOS intended SSDT patch(s) is being applied universally. To prevent OpenCore from doing this, it is important that your SSDT patches specify its intended OS, which in our case is "Darwin."
See highlighted example: See highlighted example:
@ -33,7 +33,7 @@ See highlighted example:
## Some Thinkpad machines are `LPC` and some are`LPCB`. Please examine your own DSDT and modify patches as needed. ## Some Thinkpad machines are `LPC` and some are`LPCB`. Please examine your own DSDT and modify patches as needed.
> ### Non-native WiFi and Bluetooth ### Non-native WiFi and Bluetooth
`/patches/Network Patches/ DW1560.plist` for DW1560 model cards. `/patches/Network Patches/ DW1560.plist` for DW1560 model cards.
`/patches/Network Patches/ DW1820A.plist` for WD1820A model cards. `/patches/Network Patches/ DW1820A.plist` for WD1820A model cards.
@ -41,18 +41,18 @@ See highlighted example:
\*Notice that these patches require additional kexts to be installed. See them in `Kernel/Add/` \*Notice that these patches require additional kexts to be installed. See them in `Kernel/Add/`
> ### SSDT-Darwin - Detects macOS to enable other patches ### SSDT-Darwin - Detects macOS to enable other patches
> ### SSDT-AC - Patch to load AppleACPIACAdapter ### SSDT-AC - Patch to load AppleACPIACAdapter
> ### SSDT-Battery - Enables Battery Status in macOS ### SSDT-Battery - Enables Battery Status in macOS
- Single battery system: only `BAT0` in ACPI, no `BAT1`. - Single battery system: only `BAT0` in ACPI, no `BAT1`.
> ### SSDT-HWAC - Fix axxess to 16byte-EC-field HWAC ### SSDT-HWAC - Fix axxess to 16byte-EC-field HWAC
- Thanks @benbender - Thanks @benbender
> ### SSDT-PM - Enables Native Intel Power Managements ### SSDT-PM - Enables Native Intel Power Managements
Why?: `Processor` search in DSDT, rename `PR` to other variables as needed. Why?: `Processor` search in DSDT, rename `PR` to other variables as needed.
@ -78,13 +78,13 @@ Why?: `Processor` search in DSDT, rename `PR` to other variables as needed.
} }
``` ```
> ### SSDT-PNLF - Enables Brightness Management in macOS and Smooth Adjustments with AppleBacklightSmoother.kext ### SSDT-PNLF - Enables Brightness Management in macOS and Smooth Adjustments with AppleBacklightSmoother.kext
iGPU is `PCI0.GFX0` iGPU is `PCI0.GFX0`
Why?: `Skylake/ KabyLake/ KabyLake-R` CPU. Why?: `Skylake/ KabyLake/ KabyLake-R` CPU.
Used in conjunction with `WhateverGreen.kext` and `AppleBacklightSmoother.kext` (Optional) Used in conjunction with `WhateverGreen.kext` and `AppleBacklightSmoother.kext` (Optional)
> ### SSDT-INIT - Initialize System Variables ### SSDT-INIT - Initialize System Variables
Disables: Disables:
- HPET - HPET
@ -92,7 +92,7 @@ Disables:
Enables: Enables:
- DYTC - DYTC
> ### SSDT-Keyboard - Remap PS2 Keys, EC Keys are handled by `BrightnessKeys.kext` ### SSDT-Keyboard - Remap PS2 Keys, EC Keys are handled by `BrightnessKeys.kext`
- Remap 1: PrtSc to F13 - Remap 1: PrtSc to F13
- Remap 2: Fn + K to Deadkey - Remap 2: Fn + K to Deadkey
@ -100,41 +100,41 @@ Enables:
For Fn 1-12 functions, check the following option within `Preferences/Keyboard`: 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) ![Fn keys](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/fnkeys.png)
> ### SSDT-Sleep - Patch macOS Sleep, S3 ### SSDT-Sleep - Patch macOS Sleep, S3
- Comprehensive sleep/wake patch. - Comprehensive sleep/wake patch.
- Fixes restart on shutdown. - Fixes restart on shutdown.
**Needs `OpenCore Patches/ Sleep.plist`** **Needs `OpenCore Patches/ Sleep.plist`**
> ### SSDT-EC - Alow Reads/Write and Provide an Interface with Embedded Controller via YogaSMC ### SSDT-EC - Alow Reads/Write and Provide an Interface with Embedded Controller via YogaSMC
Two parts: Two parts:
- Allow access to EC - Allow access to EC
- Sample SSDT from YogaSMC - Sample SSDT from YogaSMC
> ### SSDT-XHC1 - USB 2.0/3.0 ### SSDT-XHC1 - USB 2.0/3.0
**Needs `OpenCore Patches/ XHC1.plist`** **Needs `OpenCore Patches/ XHC1.plist`**
- Map USB 2.0/3.0 - Map USB 2.0/3.0
- Patch USB Power Properties - Patch USB Power Properties
> ### SSDT-TB-DSB0 to SSDT-TB-DSB6 ### SSDT-TB-DSB0 to SSDT-TB-DSB6
- Patch USB 3.1 - Patch USB 3.1
- Patch Thunderbolt 3 Hotplug - Patch Thunderbolt 3 Hotplug
- Patch Thunderbolt 3 Power Management - Patch Thunderbolt 3 Power Management
- Patch Thunderbolt 3 native interfacing with macOS's System Report - Patch Thunderbolt 3 native interfacing with macOS's System Report
> ### SSDT-DMAC - Patch Memory Controller ### SSDT-DMAC - Patch Memory Controller
Why?: `PNP0200` is missing in DSDT. Why?: `PNP0200` is missing in DSDT.
> ### SSDT-PMCR ### SSDT-PMCR
Why?: `PMCR`,`APP9876` missing in DSDT. Why?: `PMCR`,`APP9876` missing in DSDT.
> ### SSDT-PWRB ### SSDT-PWRB
Why?: `PNP0C0C` missing in DSDT. Why?: `PNP0C0C` missing in DSDT.
- Patch power button. - Patch power button.
> ### SSDT-ALS0 ### SSDT-ALS0
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. 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. Why?: `ACPI0008` missing in DSDT.

View file

@ -1,22 +1,22 @@
> ## Upgrading and other Major Changes: ## Upgrading and other Major Changes:
- macOS minor version upgrade works just as any Mac would. - 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. - It is generally a good idea to hold off on new major macOS releases until kexts and other dependencies have been tested.
- The macOS version of my machine is displayed on a badge in `README.md` - The macOS version of my machine is displayed on a badge in `README.md`
> ## Configuring PlatformInfo for iMessage/iCloud/FaceTime: ## Configuring PlatformInfo for iMessage/iCloud/FaceTime:
- Refer to [dortania /OpenCore-Install-Guide](https://dortania.github.io/OpenCore-Post-Install/universal/iservices.html) - Refer to [dortania /OpenCore-Install-Guide](https://dortania.github.io/OpenCore-Post-Install/universal/iservices.html)
- NOTE: `Were sorry, but this serial number isnt valid` is fine and has personally worked and working for me and many others. `Purchase Date not Validated` can be a problem down the line if a legitimate machine with that PlatformInfo is activated. - NOTE: `Were sorry, but this serial number isnt valid` is fine and has personally worked and working for me and many others. `Purchase Date not Validated` can be a problem down the line if a legitimate machine with that PlatformInfo is activated.
> ## Dual Booting: ## Dual Booting:
- 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 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. - 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. - 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. - 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: ## Sleep:
- 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 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`. - Disable [`Wake for Network Access`](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/Poweradt_powernap.png) in `Power Adapter`.
@ -25,17 +25,17 @@
- `sudo pmset -a tcpkeepalive 0` to disable Network while sleeping. - `sudo pmset -a tcpkeepalive 0` to disable Network while sleeping.
- `sudo pmset -a proximitywake 0` to disable peripheral wake agent. - `sudo pmset -a proximitywake 0` to disable peripheral wake agent.
> ## HiDPI, specfically, HiDPI for the WQHD-HDR 1440p Display: ## HiDPI, specfically, HiDPI for the WQHD-HDR 1440p Display:
- Run [xzhih/one-key-hidpi](https://github.com/xzhih/one-key-hidpi) - Run [xzhih/one-key-hidpi](https://github.com/xzhih/one-key-hidpi)
> ## EDID Override: ## EDID Override:
- This is necessary to fix HDMI hotplug. - This is necessary to fix HDMI hotplug.
- See current available patches in `/patches/Internal Displays/`, merge them with `config.plist` - 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. - 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 ## Thunderbolt 3 Hotplug
- Native-like integration with macOS in System Report without the need of flashing a modded firmware. Thank you @benbender - Native-like integration with macOS in System Report without the need of flashing a modded firmware. Thank you @benbender
- NOTE: If you do have a modded BIOS firmware, please reset all settings relating to Thunderbolt 3 to default, all that's needed are settings detailed below or in [1_README-HARDWAREandBIOS.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md) - NOTE: If you do have a modded BIOS firmware, please reset all settings relating to Thunderbolt 3 to default, all that's needed are settings detailed below or in [1_README-HARDWAREandBIOS.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md)
@ -49,20 +49,20 @@
- Note: USB 3.1 Gen2 hotplug still Work-in-progress. - Note: USB 3.1 Gen2 hotplug still Work-in-progress.
> ## Keyboard: ## Keyboard:
- PrtSc (remapped to F13) = I use it for Screen Capture (Set in `System Preferences/Keyboard/Shortcuts`) - 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: - 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) ![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. - 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: ## Touchpad:
- Force Click is enabled by default, which turns any click on the trackpad into a force touch. I suggest you turn this off. - 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: - 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) ![touchpad](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/assets/img/macOS%20Settings/touchpad.png)
> ## Optimizations: ## Optimizations:
- Repaste the machine with thermal [Grizzly Kryonaut](https://www.thermal-grizzly.com/en/products/16-kryonaut-en). - Repaste the machine with thermal [Grizzly Kryonaut](https://www.thermal-grizzly.com/en/products/16-kryonaut-en).
- For those willing to risk permanently damaging your machine for the best thermal, repaste the machine with liquid metal [Grizzly Conductonaut](https://www.thermal-grizzly.com/produkte/25-conductonaut). For the majority however, I recommend using [Grizzly Kryonaut](https://www.thermal-grizzly.com/en/products/16-kryonaut-en). - For those willing to risk permanently damaging your machine for the best thermal, repaste the machine with liquid metal [Grizzly Conductonaut](https://www.thermal-grizzly.com/produkte/25-conductonaut). For the majority however, I recommend using [Grizzly Kryonaut](https://www.thermal-grizzly.com/en/products/16-kryonaut-en).

63
docs/Summary.md Normal file
View file

@ -0,0 +1,63 @@
# Summary
### 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
| Fan Control | ✅ | `SSDT-EC.aml`, [YogaSMC.kext](https://github.com/zhen-zen/YogaSMC), and [YogaSMCPane](https://github.com/zhen-zen/YogaSMC)| Adjust with YogaSMC App.
| 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. |
| Bluetooth | ✅ | Native with BCM94360CS2. | See `/patches/ Network Patches/` otherwise. |
| 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-TB-DSB2-XHC2.aml` | Hotplug WIP |
| USB Power Properties in macOS | ✅ | `SSDT-XHC1.aml` | - |
| Thunderbolt 3 Hotplug | ✅ | `SSDT-TB-*` | Native interface within System Report |
### 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` | `VoodooRMI.kext` is recommended and preferred over `VoodooPS2`. |
| 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) | `YogaSMC` is recommended and preferred over ThinkpadAssisstant |
### 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. |

View file

@ -1,6 +1,16 @@
site_name: X1C6 Hackintosh site_name: Hackintosh the Thinkpad X1 Carbon 6th Gen
site_url: https://tylernguyen.github.io/x1c6-hackintosh/ site_url: https://tylernguyen.github.io/x1c6-hackintosh/
nav: nav:
- Home: Index.md - Home: Index.md
- Summary: Summary.md
- Hardware: Hardware.md
- BIOS: BIOS.md
- Getting Started: Getting-Started.md
- Patches: Patches.md
- Post Installation: Post-Installation.md
- Issues: Issues.md
theme: theme:
name: material name: material
markdown_extensions:
- admonition