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

Cleanup of docs

This commit is contained in:
Tyler Nguyen 2022-03-02 17:48:59 -06:00
parent be65ec2a21
commit 2f2c3b4305
Signed by untrusted user who does not match committer: tylernguyen
GPG key ID: 171C766BBF5AD87E
48 changed files with 1427 additions and 1427 deletions

View file

@ -1,20 +0,0 @@
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: ./mkdocs.yml
EXTRA_PACKAGES: build-base

17
.github/workflows/documentation.yml vendored Normal file
View file

@ -0,0 +1,17 @@
name: Build & Deploy MkDocs
on:
push:
branches:
- main
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

View file

@ -1,153 +0,0 @@
# BIOS
## Vanilla BIOS Settings
At the minimum, these BIOS settings must be made to install and run macOS without any problems:
``` mermaid
graph LR
id1[Main Menu]-->Security;
id1-->Config;
id1-->Startup;
Security-->TPM[Security Chip];
Security-->Fingerprint;
Security-->SBC[Secure Boot Configuration];
Config-->Network;
Startup-->|UEFI/Legacy Boot|id4[UEFI Only];
Startup-->|CSM Support|No;
TPM-->|Security Chip|id2[Disabled];
Fingerprint-->|Predesktop Authentication|id2;
SBC-->|Secure Boot|id2;
Network-->|Wake on LAN|id3[Disabled];
Network-->|Wake on LAN from Dock|id3;
Network-->|UEFI IPv4 Network Stack|id3;
Network-->|UEFI IPv6 Network Stack|id3;
```
!!! Tip
You can also disable hardware/features you do not need to save power, some examples are:
``` mermaid
graph LR
id1[Main Menu]-->Security;
id1-->Config;
Security-->id2[I/O Port Access];
Config-->USB;
id2-->|Wireless WAN|id3[Disabled];
id2-->|Fingerprint Reader|id3;
id2-->|Memory Card Slot|id3;
USB-->|Always on USB|Disabled;
```
* If you **DO NOT use Thunderbolt 3 hotplug** in macOS (don't mind shutting down the machine to connect TB3 devices), this will drastically lower power consumption:
``` mermaid
graph LR
id1[Main Menu]-->Config;
Config-->id2[Thunderbolt 3];
id2-->|Thunderbolt BIOS Assist Mode|Enabled;
id2-->|Thunderbolt Device|Enabled;
```
* If you **DO use Thunderbolt 3 hotplug in macOS** (at the expense of idle power consumption):
``` mermaid
graph LR
id1[Main Menu]-->Config;
Config-->id2[Thunderbolt 3];
id2-->|Thunderbolt BIOS Assist Mode|Disabled;
id2-->|Security Level|id3[No Security];
id2-->|Support in Pre Boot Environment: Thunderbolt Device|Disabled;
```
## Modding the BIOS
!!! 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`.
<img align="center" src="https://raw.githubusercontent.com/tylernguyen/x1c6-hackintosh/main/docs/assets/CH341a.png" alt="CH341a" width="250">
[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`). Attempt this at your own risk.
1. Refer to [digmorepaka/thinkpad-firnware-patches](https://github.com/digmorepaka/thinkpad-firmware-patches).
2. Use `xx_80_patches-v*.txt`, I commented out WWAN patches since I do not need it.
3. [@notthebee](https://github.com/notthebee) also has a useful video to follow: https://www.youtube.com/watch?v=ce7kqUEccUM
4. Remember to **dump the vanilla twice and use `diff` to make sure things were dumped properly**, store this backup somewhere safe.
5. Confirmed working `BIOS-v1.45`, I cannot be sure about other BIOS versions. Though they will most likely work as well.
6. 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:
<p align="center">
<img src="https://user-images.githubusercontent.com/3349081/87883762-38686380-c9cf-11ea-9e9d-c400f7b5407b.jpg" alt="BIOS Chip" width="300">
</p>
7. Your BIOS chip may not be made by Winbond, but by Macronix instead. In that case, add the argument `-c MX25L12835F/MX25L12845E/MX25L12865E` to `flashrom`. See [Issue #116](https://github.com/tylernguyen/x1c6-hackintosh/issues/116#issuecomment-778654320)
- Successfully modding your BIOS will reveal the `Advance Menu` tab.
<p align="center">
<img align="center" src="https://user-images.githubusercontent.com/3349081/87883767-3d2d1780-c9cf-11ea-9fb0-f250590a3f28.jpg" alt="BIOS Advance Menu" width="300">
</p>
8. It goes without saying, after doing this, do not update your BIOS unless you want to do this again.
## Modded BIOS Settings
The following are further optimization settings that can be figured once your BIOS is modded.
* These settings are universally recommended optimizations for your hackintosh:
``` mermaid
graph TD
id1[Advance Tab]-->id2[Intel Advanced Menu];
id2-->id3[System Agent Configuration];
id2-->id4[Power & Performance];
id3-->id5[Graphics Configuration];
id4-->id6[CPU - Power Management Control];
id5-->|DVMT Pre-Allocated|64M;
id6-->id7[CPU Lock Configuration];
id7-->|CFG Lock|Disabled;
```
* I also recommend undervolting your machine regarless of your usage, the following are stable settings for my x1c6 with `i7-8650U`, verified by stress testing with `Prime95` and `Heaven Benchmark`, your may be worse or better, please do your own testing. In addition, I suggest you repaste your machine with an aftermarket thermal paste for lower temps and a better undervolt.
``` mermaid
graph TD
id1[Advance Tab]-->id2[Intel Advanced Menu];
id2-->id3[OverClocking Performance Menu];
id3-->|OverClocking Feature|Enabled;
id3-->Processor;
id3-->GT;
id3-->Uncore;
Processor-->|Voltage Offset|100;
Processor-->|Offset Prefix|id4[-];
GT-->|GT Voltage Offset|id8[80];
GT-->|Offset Prefix|id5[-];
GT-->|GTU Voltage Offset|id8;
GT-->|Offset Prefix|id5;
Uncore-->|Uncore Voltage Offset|80;
Uncore-->|Offset Prefix|id6[-];
```
* The following settings depend on your own personal preference:
* If you want to optimize CPU **performance** at the cost of battery:
``` mermaid
graph LR
id1[Advance Tab]-->id2[Power & Performance];
id2-->id3[CPU - Power Management Control];
id3-->|Boot Performance Mode|id4[Turbo Performance];
id3-->|Config TDP Configurations|Up;
```
* If you want to optimize **battery time** at the cost of performance:
``` mermaid
graph LR
id1[Advance Tab]-->id2[Power & Performance];
id2-->id3[CPU - Power Management Control];
id3-->|Boot Performance Mode|id4[Max Battery];
id3-->|Config TDP Configurations|Down;
```

View file

@ -0,0 +1,30 @@
!!! 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`.
<img align="center" src="https://raw.githubusercontent.com/tylernguyen/x1c6-hackintosh/main/docs/assets/CH341a.png" alt="CH341a" width="250">
[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`). Attempt this at your own risk.
1. Refer to [digmorepaka/thinkpad-firnware-patches](https://github.com/digmorepaka/thinkpad-firmware-patches).
2. Use `xx_80_patches-v*.txt`, I commented out WWAN patches since I do not need it.
3. [@notthebee](https://github.com/notthebee) also has a useful video to follow: https://www.youtube.com/watch?v=ce7kqUEccUM
4. Remember to **dump the vanilla twice and use `diff` to make sure things were dumped properly**, store this backup somewhere safe.
5. Confirmed working `BIOS-v1.45`, I cannot be sure about other BIOS versions. Though they will most likely work as well.
6. 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:
<p align="center">
<img src="https://user-images.githubusercontent.com/3349081/87883762-38686380-c9cf-11ea-9e9d-c400f7b5407b.jpg" alt="BIOS Chip" width="300">
</p>
7. Your BIOS chip may not be made by Winbond, but by Macronix instead. In that case, add the argument `-c MX25L12835F/MX25L12845E/MX25L12865E` to `flashrom`. See [Issue #116](https://github.com/tylernguyen/x1c6-hackintosh/issues/116#issuecomment-778654320)
- Successfully modding your BIOS will reveal the `Advance Menu` tab.
<p align="center">
<img align="center" src="https://user-images.githubusercontent.com/3349081/87883767-3d2d1780-c9cf-11ea-9fb0-f250590a3f28.jpg" alt="BIOS Advance Menu" width="300">
</p>
8. It goes without saying, after doing this, do not update your BIOS unless you want to do this again.

View file

@ -0,0 +1,57 @@
The following are further optimization settings that can be figured once your BIOS is modded.
* These settings are universally recommended optimizations for your hackintosh:
``` mermaid
graph TD
id1[Advance Tab]-->id2[Intel Advanced Menu];
id2-->id3[System Agent Configuration];
id2-->id4[Power & Performance];
id3-->id5[Graphics Configuration];
id4-->id6[CPU - Power Management Control];
id5-->|DVMT Pre-Allocated|64M;
id6-->id7[CPU Lock Configuration];
id7-->|CFG Lock|Disabled;
```
* I also recommend undervolting your machine regarless of your usage, the following are stable settings for my x1c6 with `i7-8650U`, verified by stress testing with `Prime95` and `Heaven Benchmark`, your may be worse or better, please do your own testing. In addition, I suggest you repaste your machine with an aftermarket thermal paste for lower temps and a better undervolt.
``` mermaid
graph TD
id1[Advance Tab]-->id2[Intel Advanced Menu];
id2-->id3[OverClocking Performance Menu];
id3-->|OverClocking Feature|Enabled;
id3-->Processor;
id3-->GT;
id3-->Uncore;
Processor-->|Voltage Offset|100;
Processor-->|Offset Prefix|id4[-];
GT-->|GT Voltage Offset|id8[80];
GT-->|Offset Prefix|id5[-];
GT-->|GTU Voltage Offset|id8;
GT-->|Offset Prefix|id5;
Uncore-->|Uncore Voltage Offset|80;
Uncore-->|Offset Prefix|id6[-];
```
* The following settings depend on your own personal preference:
* If you want to optimize CPU **performance** at the cost of battery:
``` mermaid
graph LR
id1[Advance Tab]-->id2[Power & Performance];
id2-->id3[CPU - Power Management Control];
id3-->|Boot Performance Mode|id4[Turbo Performance];
id3-->|Config TDP Configurations|Up;
```
* If you want to optimize **battery time** at the cost of performance:
``` mermaid
graph LR
id1[Advance Tab]-->id2[Power & Performance];
id2-->id3[CPU - Power Management Control];
id3-->|Boot Performance Mode|id4[Max Battery];
id3-->|Config TDP Configurations|Down;
```

View file

@ -0,0 +1,59 @@
## Vanilla BIOS Settings
At the minimum, these BIOS settings must be made to install and run macOS without any problems:
``` mermaid
graph LR
id1[Main Menu]-->Security;
id1-->Config;
id1-->Startup;
Security-->TPM[Security Chip];
Security-->Fingerprint;
Security-->SBC[Secure Boot Configuration];
Config-->Network;
Startup-->|UEFI/Legacy Boot|id4[UEFI Only];
Startup-->|CSM Support|No;
TPM-->|Security Chip|id2[Disabled];
Fingerprint-->|Predesktop Authentication|id2;
SBC-->|Secure Boot|id2;
Network-->|Wake on LAN|id3[Disabled];
Network-->|Wake on LAN from Dock|id3;
Network-->|UEFI IPv4 Network Stack|id3;
Network-->|UEFI IPv6 Network Stack|id3;
```
!!! Tip
You can also disable hardware/features you do not need to save power, some examples are:
``` mermaid
graph LR
id1[Main Menu]-->Security;
id1-->Config;
Security-->id2[I/O Port Access];
Config-->USB;
id2-->|Wireless WAN|id3[Disabled];
id2-->|Fingerprint Reader|id3;
id2-->|Memory Card Slot|id3;
USB-->|Always on USB|Disabled;
```
* If you **DO NOT use Thunderbolt 3 hotplug** in macOS (don't mind shutting down the machine to connect TB3 devices), this will drastically lower power consumption:
``` mermaid
graph LR
id1[Main Menu]-->Config;
Config-->id2[Thunderbolt 3];
id2-->|Thunderbolt BIOS Assist Mode|Enabled;
id2-->|Thunderbolt Device|Enabled;
```
* If you **DO use Thunderbolt 3 hotplug in macOS** (at the expense of idle power consumption):
``` mermaid
graph LR
id1[Main Menu]-->Config;
Config-->id2[Thunderbolt 3];
id2-->|Thunderbolt BIOS Assist Mode|Disabled;
id2-->|Security Level|id3[No Security];
id2-->|Support in Pre Boot Environment: Thunderbolt Device|Disabled;
```

View file

@ -1,493 +1,493 @@
# CHANGELOG
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/).
### 2022-2-21
#### Added
#### Changed
- OC to 0.7.8
- macOS to Monterey 12.2.1
- Upgraded various Acidanthera kexts
#### Deleted
- `RTCMemoryFixup.kext`
### 2021-11-5
#### Added
- `BluetToolFixup.kext` to fix Bluetooth stack in macOS Monterey. (It should on load on macOS Monterey).
#### Changed
- OC to 0.7.5
- macOS to Monterey 12.0.1
- Upgraded various Acidanthera kexts.
- Upgraded `HFSPlus.efi`
- `install EFI` is now deprecated. Use the main `EFI` to install macOS (You may also wish to enable `ShowPicker`, as well as `-v` in `boot-args`)
### 2021-8-3
#### Notice
- AX200 is now my wireless card. However, I'll continue to manintain a vanilla repo.
#### Changed
- OC to 0.7.2
- Upgraded various Acidanthera kexts.
- `docs/Hardware.md` no longer requires a wireless card change. The recommendaiton/preferred card is now AX200.
### 2021-6-21
#### Changed
- Fixed `Resources` folder structuring and added new support files.
- Revert `ECEnabler.kext` in favor of `SSDT-Battery` (`ECEnabler` had some trouble updating charge level for me).
- Fix brightness adjustment patch.
#### Notice
- This will likely be the last repo update until macOS Monterey is stable. At which I plan:
- Implement AX200 is the network card with the OpenIntelWireless kexts.
### 2021-6-8
#### Changed
- OC to 0.7.0 and upgraded various Acidanthera kexts.
- Big Sur to 11.
- Deprecate `SSDT-Battery` in favor of `ECEnabler.kext`
- Fixed Brightness Adjustment issue (forgot to add patch entry when removing AppleBacklightSmoother.kext two commits back)
#### Notice
- This will likely be the last repo update until macOS Monterey is stable. At which I plan:
- Implement AX200 is the network card with the OpenIntelWireless kexts.
### 2021-5-15
#### Changed
- OC to 0.6.9 and upgraded various Acidanthera kexts.
#### Removed
- ACTUALLY AppleBacklightSmoother.kext per [Issue #122](https://github.com/tylernguyen/x1c6-hackintosh/issues/122), will readd to the repo once the issue is resolved.
### 2021-4-7
#### Changed
- OC to 0.6.8 and upgraded various Acidanthera kexts.
- OC `Resources` per master repo update.
#### Removed
- AppleBacklightSmoother.kext per [Issue #122](https://github.com/tylernguyen/x1c6-hackintosh/issues/122), will readd to the repo once the issue is resolved.
### 2021-3-6
#### Changed
- OC to 0.6.7 and upgraded various Acidanthera kexts.
- YogaSMC to `1.4.3`
- Depricate some `SSDT-Keyboard` patches now that YogaSMC partially handles keyboard locale.
- Added note on flashing Macronix BIOS chip.
### 2021-2-4
#### Changed
- OC to 0.6.6 and upgraded various Acidanthera kexts
- Upgraded `Resources` with latest `OCBinaryData
### 2021-1-5
#### Changed
- OC to 0.6.5 and upgraded various Acidanthera kexts
- Added `ocvalidate` (0.6.5) in `OC` to easily check and validate `config.plist` changes.
### 2020-12-26
#### Changed
- OC to 0.6.4 and upgraded various Acidanthera kexts
- YogaSMC to 1.4.1 (Remember to upgrade your YogaSMC App and PrefPane)
- YogaSMC implementation on this machine is now considered stable.
### 2020-11-17
#### Changed
- Updated various TB3 patches and instructions.
- Added misc. DeviceProperties to `config.plist`
### 2020-11-14
#### Added
- `SSDT-PWRB` to patch power button.
#### Changed
- Parition TB3 patch into smaller, more readable chunks.
- `SSDT-XHC2` is also now apart of this.
- Removed experimental stuff from `SSDT-Sleep`
- Updated to `SSDT-Battery` to rev8, thanks @benbender
- Updated some documenation, with more detailed documentation coming.
### 2020-11-13
#### Changed
- Upgraded to Big Sur
- Upgraded to BIOS-v1.50 and added corresponding ACPI dump.
- Upgraded `YogaSMC` to stable build `1.3.0`
- Compatibiltity and improvements on `SSDT-Battery`. Thanks @benbender
- Experimental TB3 patch by @benbender:
- Complete hotplug and power management without modded TB3 controller firmware
- NOTE: Brokenb USB 3.1 Gen2 hotplug still, but everything else is amazing!
- Everyone thanks @benbender again! This would not have been possible without his hard work and research.
#### Removed
- Deprecated legacy keyboard patches. `YogaSMC` is now recommended and preferred.
- `TbtForcePower.efi` as it is no longer needed.
- `ThunderboltReset.kext` has it is no longer needed.
### 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
- 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.
#### 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`
#### Added
- Added `RTCMemoryFixUp` for support of Hibernation Mode 25.
- OpenCore config patch for FHD Touchscreen.
- OpenCore config patch for Intel wireless.
#### 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.
### 2020-8-3
#### Added
- Added macOS Boot chime support. Disabled by default, `PlayChime` to `Yes` if you want it.
- Boot chime was upsampled by me using Audacity, will use this upsampled file until `AudioDxe.efi` can upsample audio on the fly.
#### Changed
- OC to 0.6 and upgraded various acidanthera kexts.
- [docs/1_README-HARDWAREandBIOS.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md):
- BIOS modding instructions, confirmed working on `BIOS-v1.45`. Thanks @benbender for bringing this to my attention.
- CPU Performance/Battery configuration guidelines. A year and a half after [Issue #28](https://github.com/tylernguyen/x1c6-hackintosh/issues/28) is opened. Thank you to everyone in that issue.
- Upgraded `VoodooRMI`, this kext is now stable.
- Offloaded universally applicable parts of this guide to `dortania` as referring to their often updated content should be better.
- `config.plist` is now defaulted to users with a BIOS mod, those without a BIOS mod will need to add `config_unmoddedBIOS.plist` to `config.plist`
- Enforces modeset to fix [Issue #69](https://github.com/tylernguyen/x1c6-hackintosh/issues/69)
### 2020-7-18
#### Added
- EDID Override patch for FHD screen. Thanks [@Paolo97Gll](https://github.com/Paolo97Gll)
#### Changed
- By default, `OpenCore-EFI` now has the 4K output patch disabled for easier system upgrades. Install `OpenCore patches/4K-Output` if you need it.
- Upgraded `VoodooRMI`
- Documentation changes for readability.
### 2020-6-29
#### Added
- X1 6th Gen Hardware Maintenance Guide pdf.
- Display Patches in `patches/Internal Displays/` for the WQHD HDR Screen:
- Color profile as calibrated by notebookcheck
- EDID override to patch HDMI hotplug and overclock refresh rate. Thank you @veelar
- Please follow instructions on [Issue #60](https://github.com/tylernguyen/x1c6-hackintosh/issues/60) to create an EDID override for your own display. Make sure to create a pull request!
- Repo issue template to deter low effort issues and better diagnosing and support.
- More documentation in `EFI-OpenCore/README.md` about decisions on `config.plist`
#### Changed
- Reverted to previous, simpler iGPU framebuffer patches.
### 2020-6-26
#### Added
- `VoodooRMI` as alternative trackpad option. **Enabled by default, feel free to revert back to `VoodooPS2Mouse` and `VoodooPS2Trackpad` if you prefer**. *Note, there's currently a bug with RMI where the touchpad would not load once in a while. The RMI kext uploaded in this repo has a temp fix by me (See [VoodooSMBUS/PR](https://github.com/VoodooSMBus/VoodooSMBus/pull/41)). However, the issue is still ongoing and the dev team is aware of it. I'm switching this repo to VoodooRMI because I believe it's the future and I want to possible bugs to be reported to be fixed for the kext's first stable release.
- Kernel patches to enable 4K external graphics, thank you so much [@benbender](https://github.com/benbender)
- `XQ74` patch in `SSDT-Keyboard` to support `FnLock` HUD per ThinkpadAssistant 1.8.0
- In [EFI-OpenCore/README.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/EFI-OpenCore/README.md), I've added a short section explaining why certain variables are the way they are in my `config.plist`. I will continue to update this section with more details as time goes on.
#### Changed
- iGPU Framebuffer patching for HDMI issue in Catalina.
- In Catalina/WhateverGreen version, for some reasons my previous framebuffer patches for HDMI no longer worked. So I re-did the patch in mode details but eventually the property that fixed it was `disable-external-gpu` or `-wegnoegpu`. For some strange reasons, that variable activated on-board HDMI. See [similar reports here](https://www.tonymacx86.com/threads/guide-general-framebuffer-patching-guide-hdmi-black-screen-problem.269149/page-123). I'm going to create an issue on acidanthera/bugtracker soon to report to the dev team. In the mean time, keep this property if you rely on HDMI and do not have an eGPU. Delete this property if you have an eGPU (You're likely using the HDMI on the eGPU anyway).
- Fixed `VoodooPS2` kexts loading order.
- Various reference docs to dortania.
- `HibernateMode` to `Auto`
#### Removed
- Unnecessary Mutex OpenCore patches, all Mutex are already 0 in stock `DSDT`.
- `SSDT-MCHC` and `SSDT-SBUS` for `VoodooRMI` compatibility.
### 2020-6-1
#### Changed
- OpenCore to 0.5.9
- Upgraded various Acidanthera kexts.
- Recompiled various SSDT with new iasl libraries.
- Replaced `SSDT-EXT3` with `SSDT-LED`
- Change SSDT OEM ID to `tyler` to somewhat track distributions and usage across various projects
### 2020-5-27
#### Changed
- Keyboard backlight is now supported by [ThinkpadAssistant 1.7](https://github.com/MSzturc/ThinkpadAssistant), thank so much [@MSzturc](https://github.com/MSzturc)
- SSDT-keyboard to support ThinkpadAssistant 1.7.0
- Honestly, what's even left to improve on the keyboard? Open an issue.
### 2020-5-24
#### Added
- Setting instructions better sleep in 5_README-other.md
#### Changed
- Bluetooth Toggle is now supported by [ThinkpadAssistant 1.6](https://github.com/MSzturc/ThinkpadAssistant), thank so much [@MSzturc](https://github.com/MSzturc)
- SSDT-keyboard to support ThinkpadAssistant 1.6.0
#### Removed
- BetterTouchTool is no longer needed for Fn key functions and has been removed.
- `SMCLightSensor.kext` has been removed as the x1c6 has no ambient light sensor.
### 2020-5-22
- Further SSDT-Keyboard tweaks:
- Windows (mismapped to Left Alt by default) is now properly mapped to Left GUI
- Left Alt (mismapped to Left GUI by default) is now properly mapped to Left Alt
- Right Alt (mismapped to Right GUI by default) is now properly mapped to Right Alt
- This means that Karabiner-Elements is no longer a necessary for this project. Once less program! unless you need it for other purposes (like a hyper key).
- *Similarly, once Bluetooth toggle is implemented in ThinkpadAssistant, BetterTouchTool can also go away.
### 2020-5-21
#### Changed
Keyboard Perfection is almost here!
- Modified SSDT-Keyboard patch to be compatible with [ThinkpadAssistant](https://github.com/MSzturc/ThinkpadAssistant).
- Mute/unMute Microphone with F4, with LED!
- Disable WiFi with F8
- Mirror with F7
- Bluetooth, F10 still has to be handled by BetterTouchTool, but hopefully supported will be added soon. See my [request](https://github.com/MSzturc/ThinkpadAssistant/issues/9)
### 2020-5-9
#### Changed
- Upgraded OpenCore to 0.5.8
- Upgraded various acidanthera kexts.
- Fixed various dortania broken guide links.
- Removed `TbtForcePower.efi` from LiveUSB OpenCore `config.plist`
- Added PM981 install suggestions per [Issue #43](https://github.com/tylernguyen/x1c6-hackintosh/issues/43)
- Changed ScanPolicy of `install_USB` to 0.
### 2020-4-6 (#2)
#### Added
- Added OpenCanopy to EFI for Picker GUI support.
- NVMeFix kext to EFI-installUSB for PM981 support.
#### Changed
- Upgraded OpenCore to 0.5.7
- Upgraded various kexts.
### 2020-4-6 (#1)
#### Added
- SSDT-EXT1-FixShutdown to fix the rare issue that sometimes a shutdown would result in a restart instead.
- SSDT-HPET to patch out legacy IRQ conflicts.
#### Changed
- Better notes and documentation with `config.plist`
- Modularized each needed OpenCore config patches.
### 2020-4-1
#### Added
- ALCPlugFix to automatically change output to headphones after being plugged in, and to change it back to speakers after being unplugged.
- ALCPlugFix to fix the rare condition that audio is messed up after waking from sleep.
#### Changed
- More documentation about recommended macOS settings.
### 2020-3-31
#### Added
- Further documentation regarding specific tweaks and recommmended macOS settings.
- ADB and PS2 code reference sheet.
#### Changed
- All Fn keys now have have an assigned key, remap as needed.
- Keyboard map is now in markdown.
### 2020-3-30
#### Added
- OpenCore configuration folder intended for install media usage.
- Configuration, patches and documentation for alternative network cards, specifically the DW1560 and DW1820A.
#### Changed
- Moved `assets` folder into `docs/`.
#### Deprecated
- All things Clover. OpenCore is now my only friend.
#### Removed
- Removed EC related patches from `config.plist` as they are unnecessary.
### 2020-3-29
#### Added
- SSDT-ALS0 hotpatch for faking ambient light sensor ALS0 per Catalina's brightness preservation.
- SSDT-GPRW hotpatching for fixing instant wake (0D/6D patch).
#### Changed
- SSDT-Keyboard with the exception of F7 and F12, now maps all hotkeys to a Fn value that can be remapped within macOS. In addition, PrtSc is now remapped to F13.
- SSDT-PLNF to a cleaner version.
- Similarly, battery patch has been simplified.
#### Removed
- Some unused patches within OpenCore config.plist has now been removed.
### 2020-3-26
#### Changed
- Switched to AppleALC layout 21.
### 2020-3-23
#### Changed
- Upgraded OpenCore to 0.5.6
### 2020-2-04
#### Changed
- Upgraded OpenCore to 0.5.5
- Upgraded kexts.
### 2020-1-18
#### Changed
- Upgraded OpenCore to 0.5.4
- Upgraded kexts.
### 2019-12-22
#### Added
- Project website: https://tylernguyen.github.io/x1c6-hackintosh/
- ACPI dump for `BIOS-v1.43`.
- CHANGELOG.md to keep track of the project's developments.
- OpenCore bootloader, version `0.5.3`.
- Better SSDT patching with hotpatches under `patches`. Making sure to read `patches/README`.
#### Changed
- Switched completely to hotpatching through OpenCore. Credits to [daliansky](https://github.com/daliansky) and [jsassu20](https://github.com/jsassu20).
- Updated main README, made it look more visually appealing and organized.
#### Deprecated
- Clover bootloader. Clover r5100 is the last version I used on this machine. Moving forward, OpenCore is my preferred bootloader. See `EFI-Clover/README.md`.
- Reorganized folder/project structure. Setup instructions and references now under `docs`.
#### Removed
- Old static patches.
- Old IORegistryExplorer dump.
# CHANGELOG
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/).
### 2022-2-21
#### Added
#### Changed
- OC to 0.7.8
- macOS to Monterey 12.2.1
- Upgraded various Acidanthera kexts
#### Deleted
- `RTCMemoryFixup.kext`
### 2021-11-5
#### Added
- `BluetToolFixup.kext` to fix Bluetooth stack in macOS Monterey. (It should on load on macOS Monterey).
#### Changed
- OC to 0.7.5
- macOS to Monterey 12.0.1
- Upgraded various Acidanthera kexts.
- Upgraded `HFSPlus.efi`
- `install EFI` is now deprecated. Use the main `EFI` to install macOS (You may also wish to enable `ShowPicker`, as well as `-v` in `boot-args`)
### 2021-8-3
#### Notice
- AX200 is now my wireless card. However, I'll continue to manintain a vanilla repo.
#### Changed
- OC to 0.7.2
- Upgraded various Acidanthera kexts.
- `docs/Hardware.md` no longer requires a wireless card change. The recommendaiton/preferred card is now AX200.
### 2021-6-21
#### Changed
- Fixed `Resources` folder structuring and added new support files.
- Revert `ECEnabler.kext` in favor of `SSDT-Battery` (`ECEnabler` had some trouble updating charge level for me).
- Fix brightness adjustment patch.
#### Notice
- This will likely be the last repo update until macOS Monterey is stable. At which I plan:
- Implement AX200 is the network card with the OpenIntelWireless kexts.
### 2021-6-8
#### Changed
- OC to 0.7.0 and upgraded various Acidanthera kexts.
- Big Sur to 11.
- Deprecate `SSDT-Battery` in favor of `ECEnabler.kext`
- Fixed Brightness Adjustment issue (forgot to add patch entry when removing AppleBacklightSmoother.kext two commits back)
#### Notice
- This will likely be the last repo update until macOS Monterey is stable. At which I plan:
- Implement AX200 is the network card with the OpenIntelWireless kexts.
### 2021-5-15
#### Changed
- OC to 0.6.9 and upgraded various Acidanthera kexts.
#### Removed
- ACTUALLY AppleBacklightSmoother.kext per [Issue #122](https://github.com/tylernguyen/x1c6-hackintosh/issues/122), will readd to the repo once the issue is resolved.
### 2021-4-7
#### Changed
- OC to 0.6.8 and upgraded various Acidanthera kexts.
- OC `Resources` per master repo update.
#### Removed
- AppleBacklightSmoother.kext per [Issue #122](https://github.com/tylernguyen/x1c6-hackintosh/issues/122), will readd to the repo once the issue is resolved.
### 2021-3-6
#### Changed
- OC to 0.6.7 and upgraded various Acidanthera kexts.
- YogaSMC to `1.4.3`
- Depricate some `SSDT-Keyboard` patches now that YogaSMC partially handles keyboard locale.
- Added note on flashing Macronix BIOS chip.
### 2021-2-4
#### Changed
- OC to 0.6.6 and upgraded various Acidanthera kexts
- Upgraded `Resources` with latest `OCBinaryData
### 2021-1-5
#### Changed
- OC to 0.6.5 and upgraded various Acidanthera kexts
- Added `ocvalidate` (0.6.5) in `OC` to easily check and validate `config.plist` changes.
### 2020-12-26
#### Changed
- OC to 0.6.4 and upgraded various Acidanthera kexts
- YogaSMC to 1.4.1 (Remember to upgrade your YogaSMC App and PrefPane)
- YogaSMC implementation on this machine is now considered stable.
### 2020-11-17
#### Changed
- Updated various TB3 patches and instructions.
- Added misc. DeviceProperties to `config.plist`
### 2020-11-14
#### Added
- `SSDT-PWRB` to patch power button.
#### Changed
- Parition TB3 patch into smaller, more readable chunks.
- `SSDT-XHC2` is also now apart of this.
- Removed experimental stuff from `SSDT-Sleep`
- Updated to `SSDT-Battery` to rev8, thanks @benbender
- Updated some documenation, with more detailed documentation coming.
### 2020-11-13
#### Changed
- Upgraded to Big Sur
- Upgraded to BIOS-v1.50 and added corresponding ACPI dump.
- Upgraded `YogaSMC` to stable build `1.3.0`
- Compatibiltity and improvements on `SSDT-Battery`. Thanks @benbender
- Experimental TB3 patch by @benbender:
- Complete hotplug and power management without modded TB3 controller firmware
- NOTE: Brokenb USB 3.1 Gen2 hotplug still, but everything else is amazing!
- Everyone thanks @benbender again! This would not have been possible without his hard work and research.
#### Removed
- Deprecated legacy keyboard patches. `YogaSMC` is now recommended and preferred.
- `TbtForcePower.efi` as it is no longer needed.
- `ThunderboltReset.kext` has it is no longer needed.
### 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
- 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.
#### 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`
#### Added
- Added `RTCMemoryFixUp` for support of Hibernation Mode 25.
- OpenCore config patch for FHD Touchscreen.
- OpenCore config patch for Intel wireless.
#### 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.
### 2020-8-3
#### Added
- Added macOS Boot chime support. Disabled by default, `PlayChime` to `Yes` if you want it.
- Boot chime was upsampled by me using Audacity, will use this upsampled file until `AudioDxe.efi` can upsample audio on the fly.
#### Changed
- OC to 0.6 and upgraded various acidanthera kexts.
- [docs/1_README-HARDWAREandBIOS.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/docs/1_README-HARDWAREandBIOS.md):
- BIOS modding instructions, confirmed working on `BIOS-v1.45`. Thanks @benbender for bringing this to my attention.
- CPU Performance/Battery configuration guidelines. A year and a half after [Issue #28](https://github.com/tylernguyen/x1c6-hackintosh/issues/28) is opened. Thank you to everyone in that issue.
- Upgraded `VoodooRMI`, this kext is now stable.
- Offloaded universally applicable parts of this guide to `dortania` as referring to their often updated content should be better.
- `config.plist` is now defaulted to users with a BIOS mod, those without a BIOS mod will need to add `config_unmoddedBIOS.plist` to `config.plist`
- Enforces modeset to fix [Issue #69](https://github.com/tylernguyen/x1c6-hackintosh/issues/69)
### 2020-7-18
#### Added
- EDID Override patch for FHD screen. Thanks [@Paolo97Gll](https://github.com/Paolo97Gll)
#### Changed
- By default, `OpenCore-EFI` now has the 4K output patch disabled for easier system upgrades. Install `OpenCore patches/4K-Output` if you need it.
- Upgraded `VoodooRMI`
- Documentation changes for readability.
### 2020-6-29
#### Added
- X1 6th Gen Hardware Maintenance Guide pdf.
- Display Patches in `patches/Internal Displays/` for the WQHD HDR Screen:
- Color profile as calibrated by notebookcheck
- EDID override to patch HDMI hotplug and overclock refresh rate. Thank you @veelar
- Please follow instructions on [Issue #60](https://github.com/tylernguyen/x1c6-hackintosh/issues/60) to create an EDID override for your own display. Make sure to create a pull request!
- Repo issue template to deter low effort issues and better diagnosing and support.
- More documentation in `EFI-OpenCore/README.md` about decisions on `config.plist`
#### Changed
- Reverted to previous, simpler iGPU framebuffer patches.
### 2020-6-26
#### Added
- `VoodooRMI` as alternative trackpad option. **Enabled by default, feel free to revert back to `VoodooPS2Mouse` and `VoodooPS2Trackpad` if you prefer**. *Note, there's currently a bug with RMI where the touchpad would not load once in a while. The RMI kext uploaded in this repo has a temp fix by me (See [VoodooSMBUS/PR](https://github.com/VoodooSMBus/VoodooSMBus/pull/41)). However, the issue is still ongoing and the dev team is aware of it. I'm switching this repo to VoodooRMI because I believe it's the future and I want to possible bugs to be reported to be fixed for the kext's first stable release.
- Kernel patches to enable 4K external graphics, thank you so much [@benbender](https://github.com/benbender)
- `XQ74` patch in `SSDT-Keyboard` to support `FnLock` HUD per ThinkpadAssistant 1.8.0
- In [EFI-OpenCore/README.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/master/EFI-OpenCore/README.md), I've added a short section explaining why certain variables are the way they are in my `config.plist`. I will continue to update this section with more details as time goes on.
#### Changed
- iGPU Framebuffer patching for HDMI issue in Catalina.
- In Catalina/WhateverGreen version, for some reasons my previous framebuffer patches for HDMI no longer worked. So I re-did the patch in mode details but eventually the property that fixed it was `disable-external-gpu` or `-wegnoegpu`. For some strange reasons, that variable activated on-board HDMI. See [similar reports here](https://www.tonymacx86.com/threads/guide-general-framebuffer-patching-guide-hdmi-black-screen-problem.269149/page-123). I'm going to create an issue on acidanthera/bugtracker soon to report to the dev team. In the mean time, keep this property if you rely on HDMI and do not have an eGPU. Delete this property if you have an eGPU (You're likely using the HDMI on the eGPU anyway).
- Fixed `VoodooPS2` kexts loading order.
- Various reference docs to dortania.
- `HibernateMode` to `Auto`
#### Removed
- Unnecessary Mutex OpenCore patches, all Mutex are already 0 in stock `DSDT`.
- `SSDT-MCHC` and `SSDT-SBUS` for `VoodooRMI` compatibility.
### 2020-6-1
#### Changed
- OpenCore to 0.5.9
- Upgraded various Acidanthera kexts.
- Recompiled various SSDT with new iasl libraries.
- Replaced `SSDT-EXT3` with `SSDT-LED`
- Change SSDT OEM ID to `tyler` to somewhat track distributions and usage across various projects
### 2020-5-27
#### Changed
- Keyboard backlight is now supported by [ThinkpadAssistant 1.7](https://github.com/MSzturc/ThinkpadAssistant), thank so much [@MSzturc](https://github.com/MSzturc)
- SSDT-keyboard to support ThinkpadAssistant 1.7.0
- Honestly, what's even left to improve on the keyboard? Open an issue.
### 2020-5-24
#### Added
- Setting instructions better sleep in 5_README-other.md
#### Changed
- Bluetooth Toggle is now supported by [ThinkpadAssistant 1.6](https://github.com/MSzturc/ThinkpadAssistant), thank so much [@MSzturc](https://github.com/MSzturc)
- SSDT-keyboard to support ThinkpadAssistant 1.6.0
#### Removed
- BetterTouchTool is no longer needed for Fn key functions and has been removed.
- `SMCLightSensor.kext` has been removed as the x1c6 has no ambient light sensor.
### 2020-5-22
- Further SSDT-Keyboard tweaks:
- Windows (mismapped to Left Alt by default) is now properly mapped to Left GUI
- Left Alt (mismapped to Left GUI by default) is now properly mapped to Left Alt
- Right Alt (mismapped to Right GUI by default) is now properly mapped to Right Alt
- This means that Karabiner-Elements is no longer a necessary for this project. Once less program! unless you need it for other purposes (like a hyper key).
- *Similarly, once Bluetooth toggle is implemented in ThinkpadAssistant, BetterTouchTool can also go away.
### 2020-5-21
#### Changed
Keyboard Perfection is almost here!
- Modified SSDT-Keyboard patch to be compatible with [ThinkpadAssistant](https://github.com/MSzturc/ThinkpadAssistant).
- Mute/unMute Microphone with F4, with LED!
- Disable WiFi with F8
- Mirror with F7
- Bluetooth, F10 still has to be handled by BetterTouchTool, but hopefully supported will be added soon. See my [request](https://github.com/MSzturc/ThinkpadAssistant/issues/9)
### 2020-5-9
#### Changed
- Upgraded OpenCore to 0.5.8
- Upgraded various acidanthera kexts.
- Fixed various dortania broken guide links.
- Removed `TbtForcePower.efi` from LiveUSB OpenCore `config.plist`
- Added PM981 install suggestions per [Issue #43](https://github.com/tylernguyen/x1c6-hackintosh/issues/43)
- Changed ScanPolicy of `install_USB` to 0.
### 2020-4-6 (#2)
#### Added
- Added OpenCanopy to EFI for Picker GUI support.
- NVMeFix kext to EFI-installUSB for PM981 support.
#### Changed
- Upgraded OpenCore to 0.5.7
- Upgraded various kexts.
### 2020-4-6 (#1)
#### Added
- SSDT-EXT1-FixShutdown to fix the rare issue that sometimes a shutdown would result in a restart instead.
- SSDT-HPET to patch out legacy IRQ conflicts.
#### Changed
- Better notes and documentation with `config.plist`
- Modularized each needed OpenCore config patches.
### 2020-4-1
#### Added
- ALCPlugFix to automatically change output to headphones after being plugged in, and to change it back to speakers after being unplugged.
- ALCPlugFix to fix the rare condition that audio is messed up after waking from sleep.
#### Changed
- More documentation about recommended macOS settings.
### 2020-3-31
#### Added
- Further documentation regarding specific tweaks and recommmended macOS settings.
- ADB and PS2 code reference sheet.
#### Changed
- All Fn keys now have have an assigned key, remap as needed.
- Keyboard map is now in markdown.
### 2020-3-30
#### Added
- OpenCore configuration folder intended for install media usage.
- Configuration, patches and documentation for alternative network cards, specifically the DW1560 and DW1820A.
#### Changed
- Moved `assets` folder into `docs/`.
#### Deprecated
- All things Clover. OpenCore is now my only friend.
#### Removed
- Removed EC related patches from `config.plist` as they are unnecessary.
### 2020-3-29
#### Added
- SSDT-ALS0 hotpatch for faking ambient light sensor ALS0 per Catalina's brightness preservation.
- SSDT-GPRW hotpatching for fixing instant wake (0D/6D patch).
#### Changed
- SSDT-Keyboard with the exception of F7 and F12, now maps all hotkeys to a Fn value that can be remapped within macOS. In addition, PrtSc is now remapped to F13.
- SSDT-PLNF to a cleaner version.
- Similarly, battery patch has been simplified.
#### Removed
- Some unused patches within OpenCore config.plist has now been removed.
### 2020-3-26
#### Changed
- Switched to AppleALC layout 21.
### 2020-3-23
#### Changed
- Upgraded OpenCore to 0.5.6
### 2020-2-04
#### Changed
- Upgraded OpenCore to 0.5.5
- Upgraded kexts.
### 2020-1-18
#### Changed
- Upgraded OpenCore to 0.5.4
- Upgraded kexts.
### 2019-12-22
#### Added
- Project website: https://tylernguyen.github.io/x1c6-hackintosh/
- ACPI dump for `BIOS-v1.43`.
- CHANGELOG.md to keep track of the project's developments.
- OpenCore bootloader, version `0.5.3`.
- Better SSDT patching with hotpatches under `patches`. Making sure to read `patches/README`.
#### Changed
- Switched completely to hotpatching through OpenCore. Credits to [daliansky](https://github.com/daliansky) and [jsassu20](https://github.com/jsassu20).
- Updated main README, made it look more visually appealing and organized.
#### Deprecated
- Clover bootloader. Clover r5100 is the last version I used on this machine. Moving forward, OpenCore is my preferred bootloader. See `EFI-Clover/README.md`.
- Reorganized folder/project structure. Setup instructions and references now under `docs`.
#### Removed
- Old static patches.
- Old IORegistryExplorer dump.

View file

@ -1,32 +0,0 @@
# 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. Once the macOS installer has been created, copy `EFI` inside onto the installer's EFI partitition and make the following changes to `config.plist`
- `ShowPicker` to `YES`
- Add `-v` to `boot-args`
- If your machine has a vanilla (unmodded) BIOS, merge `/patches/ OpenCore Patches/ Vanilla BIOS.plist` with `config.plist`
!!! note
It is generally a good idea to keep the install drive with OpenCore around. As you tweak your own `opencore.plist`, things may break and you will not be able to get back into macOS using the system's OpenCore. In those times, you can use the install drive to boot into macOS.
2. Once macOS has been installed, boot the installed macOS paritition with the existing installer USB and complete new user setup.
3. Copy `EFI` onto the macOS drive's EFI partition. Similar to before, you may wish to:
- Merge `/patches/ OpenCore Patches/ Vanilla BIOS.plist` with `config.plist` if you have an unmodded BIOS.
!!! success
At this point, your machine should boot into macOS without anything attached.
1. 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.

View file

@ -1,55 +0,0 @@
# 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
!!! Tip
If your laptop did not come with WWAN, you can purchase additional antennas to add to your laptop. This is useful when using WiFi/Bluetooth cards that have 3 antennas.
- The laptop's default wireless card should work via the [OpenIntelWireless](https://github.com/OpenIntelWireless) kexts.
- For a vanilla and native experience, you may wish to buy a BCM94360CS2 card, along with a M.2 NGFF adapter.
- For future proofing and the fastest wireless/bluetooth speed, I recommend the AX200 (the card I am using). This card will also require the various [OpenIntelWireless](https://github.com/OpenIntelWireless) kexts.
!!! Note
See `patches/Network Patches/` for OpenCore patches for custom wireless cards.
- You should also see [`dortania/Wireless-Buyers-Guide`](https://dortania.github.io/Wireless-Buyers-Guide/).
## Optimizations (Optional):
- Repaste the machine with thermal [Grizzly Kryonaut](https://www.thermal-grizzly.com/en/products/16-kryonaut-en).
- If you're experienced or would to try liquid metal, use [Grizzly Conductonaut](https://www.thermal-grizzly.com/produkte/25-conductonaut). Though I've found that in my expereience, [Grizzly Kryonaut](https://www.thermal-grizzly.com/en/products/16-kryonaut-en) is enough.
- Replace your machine's fan (if applicable). See https://www.reddit.com/r/thinkpad/comments/c7zpah/x1_carbon_6th_gen_horrible_cooling_fan_design/
- Mod the BIOS the unlock Intel Advance Menu. see [BIOS.md](https://tylernguyen.github.io/x1c6-hackintosh/BIOS/)
## 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/main/docs/references/x1c6-Platform_Specifications.pdf) for possible stock ThinkPad X1 6th Gen configurations.

View file

@ -1,17 +1,21 @@
# Issues
## FAQ
!!! Warning
None of this applies to you if your machine is not an X1C6, or similar models such as the T480. You're on your own there.
#### "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).
## 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.
---
hide:
- navigation
---
## FAQ
!!! Warning
None of this applies to you if your machine is not an X1C6, or similar models such as the T480. You're on your own there.
#### "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).
## 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.

View file

@ -1,71 +0,0 @@
## Upgrading and other Major Changes
- 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.
- The macOS version of my machine is displayed on a badge in `README.md`
## Configuring PlatformInfo for iMessage/iCloud/FaceTime
- 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.
## 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'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.
- 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
- Disable Power Nap for both [`Battery`](https://github.com/tylernguyen/x1c6-hackintosh/blob/main/docs/assets/macOS%20Settings/Battery_powernap.png) and [`Power Adapter`](https://github.com/tylernguyen/x1c6-hackintosh/blob/main/docs/assets/macOS%20Settings/Poweradt_powernap.png).
- Disable [`Wake for Network Access`](https://github.com/tylernguyen/x1c6-hackintosh/blob/main/docs/assets/macOS%20Settings/Poweradt_powernap.png) in `Power Adapter`.
- Uncheck [`Allow Bluetooth devices to wake this computer`](https://github.com/tylernguyen/x1c6-hackintosh/blob/main/docs/assets/img/macOS%20Settings/Bluetooth_wake.png) if you do not need it.
- Do not disable `hibernatefile`.
- `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/`, 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
- 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/main/docs/1_README-HARDWAREandBIOS.md)
- Please make sure of these settings in BIOS:
| Main Menu | Sub 1 | Sub 2 | Sub 3 |
| --------- | ----------- | --------------------------------------------- | ------------------------------------------------------------------ |
| | >> Config | >> Thunderbolt (TM) 3 | Thunderbolt BIOS Assist Mode `Disabled` |
| | | | Security Level `No Security` |
| | | | Support in Pre Boot Environment: Thunderbolt(TM) Device `Disabled` |
- Note: USB 3.1 Gen2 hotplug still Work-in-progress.
## 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:
<p align="center">
<img src="https://raw.githubusercontent.com/tylernguyen/x1c6-hackintosh/main/docs/assets/macOS%20Settings/fnkeys.png" width="400">
</p>
- 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
- 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:
<p align="center">
<img src="https://raw.githubusercontent.com/tylernguyen/x1c6-hackintosh/main/docs/assets/macOS%20Settings/touchpad.png" width="400">
</p>

View file

@ -1,64 +0,0 @@
# 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. |
| Load Apple's Graphics Micro Code (GuC) | ❌ | | See [Issue #103](https://github.com/tylernguyen/x1c6-hackintosh/issues/103). Will never work AFAIK due to inherent incompatibility. |
### 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-PM.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/BIOS.md](https://tylernguyen.github.io/x1c6-hackintosh/BIOS/) | Will need a modded BIOS to disable `CFG Lock`
### Input/ Output
| Feature | Status | Dependency | Remarks |
| :----------------------------------- | ------ | ------------------- | ---------------------------- |
| WiFi | ✅ | Native with `BCM94360CS2`, Intel `AX200` is preferred. | See `/patches/ Network Patches/` for patches. |
| Bluetooth | ✅ | Native with `BCM94360CS2`. Intel `AX200` is preferred. | See `/patches/ Network Patches/` for patches. |
| 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/BIOS.md](https://tylernguyen.github.io/x1c6-hackintosh/BIOS/) 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`, and `BrightnessKeys.kext`| |
| 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/Post-Installation.md`](https://tylernguyen.github.io/x1c6-hackintosh/Post-Installation/) |
| 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. |

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

View file

@ -1,60 +0,0 @@
# `config.plist`
## Checking your OpenCore config.plist
It is important to keep your OpenCore `config.plist` properly up-to-spec, as OpenCore configurations tend to change accordingly with OpenCore versions. A good resource to check your `config.plist` is the `ocvalidate` binary that is bundled with every OpenCore releases.
## `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/main/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 OpenCore entries. Additionally, notes on ACPI patches can be found in [docs/2_README-ACPIpatching.md](https://github.com/tylernguyen/x1c6-hackintosh/blob/main/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:
`Device Properties` > `PciRoot(0x0)/Pci(0x2,0x0)` >
* `device-id` = `16590000` per [WhateverGreen/IntelHD.en.md](https://github.com/acidanthera/WhateverGreen/blob/main/Manual/FAQ.IntelHD.en.md)
* `AAPL,ig-platform-id` = This is negotiable. In the future, I will test different variables for optimization. For now, `04002759` works well enough.
* `AAPL00,override-no-connect` = EDID override to fix HDMI hotplug. Search for yours at `patches/Internal Displays/` or see [Issue #60](https://github.com/tylernguyen/x1c6-hackintosh/issues/60) to create one for your display model.
* `framebuffer-con1-enable` to enable framebuffer patching by WEG on connector 1.
* `framebuffer-con1-type` to set connector 1 type to HDMI (per IOReg)
* `framebuffer-patch-enable` tells WEG to patch framebuffer.
* `AAPL00,override-no-connect` to override EDID (dependent on display models). See `patches/Internal Displays/`. This is necessary to fix HDMI hotplug. To create your own, see [Issue #60](https://github.com/tylernguyen/x1c6-hackintosh/issues/60)
* FileVault compatibility:
* Misc -> Boot
* `PollAppleHotKeys` set to `YES`(While not needed can be helpful)
* Misc -> Security
* `AuthRestart` set to `YES`(Enables Authenticated restart for FileVault 2 so password is not required on reboot. Can be considered a security risk so optional)
* NVRAM -> Add -> 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14
* `UIScale` set to `02` for high resolution small displays
* UEFI -> Input
* `KeySupport` set to `YES`(Only when using OpenCore's builtin input, users of OpenUsbKbDxe should avoid)
* UEFI -> Output
* `ProvideConsoleGop` to `YES`
* UEFI -> ProtocolOverrides
* `FirmwareVolume` set to `YES`
* `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.
* `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`.
* OpenCore tools and utilities are removed for a clean setup and can be added when needed.
## Updating:
To update your OpenCore folder to my current version, simply backup your `PlatformInfo` information and move it to the new OpenCore config. Keep in mind that, depending on your setup, you may wish to keep other settings you've made so make sure to note your OpenCore `config.plist` changes as you make them.

View file

@ -0,0 +1,7 @@
## Repaste the Cooler
- [Grizzly Kryonaut](https://www.thermal-grizzly.com/en/products/16-kryonaut-en) is commonly recommended. You may also look into other brands such as Noctua or Arctic.
- [Grizzly Conductonaut](https://www.thermal-grizzly.com/produkte/25-conductonaut) is a higher performant option (being liquid metal) at the risk of killing the machine if improperly applied.
## Replace the Fan (if applicable)
- See https://www.reddit.com/r/thinkpad/comments/c7zpah/x1_carbon_6th_gen_horrible_cooling_fan_design/

View file

@ -0,0 +1,31 @@
## 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
!!! Tip
If your laptop did not come with WWAN, you can purchase additional antennas to add to your laptop. This is useful when using WiFi/Bluetooth cards that have 3 antennas.
- The laptop's default wireless card should work via the [OpenIntelWireless](https://github.com/OpenIntelWireless) kexts.
- For a vanilla and native experience, you may wish to buy a BCM94360CS2 card, along with a M.2 NGFF adapter.
- For future proofing and the fastest wireless/bluetooth speed, I recommend the AX200 (the card I am using). This card will also require the various [OpenIntelWireless](https://github.com/OpenIntelWireless) kexts.
!!! Note
See `patches/Network Patches/` for OpenCore patches for custom wireless cards.
- You should also see [`dortania/Wireless-Buyers-Guide`](https://dortania.github.io/Wireless-Buyers-Guide/).

View file

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

BIN
docs/img/BIOS_chip.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 545 KiB

View file

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 116 KiB

View file

Before

Width:  |  Height:  |  Size: 176 KiB

After

Width:  |  Height:  |  Size: 176 KiB

View file

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

BIN
docs/img/Modded_BIOS.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
docs/img/ThinkPad.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View file

Before

Width:  |  Height:  |  Size: 214 KiB

After

Width:  |  Height:  |  Size: 214 KiB

View file

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 96 KiB

View file

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 104 KiB

View file

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

View file

Before

Width:  |  Height:  |  Size: 198 KiB

After

Width:  |  Height:  |  Size: 198 KiB

View file

@ -1,50 +1,109 @@
# 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. See [Summary](https://tylernguyen.github.io/x1c6-hackintosh/Summary/).
#### "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/)
- `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.
---
hide:
- navigation
---
## FAQ
#### Does everything work?
The core, majority functions work. Notable non-functional features include the fingerprint reader, WWAN, and USB 3.1 hotplug.
#### 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 Hackintosh setup updated?
Currently, there is no automatic solution available. For now, I recommend you create a GitHub watch alert and update the EFI as it comes along.
## Basic 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/)
- `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/`
# Function 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. |
| Load Apple's Graphics Micro Code (GuC) | ❌ | | See [Issue #103](https://github.com/tylernguyen/x1c6-hackintosh/issues/103). Will never work AFAIK due to inherent incompatibility. |
### 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-PM.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/BIOS.md](https://tylernguyen.github.io/x1c6-hackintosh/BIOS/) | Will need a modded BIOS to disable `CFG Lock`
### Input/ Output
| Feature | Status | Dependency | Remarks |
| :----------------------------------- | ------ | ------------------- | ---------------------------- |
| WiFi | ✅ | Native with `BCM94360CS2`, Intel `AX200` is preferred. | See `/patches/ Network Patches/` for patches. |
| Bluetooth | ✅ | Native with `BCM94360CS2`. Intel `AX200` is preferred. | See `/patches/ Network Patches/` for patches. |
| 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/BIOS.md](https://tylernguyen.github.io/x1c6-hackintosh/BIOS/) 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`, and `BrightnessKeys.kext`| |
| 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/Post-Installation.md`](https://tylernguyen.github.io/x1c6-hackintosh/Post-Installation/) |
| 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. |

36
docs/installing-macOS.md Normal file
View file

@ -0,0 +1,36 @@
---
hide:
- navigation
---
## Creating the macOS Installer
Start by creating a vanilla macOS installer, refer to [Dortania's Creating the USB](https://dortania.github.io/OpenCore-Install-Guide/installer-guide/).
You may also use [`createinstallmedia`](createinstallmedia) if you already have a Mac.
!!! tip
Often as above, the project will defer universal steps to Dortania links. Hence, this repository is meant to be used in conjunction with their guides.
## EFI Partition
1. Make the following changes to `config.plist` within the `EFI` folder.
- `ShowPicker` to `YES`
- If your machine has a vanilla (unmodded) BIOS, merge `/patches/ OpenCore Patches/ Vanilla BIOS.plist` with `config.plist`
!!! note
It is generally a good idea to keep the install media around. As you tweak your own OpenCore `config.plist`, things may break and you will not be able to get back into macOS using the system's OpenCore. In those times, you can use the install drive to boot into macOS.
2. Mount the installer media's EFI parition. You may do this via the command line with `diskutil` or via a utility like [corpnewt/MountEFI](https://github.com/corpnewt/MountEFI).
3. Copy the EFI folder into the installer media's EFI partition. Remember that the top directory level should be `EFI`.
4. Boot into the macOS installer envrionemnt using the media. Format target disk as `APFS` using `Disk Utility` and complete installation.
5. Once macOS has been installed, boot the installed macOS paritition with the existing installer USB and complete new user setup.
6. Copy `EFI` onto the macOS drive's EFI partition. Set `ShowPicker` to `NO` for a cleaner boot experience. You can still access the boot picker by pressing `ESC` during boot time.
!!! success
At this point, your machine should boot into macOS without anything attached.

5
docs/overrides/main.html Normal file
View file

@ -0,0 +1,5 @@
{% extends "base.html" %}
{% block announce %}
Support and follow my work at <a href="https://damnthattelevision.com/">Damn That Television</a>
{% endblock %}

View file

@ -0,0 +1,9 @@
## 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/`, 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.

View file

@ -0,0 +1,4 @@
- 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.
- The `.reg` for Bluetooth connected devices in macOS can be exported using Hackintool's Utilities section. This key can then be imported to Windows.

View file

@ -0,0 +1,2 @@
- 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.

View file

@ -0,0 +1,8 @@
- 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:
<p align="center">
<img src="https://raw.githubusercontent.com/tylernguyen/x1c6-hackintosh/main/docs/img/keyboard.png" width="400">
</p>
- 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.

View file

@ -0,0 +1,12 @@
- Disable Power Nap for both [`Battery`](https://github.com/tylernguyen/x1c6-hackintosh/blob/main/docs/assets/macOS%20Settings/Battery_powernap.png) and [`Power Adapter`](https://github.com/tylernguyen/x1c6-hackintosh/blob/main/docs/assets/macOS%20Settings/Poweradt_powernap.png).
- Disable [`Wake for Network Access`](https://github.com/tylernguyen/x1c6-hackintosh/blob/main/docs/assets/macOS%20Settings/Poweradt_powernap.png) in `Power Adapter`.
- Uncheck `Allow Bluetooth devices to wake this computer` if you do not need it.
<p align="center">
<img src="https://raw.githubusercontent.com/tylernguyen/x1c6-hackintosh/main/docs/img/bluetooth.png" width="400">
</p>
- Do not disable `hibernatefile`.
- `sudo pmset -a tcpkeepalive 0` to disable Network while sleeping.
- `sudo pmset -a proximitywake 0` to disable peripheral wake agent.

View file

@ -0,0 +1,11 @@
- 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/main/docs/1_README-HARDWAREandBIOS.md)
- Please make sure of these settings in BIOS:
| Main Menu | Sub 1 | Sub 2 | Sub 3 |
| --------- | ----------- | --------------------------------------------- | ------------------------------------------------------------------ |
| | >> Config | >> Thunderbolt (TM) 3 | Thunderbolt BIOS Assist Mode `Disabled` |
| | | | Security Level `No Security` |
| | | | Support in Pre Boot Environment: Thunderbolt(TM) Device `Disabled` |
- Note: USB 3.1 Gen2 hotplug still Work-in-progress.

View file

@ -0,0 +1,7 @@
- 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:
<p align="center">
<img src="https://raw.githubusercontent.com/tylernguyen/x1c6-hackintosh/main/docs/img/touchpad.png" width="400">
</p>

View file

@ -1,89 +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
## 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

View file

@ -0,0 +1,69 @@
## Checking your OpenCore config.plist
When editing `config.plist`, confirm proper syntax by running `ocvalidate config.plist`.
## `config.plist` Comments:
* The default `config.plist` is meant to serve a mostly vanilla configuration. Additional `config.plist` compoments are available in [x1c6-hackintosh/patches/](https://github.com/tylernguyen/x1c6-hackintosh/tree/main/patches)
#### Audio patches:
`Device Properties` > `PciRoot(0x0)/Pci(0x1f,0x3)` > `layout-id`: Injects AppleALC layout-id `21`
#### Intel iGPU and HDMI patches:
`Device Properties` > `PciRoot(0x0)/Pci(0x2,0x0)` >
- `device-id` = `16590000` per [WhateverGreen/IntelHD.en.md](https://github.com/acidanthera/WhateverGreen/blob/main/Manual/FAQ.IntelHD.en.md)
- `AAPL,ig-platform-id` = This is negotiable. In the future, I will test different variables for optimization. For now, `04002759` works well enough.
- `AAPL00,override-no-connect` = EDID override to fix HDMI hotplug. Search for yours at `patches/Internal Displays/` or see [Issue #60](https://github.com/tylernguyen/x1c6-hackintosh/issues/60) to create one for your display model.
- `framebuffer-con1-enable` to enable framebuffer patching by WEG on connector 1.
- `framebuffer-con1-type` to set connector 1 type to HDMI (per IOReg)
- `framebuffer-patch-enable` tells WEG to patch framebuffer.
- `AAPL00,override-no-connect` to override EDID (dependent on display models). See `patches/Internal Displays/`. This is necessary to fix HDMI hotplug. To create your own, see [Issue #60](https://github.com/tylernguyen/x1c6-hackintosh/issues/60)
#### FileVault compatibility:
- Misc -> Boot
- `PollAppleHotKeys` set to `YES`(While not needed can be helpful)
- Misc -> Security
- `AuthRestart` set to `YES`(Enables Authenticated restart for FileVault 2 so password is not required on reboot. Can be considered a security risk so optional)
- NVRAM -> Add -> 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14
- `UIScale` set to `02` for high resolution small displays
- UEFI -> Input
- `KeySupport` set to `YES`(Only when using OpenCore's builtin input, users of OpenUsbKbDxe should avoid)
- UEFI -> Output
- `ProvideConsoleGop` to `YES`
- UEFI -> ProtocolOverrides
- `FirmwareVolume` set to `YES`
- `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.
- `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`.
#### EFI Tools
* OpenCore tools and utilities are removed for a clean setup and can be added when needed.

View file

@ -1,105 +1,105 @@
| KEY | PS2 Scan Codes | EC Queries | ADB Injected | | | | | | |
| ----------------- | -------------- | ---------- | ------------ | --- | ----- | ------------------------------------------------------------------------------------- | --- | --- | ---------- |
| ESC | 1 | | 35 | | | | | | |
| (Fn) ESC | | EC \_Q74 | | | | [acidanthera/VoodooPS2](https://github.com/acidanthera/VoodooPS2) \*Use Debug version | | | |
| F1 | 3b | | 7a | | | [RehabMan/OS-X-ACPI-Debug](https://github.com/RehabMan/OS-X-ACPI-Debug) | | | |
| F2 | 3c | | 78 | | BIOS: | | | | |
| F3 | 3d | | 63 | | | TrackPoint | | | [Enabled] |
| F4 | 3e | | 76 | | | TrackPad | | | [Enabled] |
| F5 | 3f | | 60 | | | Fn and Ctrl Key Swap | | | [Enabled] |
| F6 | 40 | | 61 | | | Fn Sticky Key | | | [Disabled] |
| F7 | 41 | | 62 | | | F1-F12 as Primary Function | | | [Enabled] |
| F8 | 42 | | 64 | | | | | | |
| F9 | 43 | | 65 | | | | | | |
| F10 | 44 | | 6d | | | | | | |
| F11 | 57 | | 67 | | | | | | |
| F12 | 58 | | 6f | | | | | | |
| (Fn) F1 | e020 | | 4a | | | | | | |
| (Fn) F2 | e02e | | 49 | | | | | | |
| (Fn) F3 | e030 | | 48 | | | | | | |
| (Fn) F4 | | EC \_Q6A | | | | | | | |
| (Fn) F5 | | EC \_Q15 | | | | | | | |
| (Fn) F6 | | EC \_Q14 | | | | | | | |
| (Fn) F7 | | EC \_Q16 | | | | | | | |
| (Fn) F8 | | EC \_Q64 | | | | | | | |
| (Fn) F9 | | EC \_Q66 | | | | | | | |
| (Fn) F10 | | EC \_Q60 | | | | | | | |
| (Fn) F11 | | EC \_Q61 | | | | | | | |
| (Fn) F12 | | EC \_Q62 | | | | | | | |
| Home | e047 | | 73 | | | | | | |
| End | e04f | | 77 | | | | | | |
| Insert | e052 | | 92 | | | | | | |
| Delete | e053 | | 75 | | | | | | |
| ` | 29 | | 32 |
| 1 | 2 | | 12 | | | | | | |
| 2 | 3 | | 13 | | | | | | |
| 3 | 4 | | 14 | | | | | | |
| 4 | 5 | | 15 | | | | | | |
| 5 | 6 | | 17 | | | | | | |
| 6 | 7 | | 16 | | | | | | |
| 7 | 8 | | 1a | | | | | | |
| 8 | 9 | | 1c | | | | | | |
| 9 | a | | 19 | | | | | | |
| 0 | b | | 1d | | | | | | |
| - | c | | 1b | | | | | | |
| Equal/ Plus | d | | 18 | | | | | | |
| Backspace | e | | 33 | | | | | | |
| Tab | f | | 30 | | | | | | |
| Q | 10 | | c | | | | | | |
| W | 11 | | d | | | | | | |
| E | 12 | | e | | | | | | |
| R | 13 | | f | | | | | | |
| T | 14 | | 11 | | | | | | |
| Y | 15 | | 10 | | | | | | |
| U | 16 | | 20 | | | | | | |
| I | 17 | | 22 | | | | | | |
| O | 18 | | 1f | | | | | | |
| P | 19 | | 23 | | | | | | |
| (Fn) P | e045 | | 71 | | | | | | |
| [ | 1a | | 21 | | | | | | |
| ] | 1b | | 1e | | | | | | |
| \ | 2b | | 2a | | | | | | |
| CapsLock | 3a | | 39 | | | | | | |
| A | 1e | | 0 | | | | | | |
| S | 1f | | 1 | | | | | | |
| (Fn) S | 54 | | 44 | | | | | | |
| D | 20 | | 2 | | | | | | |
| F | 21 | | 3 | | | | | | |
| G | 22 | | 5 | | | | | | |
| H | 23 | | 4 | | | | | | |
| J | 24 | | 26 | | | | | | |
| K | 25 | | 28 | | | | | | |
| (Fn) K | 46 | | 6b | | | | | | |
| L | 26 | | 25 | | | | | | |
| ; | 27 | | 29 | | | | | | |
| | 28 | | 27 | | | | | | |
| Enter | 1c | | 24 | | | | | | |
| Left Shift | 2a | | 38 | | | | | | |
| Z | 2c | | 6 | | | | | | |
| X | 2d | | 7 | | | | | | |
| C | 2e | | 8 | | | | | | |
| V | 2f | | 9 | | | | | | |
| B | 30 | | b | | | | | | |
| (Fn) B | 1d | | 3b | | | | | | |
| N | 31 | | 2d | | | | | | |
| M | 32 | | 2e | | | | | | |
| Comma/ < | 33 | | 3b | | | | | | |
| Period/ > | 34 | | 2f | | | | | | |
| / | 35 | | 2c | | | | | | |
| Right Shift | 36 | | 3c | | | | | | |
| Fn | 1d | | 3b | | | | | | |
| Left Control | e063 | | 80 | | | | | | |
| Windows | e05b | | 3a | | | | | | |
| Left Alt | 38 | | 37 | | | | | | |
| Spacebar | 39 | | 31 | | | | | | |
| (Fn) Spacebar | | EC \_Q1F | | | | | | | |
| Right Alt | e038 | | 36 | | | | | | |
| Print Screen | e037 | | 0 | | | | | | |
| (Fn) Print Screen | | EC \_Q65 | | | | | | | |
| Right Control | e01d | | 3e | | | | | | |
| Page Up: | e049 | | 74 | | | | | | |
| Page Down: | e051 | | 79 | | | | | | |
| Up Arrow: | e048 | | 7e | | | | | | |
| Down Arrow: | e050 | | 7d | | | | | | |
| Left Arrow: | e04b | | 7b | | | | | | |
| Right Arrow: | e04d | | 7c | | | | | | |
| KEY | PS2 Scan Codes | EC Queries | ADB Injected | | | | | | |
| ----------------- | -------------- | ---------- | ------------ | --- | ----- | ------------------------------------------------------------------------------------- | --- | --- | ---------- |
| ESC | 1 | | 35 | | | | | | |
| (Fn) ESC | | EC \_Q74 | | | | [acidanthera/VoodooPS2](https://github.com/acidanthera/VoodooPS2) \*Use Debug version | | | |
| F1 | 3b | | 7a | | | [RehabMan/OS-X-ACPI-Debug](https://github.com/RehabMan/OS-X-ACPI-Debug) | | | |
| F2 | 3c | | 78 | | BIOS: | | | | |
| F3 | 3d | | 63 | | | TrackPoint | | | [Enabled] |
| F4 | 3e | | 76 | | | TrackPad | | | [Enabled] |
| F5 | 3f | | 60 | | | Fn and Ctrl Key Swap | | | [Enabled] |
| F6 | 40 | | 61 | | | Fn Sticky Key | | | [Disabled] |
| F7 | 41 | | 62 | | | F1-F12 as Primary Function | | | [Enabled] |
| F8 | 42 | | 64 | | | | | | |
| F9 | 43 | | 65 | | | | | | |
| F10 | 44 | | 6d | | | | | | |
| F11 | 57 | | 67 | | | | | | |
| F12 | 58 | | 6f | | | | | | |
| (Fn) F1 | e020 | | 4a | | | | | | |
| (Fn) F2 | e02e | | 49 | | | | | | |
| (Fn) F3 | e030 | | 48 | | | | | | |
| (Fn) F4 | | EC \_Q6A | | | | | | | |
| (Fn) F5 | | EC \_Q15 | | | | | | | |
| (Fn) F6 | | EC \_Q14 | | | | | | | |
| (Fn) F7 | | EC \_Q16 | | | | | | | |
| (Fn) F8 | | EC \_Q64 | | | | | | | |
| (Fn) F9 | | EC \_Q66 | | | | | | | |
| (Fn) F10 | | EC \_Q60 | | | | | | | |
| (Fn) F11 | | EC \_Q61 | | | | | | | |
| (Fn) F12 | | EC \_Q62 | | | | | | | |
| Home | e047 | | 73 | | | | | | |
| End | e04f | | 77 | | | | | | |
| Insert | e052 | | 92 | | | | | | |
| Delete | e053 | | 75 | | | | | | |
| ` | 29 | | 32 |
| 1 | 2 | | 12 | | | | | | |
| 2 | 3 | | 13 | | | | | | |
| 3 | 4 | | 14 | | | | | | |
| 4 | 5 | | 15 | | | | | | |
| 5 | 6 | | 17 | | | | | | |
| 6 | 7 | | 16 | | | | | | |
| 7 | 8 | | 1a | | | | | | |
| 8 | 9 | | 1c | | | | | | |
| 9 | a | | 19 | | | | | | |
| 0 | b | | 1d | | | | | | |
| - | c | | 1b | | | | | | |
| Equal/ Plus | d | | 18 | | | | | | |
| Backspace | e | | 33 | | | | | | |
| Tab | f | | 30 | | | | | | |
| Q | 10 | | c | | | | | | |
| W | 11 | | d | | | | | | |
| E | 12 | | e | | | | | | |
| R | 13 | | f | | | | | | |
| T | 14 | | 11 | | | | | | |
| Y | 15 | | 10 | | | | | | |
| U | 16 | | 20 | | | | | | |
| I | 17 | | 22 | | | | | | |
| O | 18 | | 1f | | | | | | |
| P | 19 | | 23 | | | | | | |
| (Fn) P | e045 | | 71 | | | | | | |
| [ | 1a | | 21 | | | | | | |
| ] | 1b | | 1e | | | | | | |
| \ | 2b | | 2a | | | | | | |
| CapsLock | 3a | | 39 | | | | | | |
| A | 1e | | 0 | | | | | | |
| S | 1f | | 1 | | | | | | |
| (Fn) S | 54 | | 44 | | | | | | |
| D | 20 | | 2 | | | | | | |
| F | 21 | | 3 | | | | | | |
| G | 22 | | 5 | | | | | | |
| H | 23 | | 4 | | | | | | |
| J | 24 | | 26 | | | | | | |
| K | 25 | | 28 | | | | | | |
| (Fn) K | 46 | | 6b | | | | | | |
| L | 26 | | 25 | | | | | | |
| ; | 27 | | 29 | | | | | | |
| | 28 | | 27 | | | | | | |
| Enter | 1c | | 24 | | | | | | |
| Left Shift | 2a | | 38 | | | | | | |
| Z | 2c | | 6 | | | | | | |
| X | 2d | | 7 | | | | | | |
| C | 2e | | 8 | | | | | | |
| V | 2f | | 9 | | | | | | |
| B | 30 | | b | | | | | | |
| (Fn) B | 1d | | 3b | | | | | | |
| N | 31 | | 2d | | | | | | |
| M | 32 | | 2e | | | | | | |
| Comma/ < | 33 | | 3b | | | | | | |
| Period/ > | 34 | | 2f | | | | | | |
| / | 35 | | 2c | | | | | | |
| Right Shift | 36 | | 3c | | | | | | |
| Fn | 1d | | 3b | | | | | | |
| Left Control | e063 | | 80 | | | | | | |
| Windows | e05b | | 3a | | | | | | |
| Left Alt | 38 | | 37 | | | | | | |
| Spacebar | 39 | | 31 | | | | | | |
| (Fn) Spacebar | | EC \_Q1F | | | | | | | |
| Right Alt | e038 | | 36 | | | | | | |
| Print Screen | e037 | | 0 | | | | | | |
| (Fn) Print Screen | | EC \_Q65 | | | | | | | |
| Right Control | e01d | | 3e | | | | | | |
| Page Up: | e049 | | 74 | | | | | | |
| Page Down: | e051 | | 79 | | | | | | |
| Up Arrow: | e048 | | 7e | | | | | | |
| Down Arrow: | e050 | | 7d | | | | | | |
| Left Arrow: | e04b | | 7b | | | | | | |
| Right Arrow: | e04d | | 7c | | | | | | |

View file

@ -1,156 +1,156 @@
## ACPI Patches
1. Download and install [MaciASL](https://github.com/acidanthera/MaciASL/releases) if you do not have it already.
2. Dump your original ACPI tables. See [Dortania/ ACPI Dump](https://dortania.github.io/Getting-Started-With-ACPI/Manual/dump.html).
3. In Terminal, disassemble the copied ACPI tables with "iasl -dl DSDT.aml". For our purpose, the only file that really matters is DSDT.dsl
- Your DSDT file will be used as a reference table in determining that needs to be patched and what patches need to be added.
4. Source SSDT\*.dsl patch files are located in `patches` folder.
5. Refer to my `EFI-OpenCore` folder to see which patches are currently being used by me.
6. If your x1c6's model is 20KH*, most of my compiled hotpatches and can likely be copied straight to your setup. However, some patches may require certain directories or variables to be changed depending on your hardware (examine your own disassemebled DSDT). For these, edit the .dsl patch files. Also, note that some SSDT patches also require accompanying OpenCore/ Clover ACPI patches to work.
A good way to see if you need to edit and compile your own SSDT patches is to compare your DSDT.dsl with mine of the same BIOS version. You can find my disassemebled DSDT file in `ACPI/Disassembled ACPI/BIOS-v*`.
Should your source DSDT be similar enough (in regards to certain items in these ACPI patches)to mine. Congrats! You can simply try my compiled patches. Should it differ however, please carefully examine these notes and create your own SSDT patches.
7. Once you have the compiled ACPI patches, place them in `EFI/OC/ACPI/` and make sure to create matching entries within OpenCore's `config.plist`'s `ACPI/Add/` section.
## 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."
See highlighted example:
![OpenCore SSDT patching notice](https://raw.githubusercontent.com/tylernguyen/x1c6-hackintosh/main/docs/assets/OpenCore%20SSDT%20patching%20notice.png)
!!! Note
Network and Display patches are on a case-by-case basis and may differ for everyone.
### Non-native WiFi and Bluetooth
- `/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/`
# ACPI Patches In-Use:
!!! note
The following patches are arranged alphabetically for easy cross-referencing. For the loading order, please refer to the main EFI's `config.plist`.
### `SSDT-AC`
**Load AppleACPIACAdapter**
### `SSDT-ALS0`
**Fake Ambient Light Sensor**
Starting with Catalina, an ambient light sensor device is required for brightness preservation. This patch fakes an ambient light sensor device `ALS0` since the x1c6 does not have one.
Why?: `ACPI0008` missing in DSDT.
### `SSDT-Battery`
**Enables Battery Status in macOS**
- Single battery system: only `BAT0` in ACPI, no `BAT1`.
### `SSDT-DMAC`
**Patch Memory Controller**
- Why?: `PNP0200` is missing in DSDT.
### `SSDT-Darwin`
**Detects macOS to enable other patches**
### `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-HWAC`
**Fix axxess to 16byte-EC-field HWAC**
### `SSDT-INIT`
**Initialize System Variables**
- Disables:
- HPET
- DPTF
- Enables:
- DYTC
### `SSDT-Keyboard`
**Remap PS2 Keys, EC Keys are handled by `BrightnessKeys.kext`**
- Remap 1: PrtSc to F13
- Remap 2: Fn + K to Deadkey
- Remap 3: Fn + P to Deadkey
- For Fn 1-12 functions, check the following option within `Preferences/Keyboard`:
![Fn keys](https://github.com/tylernguyen/x1c6-hackintosh/blob/main/docs/assets/img/macOS%20Settings/fnkeys.png)
### `SSDT-PM`
**Enables Native Intel Power Managements**
- Why?: `Processor` search in DSDT, rename `PR` to other variables as needed.
```
Scope (\_PR)
{
Processor (PR00, 0x01, 0x00001810, 0x06){}
Processor (PR01, 0x02, 0x00001810, 0x06){}
Processor (PR02, 0x03, 0x00001810, 0x06){}
Processor (PR03, 0x04, 0x00001810, 0x06){}
Processor (PR04, 0x05, 0x00001810, 0x06){}
Processor (PR05, 0x06, 0x00001810, 0x06){}
Processor (PR06, 0x07, 0x00001810, 0x06){}
Processor (PR07, 0x08, 0x00001810, 0x06){}
Processor (PR08, 0x09, 0x00001810, 0x06){}
Processor (PR09, 0x0A, 0x00001810, 0x06){}
Processor (PR10, 0x0B, 0x00001810, 0x06){}
Processor (PR11, 0x0C, 0x00001810, 0x06){}
Processor (PR12, 0x0D, 0x00001810, 0x06){}
Processor (PR13, 0x0E, 0x00001810, 0x06){}
Processor (PR14, 0x0F, 0x00001810, 0x06){}
Processor (PR15, 0x10, 0x00001810, 0x06){}
}
```
### `SSDT-PMCR`
- Why?: `PMCR`,`APP9876` missing in DSDT.
### `SSDT-PNLF`
**Enables Brightness Management in macOS**
- iGPU is `PCI0.GFX0`
- Why?: `Skylake/ KabyLake/ KabyLake-R` CPU.
- Used in conjunction with `WhateverGreen.kext`.
### `SSDT-PWRB`
- Why?: `PNP0C0C` missing in DSDT.
- Patch power button.
### `SSDT-Sleep`
**Patch macOS Sleep, S3, and S0 under Windows Dual Boot**
- Comprehensive sleep/wake patch.
- Fixes restart on shutdown.
**Needs `OpenCore Patches/ Sleep.plist`**
### `SSDT-TB-DSB0` to `SSDT-TB-DSB6`
- Patch USB 3.1
- Patch Thunderbolt 3 Hotplug
- Patch Thunderbolt 3 Power Management
- Patch Thunderbolt 3 native interfacing with macOS's System Report
### `SSDT-XHC1 - USB 2.0/3.0`
**Needs `OpenCore Patches/ XHC1.plist`**
- Map USB 2.0/3.0
- Patch USB Power Properties
## ACPI Patches
1. Download and install [MaciASL](https://github.com/acidanthera/MaciASL/releases) if you do not have it already.
2. Dump your original ACPI tables. See [Dortania/ ACPI Dump](https://dortania.github.io/Getting-Started-With-ACPI/Manual/dump.html).
3. In Terminal, disassemble the copied ACPI tables with "iasl -dl DSDT.aml". For our purpose, the only file that really matters is DSDT.dsl
- Your DSDT file will be used as a reference table in determining that needs to be patched and what patches need to be added.
4. Source SSDT\*.dsl patch files are located in `patches` folder.
5. Refer to my `EFI-OpenCore` folder to see which patches are currently being used by me.
6. If your x1c6's model is 20KH*, most of my compiled hotpatches and can likely be copied straight to your setup. However, some patches may require certain directories or variables to be changed depending on your hardware (examine your own disassemebled DSDT). For these, edit the .dsl patch files. Also, note that some SSDT patches also require accompanying OpenCore/ Clover ACPI patches to work.
A good way to see if you need to edit and compile your own SSDT patches is to compare your DSDT.dsl with mine of the same BIOS version. You can find my disassemebled DSDT file in `ACPI/Disassembled ACPI/BIOS-v*`.
Should your source DSDT be similar enough (in regards to certain items in these ACPI patches)to mine. Congrats! You can simply try my compiled patches. Should it differ however, please carefully examine these notes and create your own SSDT patches.
7. Once you have the compiled ACPI patches, place them in `EFI/OC/ACPI/` and make sure to create matching entries within OpenCore's `config.plist`'s `ACPI/Add/` section.
## 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."
See highlighted example:
![OpenCore SSDT patching notice](https://raw.githubusercontent.com/tylernguyen/x1c6-hackintosh/main/docs/assets/OpenCore%20SSDT%20patching%20notice.png)
!!! Note
Network and Display patches are on a case-by-case basis and may differ for everyone.
### Non-native WiFi and Bluetooth
- `/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/`
# ACPI Patches In-Use:
!!! note
The following patches are arranged alphabetically for easy cross-referencing. For the loading order, please refer to the main EFI's `config.plist`.
### `SSDT-AC`
**Load AppleACPIACAdapter**
### `SSDT-ALS0`
**Fake Ambient Light Sensor**
Starting with Catalina, an ambient light sensor device is required for brightness preservation. This patch fakes an ambient light sensor device `ALS0` since the x1c6 does not have one.
Why?: `ACPI0008` missing in DSDT.
### `SSDT-Battery`
**Enables Battery Status in macOS**
- Single battery system: only `BAT0` in ACPI, no `BAT1`.
### `SSDT-DMAC`
**Patch Memory Controller**
- Why?: `PNP0200` is missing in DSDT.
### `SSDT-Darwin`
**Detects macOS to enable other patches**
### `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-HWAC`
**Fix axxess to 16byte-EC-field HWAC**
### `SSDT-INIT`
**Initialize System Variables**
- Disables:
- HPET
- DPTF
- Enables:
- DYTC
### `SSDT-Keyboard`
**Remap PS2 Keys, EC Keys are handled by `BrightnessKeys.kext`**
- Remap 1: PrtSc to F13
- Remap 2: Fn + K to Deadkey
- Remap 3: Fn + P to Deadkey
- For Fn 1-12 functions, check the following option within `Preferences/Keyboard`:
![Fn keys](https://github.com/tylernguyen/x1c6-hackintosh/blob/main/docs/assets/img/macOS%20Settings/fnkeys.png)
### `SSDT-PM`
**Enables Native Intel Power Managements**
- Why?: `Processor` search in DSDT, rename `PR` to other variables as needed.
```
Scope (\_PR)
{
Processor (PR00, 0x01, 0x00001810, 0x06){}
Processor (PR01, 0x02, 0x00001810, 0x06){}
Processor (PR02, 0x03, 0x00001810, 0x06){}
Processor (PR03, 0x04, 0x00001810, 0x06){}
Processor (PR04, 0x05, 0x00001810, 0x06){}
Processor (PR05, 0x06, 0x00001810, 0x06){}
Processor (PR06, 0x07, 0x00001810, 0x06){}
Processor (PR07, 0x08, 0x00001810, 0x06){}
Processor (PR08, 0x09, 0x00001810, 0x06){}
Processor (PR09, 0x0A, 0x00001810, 0x06){}
Processor (PR10, 0x0B, 0x00001810, 0x06){}
Processor (PR11, 0x0C, 0x00001810, 0x06){}
Processor (PR12, 0x0D, 0x00001810, 0x06){}
Processor (PR13, 0x0E, 0x00001810, 0x06){}
Processor (PR14, 0x0F, 0x00001810, 0x06){}
Processor (PR15, 0x10, 0x00001810, 0x06){}
}
```
### `SSDT-PMCR`
- Why?: `PMCR`,`APP9876` missing in DSDT.
### `SSDT-PNLF`
**Enables Brightness Management in macOS**
- iGPU is `PCI0.GFX0`
- Why?: `Skylake/ KabyLake/ KabyLake-R` CPU.
- Used in conjunction with `WhateverGreen.kext`.
### `SSDT-PWRB`
- Why?: `PNP0C0C` missing in DSDT.
- Patch power button.
### `SSDT-Sleep`
**Patch macOS Sleep, S3, and S0 under Windows Dual Boot**
- Comprehensive sleep/wake patch.
- Fixes restart on shutdown.
**Needs `OpenCore Patches/ Sleep.plist`**
### `SSDT-TB-DSB0` to `SSDT-TB-DSB6`
- Patch USB 3.1
- Patch Thunderbolt 3 Hotplug
- Patch Thunderbolt 3 Power Management
- Patch Thunderbolt 3 native interfacing with macOS's System Report
### `SSDT-XHC1 - USB 2.0/3.0`
**Needs `OpenCore Patches/ XHC1.plist`**
- Map USB 2.0/3.0
- Patch USB Power Properties

View file

@ -1,62 +1,91 @@
# Project information
site_name: Hackintosh the Thinkpad X1 Carbon 6th Gen
site_url: https://tylernguyen.github.io/x1c6-hackintosh
site_author: Tyler Nguyen
# Repository
repo_name: tylernguyen/x1c6-hackintosh
repo_url: https://github.com/tylernguyen/x1c6-hackintosh
edit_uri: ""
nav:
- Home: index.md
- Summary: Summary.md
- Hardware: Hardware.md
- BIOS: BIOS.md
- Getting Started: Getting-Started.md
- Post Installation: Post-Installation.md
- Issues: Issues.md
- Technical Details:
- config.plist: config.plist.md
- Patches: Patches.md
- ACPI Patch Snippets: https://github.com/5T33Z0/OC-Little-Translated
- Keyboard Map: references/Keyboard.md
- ALC285 Codec: references/ALC285.md
- EC Queries: references/EC_queries.md
- ASL Tutorial: https://acpica.org/sites/acpica/files/asl_tutorial_v20190625.pdf
- ACPI Tips and Tricks: https://wiki.ubuntu.com/Kernel/Reference/ACPITricksAndTips
- WhateverGreen Intel HD Manual: https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md
- UEFI Secure Boot Explaination: https://osy.gitbook.io/hac-mini-guide/details/secure-boot
- Custom Secure Boot Keys and Signing OpenCore Binaries: https://github.com/profzei/Matebook-X-Pro-2018/wiki/Enable-BIOS-Secure-Boot-with-OpenCore
- HDA Fix: https://osy.gitbook.io/hac-mini-guide/details/hda-fix
- Thunderbolt 3 (Part 1): https://osy.gitbook.io/hac-mini-guide/details/thunderbolt-3-fix
- Thunderbolt 3 (Part 2): https://osy.gitbook.io/hac-mini-guide/details/thunderbolt-3-fix-part-2
- Thunderbolt 3 (Part 3): https://osy.gitbook.io/hac-mini-guide/details/thunderbolt-3-fix-part-3
- MacbookPro14,1 ACPI: https://github.com/khronokernel/DarwinDumped/tree/master/MacBookPro/MacBookPro14%2C1
- KabylakeOpenBoardPkg: https://github.com/tianocore/edk2-platforms/tree/master/Platform/Intel/KabylakeOpenBoardPkg
- CFG Unlock without BIOS Mod: https://www.reddit.com/r/hackintosh/comments/hz2rtm/cfg_lockunlocking_alternative_method/
theme:
name: material
palette:
primary: blue grey
accent: red
features:
- header.autohide
- search.highlight
- search.suggest
- navigation.sections
- navigation.tracking
extra:
social:
- icon: fontawesome/brands/github
link: https://github.com/tylernguyen
plugins:
- search
- mermaid2
markdown_extensions:
- admonition
- footnotes
# Project information
site_name: Hackintosh the Thinkpad X1 Carbon 6th Gen
site_url: https://tylernguyen.github.io/x1c6-hackintosh
site_author: Tyler Nguyen
# Repository
repo_name: tylernguyen/x1c6-hackintosh
repo_url: https://github.com/tylernguyen/x1c6-hackintosh
edit_uri: ""
nav:
- Home: index.md
- Hardware:
- Parts Replacements: hardware/parts-replacements.md
- Optimizing Hardware: hardware/optimizing-hardware.md
- BIOS:
- Settings for Vanilla BIOS: BIOS/settings-for-vanilla-BIOS.md
- Modding the BIOS (optional): BIOS/modding-the-BIOS.md
- Settings for Modded BIOS: BIOS/settings-for-modded-BIOS.md
- Installing macOS: installing-macOS.md
- Post Installation:
- iCloud, iMessage, FaceTime: post-installation/iServices.md
- Dual Booting: post-installation/dual-booting.md
- Sleep: post-installation/sleep.md
- Display: post-installation/display.md
- Thunderbolt 3: post-installation/thunderbolt-3.md
- Keyboard: post-installation/keyboard.md
- Trackpad: post-installation/trackpad.md
- Issues: issues.md
- Technical Details:
Internal:
- config.plist: technical/config.plist.md
- patches: technical/patches.md
- Keyboard Queries: techical/keyboard-queries.md
- ALC285 Codec: tecnical/ALC285.md
- EC Queries: tecnical/EC-queries.md
External:
- ACPI Patch Snippets: https://github.com/5T33Z0/OC-Little-Translated
- ASL Tutorial: https://acpica.org/sites/acpica/files/asl_tutorial_v20190625.pdf
- ACPI Tips and Tricks: https://wiki.ubuntu.com/Kernel/Reference/ACPITricksAndTips
- WhateverGreen Intel HD Manual: https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md
- UEFI Secure Boot Explaination: https://osy.gitbook.io/hac-mini-guide/details/secure-boot
- Custom Secure Boot Keys and Signing OpenCore Binaries: https://github.com/profzei/Matebook-X-Pro-2018/wiki/Enable-BIOS-Secure-Boot-with-OpenCore
- HDA Fix: https://osy.gitbook.io/hac-mini-guide/details/hda-fix
- Thunderbolt 3 (Part 1): https://osy.gitbook.io/hac-mini-guide/details/thunderbolt-3-fix
- Thunderbolt 3 (Part 2): https://osy.gitbook.io/hac-mini-guide/details/thunderbolt-3-fix-part-2
- Thunderbolt 3 (Part 3): https://osy.gitbook.io/hac-mini-guide/details/thunderbolt-3-fix-part-3
- MacbookPro14,1 ACPI: https://github.com/khronokernel/DarwinDumped/tree/master/MacBookPro/MacBookPro14%2C1
- KabylakeOpenBoardPkg: https://github.com/tianocore/edk2-platforms/tree/master/Platform/Intel/KabylakeOpenBoardPkg
- CFG Unlock without BIOS Mod: https://www.reddit.com/r/hackintosh/comments/hz2rtm/cfg_lockunlocking_alternative_method/
theme:
name: material
icon:
logo: material/laptop
custom_dir: docs/overrides
palette:
scheme: default
primary: deep orange
accent: red
features:
- header.autohide
- search.highlight
- search.suggest
- navigation.instant
- navigation.top
- navigation.tabs
- navigation.tabs.sticky
- navigation.tracking
extra:
social:
- icon: fontawesome/brands/github
link: https://github.com/tylernguyen
plugins:
- search
markdown_extensions:
- pymdownx.emoji:
emoji_index: !!python/name:materialx.emoji.twemoji
emoji_generator: !!python/name:materialx.emoji.to_svg
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
- admonition
- pymdownx.details
- pymdownx.superfences
- footnotes

View file

@ -1 +0,0 @@
mkdocs-mermaid2-plugin