1
0
Fork 0
mirror of https://github.com/tylernguyen/x1c6-hackintosh.git synced 2025-02-05 09:33:13 -06:00

Reorganized docs, again. Sorry for the commit spam

This commit is contained in:
Tyler Nguyen 2020-03-29 16:26:03 -05:00
parent 271ebed42b
commit 5a74323c57
No known key found for this signature in database
GPG key ID: DB5B102B914991DA
5 changed files with 146 additions and 152 deletions

View file

@ -15,11 +15,15 @@ SystemSerialNumber: Can be generated with MacSerial or use pervious from Clover'
CPUFriendDataProvider: Can be generated with [CPUFriendFriend](https://github.com/corpnewt/CPUFriendFriend_ or [one-key-cpufriend](https://github.com/stevezhengshiqi/one-key-cpufriend). Even if you have the same CPU as me, you may prefer a different Energy Performance Preference (EPP) so do generate your own CPUFriendDataProvider. This is furhtermore important if you have a different CPU than me. CPUFriendDataProvider: Can be generated with [CPUFriendFriend](https://github.com/corpnewt/CPUFriendFriend_ or [one-key-cpufriend](https://github.com/stevezhengshiqi/one-key-cpufriend). Even if you have the same CPU as me, you may prefer a different Energy Performance Preference (EPP) so do generate your own CPUFriendDataProvider. This is furhtermore important if you have a different CPU than me.
## Important Note: > ## Important Note:
Unlike Clover, where SSDT patches are only being applied when booting macOS. OpenCore will apply SSDT patches regardless of the operating system. This is critical when multi-booting, since Windows and Linux do not need the additional patches that macOS does. In many cases, if Windows/Linux fails to boot under OpenCore, it is likely that your macOS intended SSDT patch(s) is being applied universally. To prevent OpenCore from doing this, it is important that your SSDT patches specify its intended OS, which in our case is "Darwin." Unlike Clover, where SSDT patches are only being applied when booting macOS. OpenCore will apply SSDT patches regardless of the operating system. This is critical when multi-booting, since Windows and Linux do not need the additional patches that macOS does. In many cases, if Windows/Linux fails to boot under OpenCore, it is likely that your macOS intended SSDT patch(s) is being applied universally. To prevent OpenCore from doing this, it is important that your SSDT patches specify its intended OS, which in our case is "Darwin."
See highlighted example: See highlighted example:
![OpenCore SSDT patching notice](https://raw.githubusercontent.com/tylernguyen/x1c6-hackintosh/master/assets/img/OpenCore%20SSDT%20patching%20notice.png) ![OpenCore SSDT patching notice](https://raw.githubusercontent.com/tylernguyen/x1c6-hackintosh/master/assets/img/OpenCore%20SSDT%20patching%20notice.png)
## Checking your OpenCore 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 https://opencore.slowgeek.com/. 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 https://opencore.slowgeek.com/.
> ## 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.plist changes as you make them.

151
README.md
View file

@ -17,158 +17,20 @@
`Lastly, if my work here helped you. Please consider donating, it would mean a lot to me.` `Lastly, if my work here helped you. Please consider donating, it would mean a lot to me.`
<details> > ## Update
<summary><h1>CHANGELOG</h1></summary>
All notable changes to this project will be documented in this file. ##### Recent | [Changelog Archive](https://github.com/tylernguyen/x1c6-hackintosh/docs/CHANGELOG.md)
> ### 2020-3-29
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). #### Added
<details>
<summary>2020-3-29</summary>
### Added
SSDT-ALS0 hotpatch for faking ambient light sensor ALS0 per Catalina's brightness preservation. SSDT-ALS0 hotpatch for faking ambient light sensor ALS0 per Catalina's brightness preservation.
SSDT-GPRW hotpatching for fixing instant wake (0D/6D patch). SSDT-GPRW hotpatching for fixing instant wake (0D/6D patch).
### Changed #### 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-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. SSDT-PLNF to a cleaner version.
Similarly, battery patch has been simplified. Similarly, battery patch has been simplified.
### Deprecated #### Removed
### Removed
Some unused patches within OpenCore config.plist has now been removed. Some unused patches within OpenCore config.plist has now been removed.
</details>
<details>
<summary>2019-12-22</summary>
### 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.
</details>
</details>
<details>
<summary><h1>ACPI Patches</h1></summary>
# Hotpatching Notes
## **Credits and a huge thank you to [daliansky](https://github.com/daliansky) for the great work and documentation, as well as to [jsassu20](https://github.com/jsassu20) for the excellent translations.**
## Some patches here may be unused. Refer to the current OpenCore-EFI folder to see which one I am currently using.
## Some Thinkpad machines are `LPC` and some are` LPCB`. Please examine your own DSDT and modify patches as needed.
> ### SSDT-OCBAT0-TP_re80_tx70-80_x1c5th-6th_s12017_p51
**Need `OpenCore Patches/ TP Battery Basic Rename.plist`** if OpenCore. `preferred`
**Need `OpenCore Patches/ TP battery Mutex is set to 0 and renamed.plist`** if OpenCore. `preferred`
- Single battery system: only `BAT0` in ACPI, no` BAT1`.
  
> ### SSDT-PLUG-_PR.PR00
Why?: `Processor` in DSDT
```
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-PNLF-SKL_KBL
Why?: `Skylake/ KabyLake/ KabyLake-R`.
Used in conjufction with `WhateverGreen.kext`
> ### SSDT-HPET_RTC_TIMR-fix
- This patch cannot be used with the following patches:
   - ***SSDT-RTC_Y-AWAC_N*** of the "Preset Variable Method"
   - OC official ***SSDT-AWAC***
   - "Counterfeit Device" or OC official ***SSDT-RTC0***
   - ***SSDT-RTC0-NoFlags for CMOS Reset Patch***
  
> ### SSDT-Keyboard
Keyboard path is `\ _SB.PCI0.LPCB.KBD`.  
- Remap 1:
- Remap 2:
- Remap 3:
- Remap 4: F8 (Network) to F18
- Remap 5: F9 (Settings) to F19
- Remap 6: F10 (Bluetooth) to F20
- Remap 7: F11 (Keyboard) to F17
- Remap 8:
- Remap 9:
- Remap 10: PrtSc to F13
> ### SSDT-PTSWAK
### SSDT-EXT3-LedReset-TP
### SSDT-EXT4-WakeScreen
**Need `OpenCore Patches/ Comprehensive Patch Changed Its Name To.plist`** if OpenCore. `preferred`
**Need `Clover Patches/ Comprehensive Patch Changed Its Name To.plist`** if Clover.
Look up `_PTS` and `_WAK` and only apply the corresponding patches:
`_PTS` is `NotSerialized` in my DSDT
`_WAK` is `Serialized` in my DSDT
- ***SSDT-PTSWAK*** —— Comprehensive Patch。
- ***SSDT-EXT3-LedReset-TP*** — `EXT3` extension patch. Solve the problem that the breathing light does not return to normal after the TP machine wakes up。
- ***SSDT-EXT4-WakeScreen*** — `EXT4` extension patch. Solve the problem that some machines need to press any key to light up the screen after waking up. When using, you should inquire whether the `PNP0C0D` device name and path already exist in the patch file, such as` _SB.PCI0.LPCB.LID0`. If not, add it yourself.
> ### SSDT-SBUS
Why?: `0x001F0004` under Device (SBUS).
> ### SSDT-DMAC
Why?: `PNP0200` is missing in DSDT.
> ### SSDT-MCHC
Why?: `MCHC` is missing in DSDT.
> ### SSDT-PMCR
Why?: `PMCR`,` APP9876` missing in DSDT.
> ### SSDT-PWRB
Why?: `PNP0C0C` missing in DSDT.
> ### SSDT-ALS0
Why?: `ACPI0008` missing in DSDT.
> ### SSDT-GPRW
Why?: Fix instant wake by hooking GPRW (0D/6D Patch)
</details>
<details>
<summary><h1>Getting Started</h1></summary>
> ## SUMMARY: > ## SUMMARY:
| Fully functional | Non-functional | Semi-functional. Additional pulls needed and welcomed. | | Fully functional | Non-functional | Semi-functional. Additional pulls needed and welcomed. |
@ -241,7 +103,6 @@ Create a pull request if you like to be added, final decision at my discreation.
* Undervolt the machine with [Volta](https://volta.garymathews.com/). * Undervolt the machine with [Volta](https://volta.garymathews.com/).
* If you must dual boot with Windows or Linux, I advise against paritition. What I recommend, instead, is getting a second compatible hard drive that fits in the WWAN card slot (I have the WDC PC SN520 NVMe 2242), install Windows/Linux onto that drive. Finally, boot into it with Clover or OpenCore. * If you must dual boot with Windows or Linux, I advise against paritition. What I recommend, instead, is getting a second compatible hard drive that fits in the WWAN card slot (I have the WDC PC SN520 NVMe 2242), install Windows/Linux onto that drive. Finally, boot into it with Clover or OpenCore.
* 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. * 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.
</details>
> ## CONTACT: > ## CONTACT:
https://tylerspaper.com/contact https://tylerspaper.com/contact

View file

@ -1,8 +1,8 @@
> ## ACPI Patching: > ## ACPI Patching:
1. Download and install [MaciASL](https://github.com/acidanthera/MaciASL/releases) if you do not have it already. 1. Download and install [MaciASL](https://github.com/acidanthera/MaciASL/releases) if you do not have it already.
2. During CLOVER boot screen, press Fn+F4, or just F4 to dump original ACPI tables to EFI/CLOVER/ACPI/origin/ 2. Dump your original ACPI tables. There are a number of ways to do this, using Clover, Hackintool, Linux.
3. Copy files that begin with DSDT and SSDT to Desktop. 3. In Terminal, disassemble the copied ACPI tables with "iasl-stable -dl DSDT.aml". For our purpose, the only file that really matters is DSDT.dsl
4. Open the contents of MaciASL and look for iasl-stable, copy it to the same directory as the dumped ACPI files. In Terminal, disassemble the copied ACPI tables with "iasl-stable -dl DSDT.aml SSDT*.aml". - Your DSDT file will be used as a reference table in determining that needs to be patched and what patches need to be added.
5. Refer to `patches` and `patches/README.md`, most of my compiled hotpatches and can 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 disasemebled DSDT). For these, edit the .dsl patch files. Also, note that some SSDT patches also require accompanying OpenCore/ Clover ACPI patches to work. 4. Refer to `PATCHES.md`, most of my compiled hotpatches and can 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 disasemebled DSDT). For these, edit the .dsl patch files. Also, note that some SSDT patches also require accompanying OpenCore/ Clover ACPI patches to work.
Special thanks to [daliansky](https://github.com/daliansky) and [jsassu20](https://github.com/jsassu20) for their work. Special thanks to [daliansky](https://github.com/daliansky) and [jsassu20](https://github.com/jsassu20) for their work.

32
docs/CHANGELOG.md Normal file
View file

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

97
docs/PATCHES.md Normal file
View file

@ -0,0 +1,97 @@
# Hotpatching Notes
## **Credits and a huge thank you to [daliansky](https://github.com/daliansky) for the great work and documentation, as well as to [jsassu20](https://github.com/jsassu20) for the excellent translations.**
## Some patches here may be unused. Refer to the current OpenCore-EFI folder to see which one I am currently using.
## Some Thinkpad machines are `LPC` and some are` LPCB`. Please examine your own DSDT and modify patches as needed.
> ### SSDT-OCBAT0-TP_tx80_x1c6th
**Need `OpenCore Patches/ TP Battery Basic Rename.plist`** if OpenCore. `preferred`
**Need `OpenCore Patches/ TP battery Mutex is set to 0 and renamed.plist`** if OpenCore. `preferred`
- Single battery system: only `BAT0` in ACPI, no` BAT1`.
  
> ### SSDT-PLUG-_PR.PR00
Why?: `Processor` in DSDT
```
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-PNLF-SKL_KBL
Why?: `Skylake/ KabyLake/ KabyLake-R`.
Used in conjufction with `WhateverGreen.kext`
> ### SSDT-HPET_RTC_TIMR-fix
- This patch cannot be used with the following patches:
   - ***SSDT-RTC_Y-AWAC_N*** of the "Preset Variable Method"
   - OC official ***SSDT-AWAC***
   - "Counterfeit Device" or OC official ***SSDT-RTC0***
   - ***SSDT-RTC0-NoFlags for CMOS Reset Patch***
  
> ### SSDT-Keyboard
Keyboard path is `\ _SB.PCI0.LPCB.KBD`.  
- Remap 1:
- Remap 2:
- Remap 3:
- Remap 4: F8 (Network) to F18
- Remap 5: F9 (Settings) to F19
- Remap 6: F10 (Bluetooth) to F20
- Remap 7: F11 (Keyboard) to F17
- Remap 8:
- Remap 9:
- Remap 10: PrtSc to F13
> ### SSDT-PTSWAK
### SSDT-EXT3-LedReset-TP
### SSDT-EXT4-WakeScreen
**Need `OpenCore Patches/ Comprehensive Patch Changed Its Name To.plist`** if OpenCore. `preferred`
**Need `Clover Patches/ Comprehensive Patch Changed Its Name To.plist`** if Clover.
Look up `_PTS` and `_WAK` and only apply the corresponding patches:
`_PTS` is `NotSerialized` in my DSDT
`_WAK` is `Serialized` in my DSDT
- ***SSDT-PTSWAK*** —— Comprehensive Patch。
- ***SSDT-EXT3-LedReset-TP*** — `EXT3` extension patch. Solve the problem that the breathing light does not return to normal after the TP machine wakes up。
- ***SSDT-EXT4-WakeScreen*** — `EXT4` extension patch. Solve the problem that some machines need to press any key to light up the screen after waking up. When using, you should inquire whether the `PNP0C0D` device name and path already exist in the patch file, such as` _SB.PCI0.LPCB.LID0`. If not, add it yourself.
> ### SSDT-SBUS
Why?: `0x001F0004` under Device (SBUS).
> ### SSDT-DMAC
Why?: `PNP0200` is missing in DSDT.
> ### SSDT-MCHC
Why?: `MCHC` is missing in DSDT.
> ### SSDT-PMCR
Why?: `PMCR`,` APP9876` missing in DSDT.
> ### SSDT-PWRB
Why?: `PNP0C0C` missing in DSDT.
> ### SSDT-ALS0
Why?: `ACPI0008` missing in DSDT.
> ### SSDT-GPRW
Why?: Fix instant wake by hooking GPRW (0D/6D Patch)